- PR -

xsl出力ファイルのインデント

投稿者投稿内容
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-07-13 12:38
初めて xslを触るもので、質問の仕方やお出しする情報に
不備があればご指摘いただきたいと思います。

質問ですが、xslの最初に
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
のように、indent="yes" にしておけば、出力ファイルは
自動的にインデントされる思うのですが、
なぜか、全て左詰めで出力されます。

どのあたりがいけないのか教えていただけますでしょうか。

よろしくお願いいたします。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-07-13 14:48
こんにちは。

引用:

なぜか、全て左詰めで出力されます。


タブやスペースを入れてくれるかどうかは XSLT のプロセッサ次第でしょうから、これはこれで正しいと思います。
Jumpin' Jack Flashさんの場合は、お使いのプロセッサが改行コードしか入れてくれなかったので左詰めの出力が得られたということです。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-07-13 15:25
お返事、ありがとうございます。

私が使っているXSLTプロセッサの仕様なのですね。
設定でタブを挿入するようにできたりするのでしょうか?
それも私が使っているXSLTプロセッサ次第ですよね。

はて?私が使っているXSLTプロセッサはなんだろう?
私が使っているXSLTプロセッサの調べ方を教えていただけ
ないでしょうか?

WindowsXP、Eclipse上からAntで実行しています。
<style basedir="${taglib.xml}" destdir="${meta.dir}" extension=".tld"
style="${xsl.dir}/tld.xsl" includes="*.xml" />

よろしくお願いいたします。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-07-13 15:55
http://www.infoteria.com/jp/contents/xml-data/REC-xslt-19991116-jpn.htm#misc-func
12.4 その他の追加の関数
関数: object system-property(string)
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-07-13 16:29
コメントありがとうございました。

xsl:version:1.0
xsl:vendor:Apache Software Foundation (Xalan XSLTC)
xsl:vendor-url:http://xml.apache.org/xalan-j
でした。

タブでインデントすることはできますか?
どのように設定すればよいのでしょうか?
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-07-13 17:38
厳密には、どこが 混合内容か 知らないと出来ません
スキーマが必要。
混合内容が無いなら、先祖軸のカウントで階層数は分かるでしょう。
==================
と言うより、xml エディタで出力を開いて見る、xml-mode を使う

済むと思いますが、表示形式は 生テキスト,グリッド,TREE を切り替えできます。

インデント出力を作らなくとも、eclipse には xml エディタのプラグインもあるし

[ メッセージ編集済み 編集者: MMX 編集日時 2006-07-13 18:02 ]
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-07-14 15:20
せっかくご説明いただきましたが、
私の無知のせいで、意味が理解できません。
申し訳ございません。
しかし、簡単にはできなさそうだということは
理解できました。

例えば、XSLTプロセッサを別のもの(タブインデント可)
に替えることはできるのでしょうか。

引用:

と言うより、xml エディタで出力を開いて見る、xml-mode を使う

済むと思いますが、表示形式は 生テキスト,グリッド,TREE を切り替えできます。

インデント出力を作らなくとも、eclipse には xml エディタのプラグインもあるし



表示の問題だけですので、気にすることでもないのですが、
出力したファイルは、ソースファイルの範囲内なので、
整形されていることが望ましいです。

"望ましい"なので、XSLTプロセッサを別のものに替えること
が簡単にできないようでしたら、諦めます。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-07-14 15:51
ueです。

過去ログに xalan で字下げを実現する方法が出てました。
xml出力のインデントについて

リンク先の方法でいかがでしょう。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島

スキルアップ/キャリアアップ(JOB@IT)