我试图复制一个包含属性和节点的xml文档。输出不包含属性。fi.xml是输入,test.xsl进行转换(xsl需要模式)。谢谢。

f1.xml
<test attr="val">
  <subtest attr2="val2"/>
</test>

test.xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <xsl:copy>
      <xsl:apply-templates select="document('f1.xml')" mode="abc"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/ | @* | node()" mode="abc">
    <xsl:copy>
      <xsl:apply-templates mode="abc"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

output:
<?xml version="1.0" encoding="UTF-8"?><test>
  <subtest/>
</test>

最佳答案

样式表看起来很奇怪,但是尝试将xsl:apply-templates更改为:

<xsl:apply-templates mode="abc" select="@*|node()"/>

关于xml - 复制具有属性的xml文档,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9485385/

10-10 18:31
查看更多