353 Stimmen

Prüfen, ob ein String in XSLT null oder leer ist

Wie kann ich prüfen, ob ein Wert null oder leer ist mit XSL ?

Zum Beispiel, wenn categoryName leer ist? Ich verwende eine bei der Auswahl konstruieren.

Zum Beispiel:

<xsl:choose>
    <xsl:when test="categoryName !=null">
        <xsl:value-of select="categoryName " />
    </xsl:when>
    <xsl:otherwise>
        <xsl:value-of select="other" />
    </xsl:otherwise>
</xsl:choose>

1voto

Pedro Pereira Punkte 460

Ich fand es eigentlich besser nur für String-Länge zu testen, da viele Male das Feld nicht null ist, nur leer

<xsl:when test="string-length(field-you-want-to-test)<1">

0voto

dr_leevsey Punkte 335

Meiner Erfahrung nach ist das der beste Weg:

<xsl:when test="not(string(categoryName))">
    <xsl:value-of select="other" />
</xsl:when>
<otherwise>
    <xsl:value-of select="categoryName" />
</otherwise>

0voto

Jaroslav Kubacek Punkte 1349

Einfachen Kategorienamen/Text() verwenden Dieser Test funktioniert gut bei <categoryName/> und auch <categoryName></categoryName> .

<xsl:choose>
    <xsl:when test="categoryName/text()">
        <xsl:value-of select="categoryName" />
    </xsl:when>
    <xsl:otherwise>
        <xsl:value-of select="other" />
    </xsl:otherwise>
</xsl:choose>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X