- PR -

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

投稿者投稿内容
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-07-14 16:33
単品なら xmlエディタで開いて、メニュー コマンド 整形(prety-print)
をたたいて、インデントしたテキスト は得られます。
長い段落の 折り返し改行は入らないのが普通です、
ワープロのような整形はしない。表示はするが

エディタ内蔵のxsltプロセッサは method="xml" では インデントする
method="html" では インデントしない。
msxml の transform は method="xml" では 改行のみ
method="html" では 改行もしない。

と言うわけで、もう一段 自力インデント挿入の xslt処理をしないとダメでは
indent="yes" を頼らずに
------------------------------------------
xml の整形出力は、定番の学習課題で、検索するとソースは多数出ます。
(SGML以来の Util ソフトも あるので、xslt で??でも、困りません)

[ メッセージ編集済み 編集者: MMX 編集日時 2006-07-16 00:55 ]
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-07-14 16:54
引用:

ueさんの書き込み (2006-07-14 15:51) より:
過去ログに xalan で字下げを実現する方法が出てました。
xml出力のインデントについて



ここに紹介されている方法で、タブではないですが
スペースでインデントできました。
とりあえず、見た目には問題ありません。
ありがとうございました。

ところで、XSLプロセッサがXalanでない場合、どのような
挙動になるのでしょうか。無視されるだけならよいですが。

引用:

MMXさんの書き込み (2006-07-14 16:33) より:
と言うわけで、もう一段 自力インデント挿入の xslt処理をしないとダメでは
indent="yes" を頼らずに



詳細なご説明、ありがとうございました。
インデントのためにもう一段階作業を追加したくはなく、
また、xsltで処理する技術もないので、
今回は、xalanの拡張属性を使う方向で考えています。


それから、<?xml version="1.0" encoding="UTF-8"?>
と、ボディとなるタグの間に4行ほど改行が入るのですが、
これは、xslファイルの書き方が悪いのでしょうか?
ここの改行は1行だけ空けたいのですが、できますか?

よろしくお願いいたします。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-07-14 22:47
引用:

Jumpin' Jack Flashさんの書き込み (2006-07-14 16:54) より:

ところで、XSLプロセッサがXalanでない場合、どのような
挙動になるのでしょうか。無視されるだけならよいですが。


断言はできませんが、xalan という接頭辞でネームスペースが定義されているようなので、別のプロセッサで同名の属性が違う意味を持っていたとしても無視してくれるんじゃないですかね。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-07-14 22:53
XMLをソースの一部とするなら、Eclipseを使っている事ですし、
単純なフォーマットコマンドでフォーマットするのがいいと思います。
あと、xmllintを使うのも簡単かもしれません。
(プログラマブルに使う必要はないのですよね?)

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