我见过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>
答案 0 :(得分:2)
Per Martin的链接显示,此特殊行为是 Saxon 中的StandardCollectionURIResolver
原生的,它将?select=*.xml;recurse=yes
解释为查询字符串,其中select
提供文件通配和recurse
提供自动目录递归。