この XML ドキュメントを変換しようとしています:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<data>
<entry>
<databit>30.11.2012</databit>
<databit>Foo</databit>
<databit>Key: Value<br />Key: Value<br /> ... Key: Value</databit>
<databit>some Foo content</databit>
<databit>more Foo content</databit>
</entry>
<entry>
...
</entry>
...
</data>
キーと値のペアの数は可変です。セパレーターは常に<br />
タグです。
出力は次のようになります。
<data>
<entry>
<date>30.11.2012</date>
<title>Foo</title>
<info>
<part key="Key" value="Value" />
<part key="Key" value="Value" />
<part key="Key" value="Value" />
</info>
<databit>some Foo content</databit>
<databit>more Foo content</databit>
</entry>
<entry>
...
</entry>
...
</data>
私が書いた XSLT ドキュメントは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<data>
<xsl:for-each select="/data/entry">
<entry>
<date>
<xsl:value-of select="databit[1]"/>
</date>
<title>
<xsl:value-of select="databit[2]"/>
</title>
<info>
<xsl:value-of select="databit[3]"/>
</info>
<category>
<xsl:value-of select="databit[4]"/>
</category>
<status>
<xsl:value-of select="databit[5]"/>
</status>
</entry>
</xsl:for-each>
</data>
</xsl:template>
</xsl:stylesheet>
しかし、私は . を変換する方法がわかりませんinfo
。