如何解决撒克逊人:属性顺序如何工作?
我正在尝试使用序列化参数“saxon:attribute-order”对标签的属性进行重新排序,但我无法使其正常工作,我缺少什么?
源文件:
<?xml version="1.0"?>
<list>
<span class="pagebreak" name="1" title="ONE">Test</span>
<span class="nobreak" name="X" title="X">Test</span>
<span class="pagebreak" name="2" title="TWO">Test</span>
<span class="pagebreak" name="3" title="THREE">Test</span>
<span class="pagebreak" name="4" title="FOUR">Test</span>
<span class="nobreak" name="Y" title="Y">Test</span>
<span class="pagebreak" name="5" title="FIVE">Test</span>
</list>
XSL:
<?xml version="1.0"?>
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:saxon="http://saxon.sf.net/"
exclude-result-prefixes="saxon">
<xsl:output method="xml" indent="yes" saxon:attribute-order="title name class * xml:space"/>
<xsl:template match="/">
<xsl:apply-templates select="*/span[contains(@class,'pagebreak')]" />
</xsl:template>
<xsl:template match="*/span[contains(@class,'pagebreak')]">
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<span class="pagebreak" name="1" title="ONE">Test</span>
<span class="pagebreak" name="2" title="TWO">Test</span>
<span class="pagebreak" name="3" title="THREE">Test</span>
<span class="pagebreak" name="4" title="FOUR">Test</span>
<span class="pagebreak" name="5" title="FIVE">Test</span>
解决方法
您向我们展示的代码没有任何问题,所以问题出在您没有向我们展示的地方...
也许您正在使用无法识别扩展属性的 Saxon-HE。
也许您要将输出发送到序列化程序以外的目的地?
从命令行尝试使用 -t 选项,看看它是否有效,然后我们可以从那里获取它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。