56

簡単な質問:属性(@type!='x')に一致しないが、属性も存在しない(??)すべてのノードを選択したいと思います。他のノードには属性がまったくないため、現在、何も返されていません。

背景:私はいくつかのXMLを持っています。1つにはtype="feature"がありますが、他のすべてには'type'attrがないことに注意してください。

<image type="feature"><description>X</description><url>media/designer_glass_tile_04.jpg</url><height></height><width/></image>
<image><description>Designer Glass 05</description><url>media/designer_glass_tile_05.jpg</url><height></height><width/></image>
<image><description>Designer Glass 06</description><url>media/designer_glass_tile_06.jpg</url><height></height><width/></image>
<image><description>Designer Glass 07</description><url>media/designer_glass_tile_07.jpg</url><height></height><width/></image>
<image><description>Designer Glass 08</description><url>media/designer_glass_tile_08.jpg</url><height></height><width/></image>

そしてXSLスタイル:

        <div id="gallery">
            <div id="feature" >
                <xsl:apply-templates select="image[@type='feature']"/>
            </div>
            <div id="thumbs">
                <xsl:apply-templates select="image[@type!='feature']"/>
            </div>
        </div>
4

2 に答える 2

100

次のコードは、type属性が存在しないすべてのノードを選択します。

select="image[not(@type)]"

このロジックをコードに追加します。

于 2012-12-10T19:30:30.080 に答える
14

述語not()の代わりに使用してみてください...!=

   <div id="gallery">
        <div id="feature" >
            <xsl:apply-templates select="image[@type='feature']"/>
        </div>
        <div id="thumbs">
            <xsl:apply-templates select="image[not(@type='feature')]"/>
        </div>
    </div>
于 2012-12-10T19:55:24.280 に答える