English | Français | >> Deutsch << | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Seite 43 << | Zurück | Vor | Inhalt | Element-Index

In XSLT Stylesheet 1 sind Zeichenketten Argumentte der boolean() Funktion. Eine zeichenkette ist wahr, wenn seine L?nge nicht null ist. In XSLT Stylesheet 2 wurde der Text in Zahlen umgewandelt und dann an die boolean() Funktion weiter gegeben. XSLT Stylesheet 3 vergleicht "0" als eine Zeichenkette und als Zahl. XSLT Stylesheet 4 benutzt eine Knotensamlung als Argument für eine boolean() Funktion.

XSLT Stylesheet 1

XML Quelltext
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Ausgabe
<TABLE border="1">
  <TR>
     <TH>text</TH>
     <TH>boolean</TH>
  </TR>
  <TR>
     <TD>124</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>AB234</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>-16</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>0</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD/>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>false</TD>
     <TD>true</TD>
  </TR>
</TABLE>

HTML-Ansicht
text boolean
124 true
AB234 true
-16 true
0 true
false
false true
XSLT Stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>text</TH>
               <TH>boolean</TH>
          </TR>
          <xsl:for-each select="//text">
               <TR>
                    <TD>
                         <xsl:value-of select="."/>
                         <xsl:text/>
                    </TD>
                    <TD>
                         <xsl:value-of select="boolean(text())"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


XSLT Stylesheet 2

XML Quelltext
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Ausgabe
<TABLE border="1">
  <TR>
     <TH>text</TH>
     <TH>number</TH>
     <TH>boolean</TH>
  </TR>
  <TR>
     <TD>124</TD>
     <TD>124</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>AB234</TD>
     <TD>NaN</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>-16</TD>
     <TD>-16</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>0</TD>
     <TD>0</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD/>
     <TD>NaN</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>false</TD>
     <TD>NaN</TD>
     <TD>false</TD>
  </TR>
</TABLE>

HTML-Ansicht
text number boolean
124 124 true
AB234 NaN false
-16 -16 true
0 0 false
NaN false
false NaN false
XSLT Stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>text</TH>
               <TH>number</TH>
               <TH>boolean</TH>
          </TR>
          <xsl:for-each select="//text">
               <TR>
                    <TD>
                         <xsl:value-of select="."/>
                         <xsl:text/>
                    </TD>
                    <TD>
                         <xsl:value-of select="number(text())"/>
                         <xsl:text/>
                    </TD>
                    <TD>
                         <xsl:value-of select="boolean(number(text()))"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


XSLT Stylesheet 3

XML Quelltext
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Ausgabe
<P>The boolean value of "0" is <B>true</B> if "0" is a string, but <B>false</B> if "0" is a number.</P>

HTML-Ansicht

The boolean value of "0" is true if "0" is a string, but false if "0" is a number.

XSLT Stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <P>
          <xsl:text>The boolean value of "0" is </xsl:text>
          <B>
               <xsl:value-of select="boolean(//text[text()='0'])"/>
          </B>
          <xsl:text> if "0" is a string, but </xsl:text>
          <B>
               <xsl:value-of select="boolean(number((//text[text()='0'])))"/>
          </B>
          <xsl:text> if "0" is a number.</xsl:text>
     </P>
</xsl:template>


</xsl:stylesheet>


XSLT Stylesheet 4

XML Quelltext
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Ausgabe
<TABLE border="1">
  <TR>
     <TH>node-set</TH>
     <TH>boolean</TH>
  </TR>
  <TR>
     <TD>/</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>//text</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>//number</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>//text[23]</TD>
     <TD>false</TD>
  </TR>
</TABLE>

HTML-Ansicht
node-set boolean
/ true
//text true
//number false
//text[23] false
XSLT Stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>node-set</TH>
               <TH>boolean</TH>
          </TR>
          <TR>
               <TD>
                    <xsl:text>/</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(/)"/>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:text>//text</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(//text)"/>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:text>//number</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(//number)"/>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:text>//text[23]</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(//text[23])"/>
               </TD>
          </TR>
     </TABLE>
</xsl:template>


</xsl:stylesheet>