【发布时间】:2023-02-23 21:00:23
【问题描述】:
如何使用xslt获取多个文件名
我正在使用收集功能
<xsl:for-each select="collection('file:///D:/Xlst/Session 06/05-collection/?select=*.xml;recurse=yes')">
【问题讨论】:
标签: xslt
如何使用xslt获取多个文件名
我正在使用收集功能
<xsl:for-each select="collection('file:///D:/Xlst/Session 06/05-collection/?select=*.xml;recurse=yes')">
【问题讨论】:
标签: xslt
鉴于您使用的 collection 的查询参数是特定于 Saxon 的,我假设您使用的是某些版本的 Saxon。自 9.8/2017 以来,Saxon 支持具有 XPath 3.1 函数的 XSLT 3.0,其中您还具有一个函数 uri-collection,因此它可能更易于使用
<xsl:for-each select="uri-collection('file:///D:/Xlst/Session 06/05-collection/?select=*.xml;recurse=yes')">
<xsl:message expand-text="yes">Current URI: {.}; file name: {tokenize(., '/')[last()]}</xsl:message>
..
<xsl:apply-templates select="doc(.)"/>
..
</xsl:for-each>
但是您没有详细解释您要查找的文件名以及您发布的代码如何失败或使用该集合。
【讨论】: