You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2001/09/04 22:54:02 UTC

[DO NOT REPLY: Bug 3420] New: xsltc fails conf test position68 problem with position() in for-each

PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3420

*** shadow/3420	Tue Sep  4 13:54:02 2001
--- shadow/3420.tmp.29044	Tue Sep  4 13:54:02 2001
***************
*** 0 ****
--- 1,78 ----
+ +============================================================================+
+ | xsltc fails conf test position68 problem with position() in for-each       |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 3420                        Product: XalanJ2                 |
+ |       Status: NEW                         Version: CurrentCVS              |
+ |   Resolution:                            Platform: All                     |
+ |     Severity: Critical                 OS/Version: All                     |
+ |     Priority: Other                     Component: org.apache.xalan.xsltc  |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: xalan-dev@xml.apache.org                                     |
+ |  Reported By: tamiro@east.sun.com                                          |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ This may be a duplicate, because I'd be surprised if this problem hasn't been 
+ found before. Basically, this test shows that xsltc is returning 1 for the 
+ position of the context node within a for-each loop for every iteration.  
+ Maybe there is something about the match expression that selects the node 
+ set that is unusual.
+ 
+ Here are the details.
+ 
+ Expected Output
+ ---------------
+ <?xml version="1.0" encoding="UTF-8"?>
+ <out>MSFT13,IBM23,Lotus33</out>
+ 
+ 
+ Obtained Output
+ ---------------
+ <?xml version="1.0" encoding="utf-8" ?>
+ <out>MSFT13,IBM13,Lotus13,</out>
+ 
+ Note: the "1" after MSFT, IBM, and Lotus comes from the position() 
+ function. So it is incorrectly saying the position is 1 for 
+ all three nodes.
+ 
+ position68.xsl
+ --------------
+ <?xml version="1.0"?>
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ 
+   <!-- FileName: position68 -->
+   <!-- Document: http://www.w3.org/TR/xpath -->
+   <!-- DocVersion: 19991116 -->
+   <!-- Section: 2.4 -->
+   <!-- Creator: Paul Dick -->
+   <!-- Purpose: Test positional indexing with for-each loop and all-but-last
+ xsl:if for comma. -->
+ 
+ <xsl:template match="metadata">
+   <out>
+     <xsl:for-each select="keyword[@tag='ticker']">
+       <xsl:value-of select="@value"/>
+       <xsl:value-of select="position()"/>
+       <xsl:value-of select="last()"/>
+       <xsl:if test="position()!=last()">,</xsl:if>
+     </xsl:for-each>
+   </out>
+ </xsl:template>
+ 
+ </xsl:stylesheet>
+ 
+ 
+ position68.xml
+ --------------
+ <?xml version="1.0"?>
+ <metadata>
+     <keyword tag="ticker" value="MSFT"/>
+     <keyword tag="sector" value="unitedstates"/>
+     <keyword tag="ticker" value="IBM"/>
+     <keyword tag="ticker" value="Lotus"/>
+     <SUMMARY>tetettete</SUMMARY>
+     <CLASSIFICATION state="immediate"/>
+     <IPTYPE_REF majorName="Earn" minorName="announcement"/>
+ </metadata>