Announcement

Collapse
No announcement yet.

if Abfrage auswerten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • if Abfrage auswerten

    Hallo,

    erstmal habe ich folgendes XML Dokument:

    Code:
    <?xml version="1.0"?>
    <root>
      <Header>
        <TestEngineer>Max Mustermann</TestEngineer>
        <SoftwareVersion>2.3.45</SoftwareVersion>
        <HardwareVersion>0.5b</HardwareVersion>
      </Header>
      <TestReport TestName="Stack Test Overflow">
        <TimeStamp>20.07.2009 15:40:37</TimeStamp>
        <Success>true</Success>
        <Description>Stack overflow detection is working correct</Description>
      </TestReport>
      <TestReport TestName="Stack Test Underflow">
        <TimeStamp>20.07.2009 15:40:40</TimeStamp>
        <Success>false</Success>
        <Description>Stack underflow detection is not working correct</Description>
      </TestReport>
    </root>
    Ich wil nun in meiner XSLT ein Bild (grünes Häkchen) anzeigen wenn <Success> true ist und ein anderes Bild (rotes X) anzeigen lassen wenn <Success> false ist.

    Wie mache ich eine solche if Abfrage auf dieses XML Element. Es ist ja im Prinzip nur ein normales Text Element und nicht direkt als bool deklariert...

    Gruß,
    viper

  • #2
    Prüfe entweder den konkreten String oder nutze die boolean()-Funktion:

    Code:
    <xsl:choose>
      <xsl:when test="Success='true'">
        <img src="green.png" alt="..."/>
      </xsl:when>
      <xsl:otherwise>
        <img src="red.png" alt="..."/>
      </xsl:otherwise>
    </xsl:choose>

    Code:
    <xsl:choose>
      <xsl:when test="boolean(Success)">
        <img src="green.png" alt="..."/>
      </xsl:when>
      <xsl:otherwise>
        <img src="red.png" alt="..."/>
      </xsl:otherwise>
    </xsl:choose>

    Comment


    • #3
      Danke, es hat funktioniert! Allerdings nur mit der Stringüberprüfungsmethode.

      Mit der boolean Funktion hat er immer auf WAHR entschieden obwohl eindeutig auch false im <Success> steht.

      Comment


      • #4
        Ok, gemeint war test="xs:boolean(Success)" unter XSLT/XPath 2.0.

        Comment

        Working...
        X