- PR -

XMLからXSLを使用してXMLへの変換の際に横に並ぶ

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/03/08
投稿数: 7
投稿日時: 2008-02-29 03:37
環境 j2sdk1.6

test.xml
<?xml version="1.0" encoding="UTF-8" ?>
<booklist>
<book>
<name>aaaa</name>
<price>2000</price>
</book>
<book>
<name>bbbb</name>
<price>2000</price>
</book>
</booklist>

このxmlファイルを

test.xsl

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" encoding="UTF-8" />
<xsl:template match="name">
<name><xsl:apply-templates /></name>
</xsl:template>
<xsl:template match="/">
<booklist>
<xsl:apply-templates select="/booklist/book/name" />
</booklist>
</xsl:template>
</xsl:stylesheet>

を使用して新しいxmlファイルを作成しようとしています

期待していた形
<?xml version="1.0" encoding="UTF-8"?>
<booklist>
<name>aaaa</name>
<name>bbbb</name>
</booklist>

実際出てきたファイル
<?xmlversion="1.0"encoding="UTF8"?><booklist><name>aaaa</name><name>bbbb</name></booklist>

上記のように横にずらずら出てしまいます

Javaのコードは

TransformerFactory sf = TransformerFactory.newInstance();
Transformer t = sf.newTransformer(new StreamSource("test.xsl"));
t.transform(new StreamSource("test.xml"),new StreamResult("test2.xml"));

となっています
どうしたら整形されたxmlファイルを作成できるのでしょうか?
以上よろしくお願いします

未記入
会議室デビュー日: 2007/03/08
投稿数: 7
投稿日時: 2008-02-29 05:17
xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xslt">
<xsl:output method="xml"
encoding="UTF-8"
indent="yes"
xalan:indent-amount="2"/>
xslに上の要素を入れたところ意図した通りに出力されました
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2008-02-29 10:39
xmlエディターを導入して、それで 結果を見たほうが
xpath を使った 検索もできますし。
整形機能も 付いてます。
1

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