[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Problem with xsl:if
Subject: RE: [xsl] Problem with xsl:if From: "Josh Canfield" <Josh.Canfield@xxxxxxxxxxxx> Date: Wed, 21 Apr 2004 09:37:50 -0700 |
I would start by outputting the variable you are creating with xsl:copy to see what you are getting. from the xsl you provided I would guess that it's always empty, considering that there are no 'jkuPeBeschSAP22SLART' attr-name attributes.... You are also using // which is short for /descendant-or-self::node()/, which starts its search from the beginning of the document, and would return all nodes in the document that matched your criteria. Try something like: <xsl:variable name="slabs" select="../add-attr[@attr-name='jkuSLABS']"/> Josh -----Original Message----- From: Gerald Fingerlos [mailto:gerald@xxxxxxxxxxxx] Sent: Wednesday, April 21, 2004 9:05 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] Problem with xsl:if I have the following XML Document: <?xml version="1.0" encoding="UTF-8"?> <input> <add class-name="User"> <add-attr attr-name="jkuSLABS"> <value>90</value> </add-attr> <add-attr attr-name="jkuSLART"> <value>50</value> </add-attr> <add-attr attr-name="jkuPeHabd"> <value type="string">7777-33-11</value> </add-attr> </add> </input> What Id like to to is the get an output document which should contain the <add-attr attr-name="jkuPeHabd"> <value type="string">7777-33-11</value> </add-attr> only, if the jkuSLABS=90 AND jkuSLART=50. Otherwise the 3 lines should be omitted. I thought of the following, but I think I am misunderstanding something: <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="*[@attr-name='jkuPeHabd']"> <xsl:variable name="slart" select="//*[@attr-name='jkuPeBeschSAP22SLART']//value"/> <xsl:variable name="slabs" select="//*[@attr-name='jkuPeBeschSAP22SLABS']//value"/> <xsl:if test="($slart!='50') or ($slabs!='90')"> </xsl:if> </xsl:template> As far as I can see the if never gets true, but still if it would be true, I would need some "else" operation. Maybe you can give me a hint how to solve this. Thank you in advance, Gerald
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Problem with xsl:if, Andreas L. Delmelle | Thread | [xsl] outputting <? in resulting XM, Jasthi, Siva R. |
Re: [xsl] XML Group with XSL, Mukul Gandhi | Date | RE: [xsl] Dmoz xml structure sort, John Hamman |
Month |