Gibt es eine XSL-"enthält"-Direktive?

Ich habe den folgenden Ausschnitt von 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>

Die if-Anweisung funktioniert nicht, weil ich die Syntax für enthält nicht erarbeiten konnte. Wie würde ich das xsl:if richtig ausdrücken?

Antwort auf "Gibt es eine XSL-"enthält"-Direktive? " 6 von antworten

Es sollte so etwas wie...

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

(nicht getestet)

Siehe w3schools (always a good reference BTW) (immer eine gute Referenz BTW)

Sicher gibt es! Zum Beispiel:

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

Die Syntax ist: contains(stringToSearchWithin, stringToSearchFor)

es gibt in der Tat eine xpath enthält Funktion sollte es etwa aussehen:

<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>

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

Von Zvon.org XSLT Reference: :

XPath function: boolean contains (string, string) 

Hoffnung, das hilft.

Verwenden Sie die Standard-Funktion XPath function contains(). .

Funktion : boolesche enthält (String, String)

Die contains function returns true if the first argument string contains the second argument string, and otherwise returns false Funktion gibt true zurück, wenn die erste Argumentzeichenfolge die zweite Argumentzeichenfolge enthält und ansonsten falsches

zurückgibt.