Subject: [xsl] Problem with XPath in my XSL From: "Christian Barth" <christian@xxxxxxxxxxxxx> Date: Mon, 23 Jan 2006 15:48:53 +0100 |
Hi! I use the XPath-Operator "and" to test some variables in a xsl:choose. See the code: <xsl:template match="ergebnis"> <xsl:for-each select="objekt"> <xsl:variable name="bau" select="bauvorhaben"></xsl:variable> <xsl:variable name="geb" select="gebaeude"></xsl:variable> <xsl:variable name="stock" select="stockwerk"></xsl:variable> <xsl:variable name="NZ" select="nutzungszone"></xsl:variable> <xsl:variable name="raum" select="raum"></xsl:variable> <tr> <td align="center"><b><xsl:value-of select='@id'/></b></td> <xsl:choose> <!-- A-SUCHE --> <xsl:when test="$typ = 'A'"> <xsl:choose> <!-- F|r Elemente, die auf Gebaeude-Ebene liegen --> <xsl:when test="$geb != '' and $stock = '' and $NZ = '' and $raum = ''"> <td>Gebaeude "<xsl:value-of select="$geb" />" in Bauvorhaben "<xsl:value-of select="$bau" />"<p></p> Elemente kvnnten f|r Sie von Interesse sein:<br></br> <xsl:for-each select="*"> <xsl:choose> <xsl:when test="local-name() = 'gebTrennwaende'"> <xsl:call-template name="Datenanzeige"> <xsl:with-param name="element" select="gebTrennwand" /> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:for-each> </td> </xsl:when> <!-- F|r Elemente, die auf Stockwerk-Ebene liegen --> ------------------------------------------------------------------- <!-- THIS TEST SHOULD BE TRUE --><xsl:when test="$stock != '' and $NZ = '' and $raum = ''"> ------------------------------------------------------------------- <td>Stockwerk "<xsl:value-of select="$stock" />" von Gebaeude "<xsl:value-of select="gebaeude" />" in Bauvorhaben "<xsl:value-of select="bauvorhaben" />"<p></p> Elemente kvnnten f|r Sie von Interesse sein:<br></br> <xsl:for-each select="*"> <xsl:choose> <xsl:when test="local-name() = 'rettungswege'"> <xsl:call-template name="Datenanzeige"> <xsl:with-param name="element" select="rw" /> </xsl:call-template> </xsl:when> <xsl:when test="local-name() = 'trennwaende'"> <xsl:call-template name="Datenanzeige"> <xsl:with-param name="element" select="trennwand" /> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:for-each> </td> </xsl:when> <xsl:otherwise> <td>Gebaeude "<xsl:value-of select="$geb" />" in Bauvorhaben "<xsl:value-of select="$bau" />"</td> </xsl:otherwise> </xsl:choose> <td align="center"><b><xsl:value-of select="gesamtSim" /></b></td> </xsl:when> <!-- B-SUCHE --> <xsl:when test="$typ = 'B'"> <td><xsl:value-of select="@typ" /> "<xsl:value-of select="bezeichnung" />" aus Bauvorhaben "<xsl:value-of select="bauvorhaben" />" in Gebaeude "<xsl:value-of select="gebaeude" />"</td> <td align="center"><b><xsl:value-of select="gesamtSim" /></b></td> </xsl:when> <!-- C-SUCHE --> <xsl:when test="$typ = 'C'"> noch </xsl:when> <xsl:otherwise> noch </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </xsl:template> In the XML-doc used for testing this stuff, there are only the Tags <gebaeude> and <stockwerk>. So the other variables are empty. The xsl-processor should than enter the bold "when-clause". But it always goes to the otherwise-Tag. I just don't see why? Can anybody help me please? Thanks, Barthi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] looping over a string?, Ragulf Pickaxe | Thread | Re: [xsl] Problem with XPath in my , David Carlisle |
Re: [xsl] keeping text together in , Matthew L. Avizinis | Date | Re: [xsl] Problem with XPath in my , David Carlisle |
Month |