【发布时间】:2020-11-12 18:29:00
【问题描述】:
以xsd格式对XML进行升序排序
由于 XML 中的 xsd 格式,我的 xslt 解决方案无法正常工作。 xsd的情况下必须使用什么?
这是我的 XML 输入:
<?XML version="1.0" encoding="utf-8"?>
<test xmlns="tempuri.org/Test.xsd">
<customer>
<number>
4
</number>
<number>
1
</number>
<number>
7
</number>
</customer>
</test>
我尝试了什么:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="w3.org/1999/XSL/Transform">
<xsl:template match="/*">
<xsl:copy>
<xsl:apply-templates>
<xsl:sort select="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
我期望的输出:
<?XML version="1.0" encoding="utf-8"?>
<test xmlns="tempuri.org/Test.xsd">
<customer>
<number>
1
</number>
<number>
4
</number>
<number>
7
</number>
</customer>
</test>
【问题讨论】:
-
您混淆了 XSD 和命名空间。请参阅:stackoverflow.com/questions/34758492/…