在xslt字符串中'。?select = * .xml; recurse = yes'的含义是什么?

时间:2018-04-29 21:02:08

标签: xslt

我见过Michael Kay用一个如下所示的模板回应XSL问题。

我想知道传递给collection()的字符串的语法在哪里?我尝试使用递归搜索XSL规范以获得某种通配符模式但是空洞。

<xsl:template name="main">
  <xsl:for-each select="collection('.?select=*.xml;recurse=yes')">
    <xsl:result-document href="out/{tokenize(document-uri(.), '/')[last()]">
      <xsl:apply-templates select="."/>
    </xsl:result-document>
  </xsl:for-each>
</xsl:template>

1 个答案:

答案 0 :(得分:2)

Per Martin的链接显示,此特殊行为是 Saxon 中的StandardCollectionURIResolver原生的,它将?select=*.xml;recurse=yes解释为查询字符串,其中select提供文件通配和recurse提供自动目录递归。