选择要由XSLT样式表处理的文件

时间:2015-08-06 20:47:14

标签: xml xslt xpath

我有一组XML文件,但我想只处理其中的一些。不确定这是否可以使用XSLT,但有没有办法通过样式表选择要处理的文件?例如,我想避免创建与XPath表达式//terms:identifier[text()='someID']不匹配的文件副本。

示例XML:

   <root>
    <wrapper xmlns:terms="http://terms.example.com">
      <terms:trid>somevalue</terms:trid>
      <terms:identifier>someID</terms:identifier>
      <foo:bar>somevalue</foo:bar>
    </wrapper>
   </root>

我尝试了以下操作,但我得到了不需要的文件的空副本。

<xsl:template match="@*|node()">
  <xsl:choose>
    <xsl:when test="//terms:identifier[text()='someID']" />
    <xsl:otherwise>
      <xsl:copy>
        <xsl:apply-templates select="@*|node()" />
      </xsl:copy>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

1 个答案:

答案 0 :(得分:0)

collection('file:my/folder?select=*.xml')[not(//terms:identifier[text()='someID‌​']‌​)]