[xsl] side effects when debugging

Subject: [xsl] side effects when debugging
From: "Nick Laqua" <Nick.Laqua@xxxxxxxxxxx>
Date: Tue, 12 Aug 2003 17:35:22 +0200
> Hi everybody,
> 
> I hope I don't mention a known problem though I checked the xsl faq and the list archives.
> 
> I experienced strange behaviour depending on the debug settings of the processor (see processor version below).
> 
Vendor: Apache Software Foundation
Vendor URL: http://xml.apache.org/xalan-j



> I am using the following stylesheet:
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";> 
>   
> 
>   <xsl:output method="xml" version="1.0" indent="yes"/>
> 
>   <xsl:template match="D">
>       <xsl:for-each select="A">
>       	<xsl:sort select="POSITION" data-type="number" order="ascending"/>
>       	<xsl:element name="PositionNr">
>         	       <xsl:value-of select="POSITION"/>
>       	</xsl:element>  
>       </xsl:for-each>
>   </xsl:template>    
> </xsl:stylesheet>
> 
> 
> 
> The input file looks like this:
> 
> <?xml version = "1.0" encoding = "ISO-8859-1"?>
> <D>
> 	<A>
> 	   <POSITION>5</POSITION>
> 	   <ACTION>1</ACTION>
> 	</A>   	
> 	<A>
> 	   <POSITION>1</POSITION>
> 	   <ACTION>1</ACTION>
> 	</A>   	
> 	<A>
> 	   <POSITION>3</POSITION>
> 	   <ACTION>1</ACTION>
> 	</A>   	
> </D>
> 
> 
> Without debugging options (command line inline), the result looks like this (obviously correct):
> 
> t:/Programme/JRE/1.4.1/bin/java.exe -cp d:/cvsworking/nl/dev/classes/xalan.jar 
>     org.apache.xalan.xslt.Process -in d:/cvsworking/nl/dev/java/newtron/system/impl/a2a/std/ressources/mapping/test/xml/test_sort.xml 
>     -xsl d:/cvsworking/nl/dev/java/newtron/system/impl/a2a/std/ressources/mapping/test/xslt/test_sort.xslt
> <?xml version="1.0" encoding="UTF-8"?>
> <PositionNr>1</PositionNr>
> <PositionNr>3</PositionNr>
> <PositionNr>5</PositionNr>
> 
> 
> But enabling debugging (for instance trace selection events = -TS), the result is different (though using the same input):
> 
> t:/Programme/JRE/1.4.1/bin/java.exe -cp d:/cvsworking/nl/dev/classes/xalan.jar 
>     org.apache.xalan.xslt.Process -TS -in d:/cvsworking/nl/dev/java/newtron/system/impl/a2a/std/ressources/mapping/test/xml/test_sort.xml
>      -xsl d:/cvsworking/nl/dev/java/newtron/system/impl/a2a/std/ressources/mapping/test/xslt/test_sort.xslt
> <?xml version="1.0" encoding="UTF-8"?>
> <PositionNr>1</PositionNr>
> <PositionNr>3</PositionNr>
> <PositionNr>5</PositionNr>
> <PositionNr>5</PositionNr>
> <PositionNr>1</PositionNr>
> <PositionNr>3</PositionNr>
> 
> 
> As you can see, in the second case, firstly all nodes are sorted correctly, but additional the same nodes are added in document order.
> 
> Is this a "design mistake" by me or a bug/something specific to xalan ? In this case, I might post it to some xalan list.
> 
> 
> Thx a lot in advance
> 
> Cheers Nick

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread