XSLTバージョン1.0を使用してxmlドキュメントを並べ替えようとしています。
私のXMLは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<testMain>
<test name="test1" enabled="false">
<field name="abc" enabled="false" description="test1">
</field>
<field name="dac" enabled="false" description="test2">
</field>
<field name="aaa" enabled="false" description="test4">
</field>
<field name="cat" enabled="false" description="test3">
</field>
</test>
</testMain>
結果は、名前でソートされた次の形式になります。
<?xml version="1.0" encoding="UTF-8"?>
<testMain>
<test name="test1" enabled="false">
<field name="aaa" enabled="false" description="test4">
</field>
<field name="abc" enabled="false" description="test1">
</field>
<field name="cat" enabled="false" description="test3">
</field>
<field name="dac" enabled="false" description="test2">
</field>
</test>
</testMain>
xsltの私のコードは次のとおりです。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="test">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="field">
<xsl:sort select="name" data-type="text"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
目的の出力が生成されない理由がわかりません。どんな助けでも大歓迎です。
ありがとうございました