Je dois créer un fichier XSL vérifiant une condition "ne contient pas". Par exemple, mon XML est comme ceci:
<Categories>
<category>
<blog>ABC</blog>
<link>http://www.msdn.com</link>
</category>
</Categories>
Je veux montrer tous les <blog>
où <link>
ne contient pas "msdn"
. Je ne veux pas utiliser égaux parce que je veux juste vérifier une partie du lien.
Je ne sais pas exactement quel type de sortie HTML vous souhaitez, mais j'espère que cela vous aidera à démarrer.
<xsl:template match="category">
<xsl:if test="not(contains(link, 'msdn'))">
<a href="{link}">
<xsl:value-of select="blog" />
</a>
</xsl:if>
</xsl:template>
Vous pouvez également inclure le test dans le prédicat de correspondance de modèle (ou le modèle apply-templates):
<xsl:template match="category[not(contains(link, 'msdn'))]">
Utilisez la fonction not avec la fonction contient.
Exemple: not (contient ('XML', 'XM'))
Résultat: faux
Xpath pour xsl: apply-templates ou xsl: value-of devrait contenir les éléments suivants
/Categories/category/blog[not( contains(following-sibling::link/text(), 'msdn'))]