65 votes

Existe-t-il une directive "contient" XSL?

J'ai l'extrait suivant de XSL:

   <xsl:for-each select="item">
    <xsl:variable name="hhref" select="link" />
    <xsl:variable name="pdate" select="pubDate" />
    <xsl:if test="hhref not contains '1234'">
      <li>
        <a href="{$hhref}" title="{$pdate}">
          <xsl:value-of select="title"/>
        </a>
      </li>
    </xsl:if>
  </xsl:for-each>
 

L'instruction if ne fonctionne pas car je n'ai pas été en mesure de déterminer la syntaxe de contient. Comment pourrais-je exprimer correctement que xsl: if?

121voto

Cerebrus Points 18045

Bien sûr il y a! Par exemple:

 <xsl:if test="not(contains($hhref, '1234'))">
  <li>
    <a href="{$hhref}" title="{$pdate}">
      <xsl:value-of select="title"/>
    </a>
  </li>
</xsl:if>
 

La syntaxe est la suivante: contains(stringToSearchWithin, stringToSearchFor)

8voto

Dimitre Novatchev Points 147842

L'utilisation de la norme XPath la fonction contains().

Fonction: boolean contient(string, string)

L' contient la fonction renvoie la valeur true si la première chaîne de l'argument contient la deuxième chaîne de l'argument, et sinon retourne false

7voto

John Hunter Points 2204

il y a bien une fonction contient xpath qui devrait ressembler à ceci:

 <xsl:for-each select="item">
<xsl:variable name="hhref" select="link" />
<xsl:variable name="pdate" select="pubDate" />
<xsl:if test="not(contains(hhref,'1234'))">
  <li>
    <a href="{$hhref}" title="{$pdate}">
      <xsl:value-of select="title"/>
    </a>
  </li>
</xsl:if>
 

3voto

cadrian Points 4102

Ça devrait être quelque chose comme ...

 <xsl:if test="contains($hhref, '1234')">
 

(pas testé)

Voir w3schools (toujours une bonne référence BTW)

2voto

Leandro López Points 1325

De Zvon.org Référence XSLT :

 XPath function: boolean contains (string, string)
 

J'espère que cela t'aides.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X