如何解决使用 CDATA 元素对 xml 中的 uuid 进行排序的 xslt 模板
我有一个 xslt 模板,用于对同一文件中的 uuid 进行排序。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ae="http://www.test.com/ae/types/2009">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="ae:uuid ae:timeZoneId ae:stringId ae:name" standalone="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="uuids">
<xsl:copy>
<xsl:apply-templates select="uuid">
<xsl:sort select="."/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
这是我要解析的 xml 文件,这是大型 xml 文件,我正在复制 xml 文件的根目录,其中包含命名空间和使用 CDATA 修改的元素。
解决方法
如果输入没有
<xsl:template match="uuids">
元素,uuids
没有任何意义。
至于当前示例 cdata-section-elements="ae:value"
将修复 <value><![CDATA[AMNT Get test ]]></value>
元素,但由于您也有 a:value
,其中您有不同的前缀但相同的命名空间我认为 XSLT 输出属性将使您能够区分它们,如果这是您想要的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。