1

ここでの最初の質問ですので、ご容赦ください...

私は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/*)) )"
4

1 に答える 1