Subject: [xsl] Predicate Evaluation From: "Fernando Ribeiro" <webmaster@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 26 Nov 2007 12:03:11 -0200 |
Hello, I am trying to find an explanation for the following behavior: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:ns1="urn:ns1" xmlns:ns2="urn:ns2"> <xsl:param name="param1"/> <xsl:param name="param2"/> <xsl:template match="/"> <ns3:Element1 xmlns:ns3="urn:ns3"> <xsl:for-each select="$param1/ns1:Element1"> <ns3:Element2> <xsl:value-of select="$param2/ns2:Element1/ns2:Element2 = ns1:Element2"/> <!-- returns "true" --> </ns3:Element2> <ns3:Element3> <xsl:value-of select="$param2/ns2:Element1[ns2:Element2 = ns1:Element2]/ns2:Element3"/> <!-- returns empty --> </ns3:Element3> </xsl:for-each> </ns3:Element1> </xsl:template> </xsl:stylesheet> Using Saxon 8.4, the expression doesn't evaluate as expected when used as a predicate, unless it is assigned to a variable first: <?xml version=" 1.0 " encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns1="urn:ns1" xmlns:ns2="urn:ns2"> <xsl:param name="param1"/> <xsl:param name="param2"/> <xsl:template match="/"> <ns3:Element1 xmlns:ns3="urn:ns3"> <xsl:for-each select="$param1/ns1:Element1"> <xsl:variable name="variable1" select="ns1:Element2"/> <ns3:Element2> <xsl:value-of select="$param2/ns2:Element1/ns2:Element2 = $variable1"/> <!-- returns "true" --> </ns3:Element2> <ns3:Element3> <xsl:value-of select="$param2/ns2:Element1[ns2:Element2 = $variable1]/ns2:Element3"/> <!-- returns "value1" --> </ns3:Element3> </xsl:for-each> </ns3:Element1> </xsl:template> </xsl:stylesheet> These are the inputs: <ns1:Element1 xmlns:ns1="urn:ns1"> <ns1:Element2>Test</ns1:Element2> </ns1:Element1> <ns2:Element1 xmlns:ns2="urn:ns2"> <ns2:Element2 attribute1="value1">Test</ns2:Element2> <ns2:Element3>value1</ns3:Element3> </ns2:Element1> Can someone tell me why is it so? Thanks, Fernando
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Extract attribute and mak, Deborah Pickett | Thread | Re: [xsl] Predicate Evaluation, David Carlisle |
Re: [xsl] Extract attribute and mak, Deborah Pickett | Date | Re: [xsl] Predicate Evaluation, David Carlisle |
Month |