这里的第一个问题,请耐心等待...
我通过我们的 CMS 仅限于 XSLT 1.0 :-/
试图创建一个使用 XSL 解析 XML 的站点地图。但是,我需要从显示中排除几个目录,并且真的不想用长管道混淆语法| 测试声明....
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">
**<!-- HAVE ALSO TRIED THIS AS A PARAM -->**
<xsl:variable name="pPaths">
<n>/docs</n>
<n>/files</n>
</xsl:variable>
<xsl:if test="not( starts-with(path, $pPaths) )">
<url>
<loc>http://www.domain.com<xsl:value-of select="path"/></loc>
<changefreq>monthly</changefreq>
</url>
</xsl:if>
在上面的代码中,如果只有 1 'n' 元素,它会正确排除。但是,添加第二个“n”会阻止它完全工作。
我也尝试过这些其他变体,但没有运气:
test="not( starts-with(path, $pPaths/*) )"
test="not( starts-with(path, exsl:node-list($pPaths)) )"
test="not( starts-with(path, exsl:node-list($pPaths/*)) )"