ここでの最初の質問ですので、ご容赦ください...
私はCMS経由でXSLT 1.0に限定されています:-/
XSL で XML を解析する SiteMap を作成しようとしています。しかし、いくつかのディレクトリを表示から除外する必要があり、実際には長いパイプで構文を乱雑にしたくありません。テストステートメント....
<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>
上記のコードでは、「n」要素が 1 つしかない場合、適切に除外されます。ただし、2 番目の「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/*)) )"