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 2003/02/23 22:14:58 UTC

DO NOT REPLY [Bug 17322] New: - bug with evaluation of a matching clause

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17322>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

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

bug with evaluation of a matching clause

           Summary: bug with evaluation of a matching clause
           Product: XalanJ2
           Version: 2.0.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Xalan
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: ds5j@excite.com
                CC: ds5j@excite.com


Hi,
In using xalan I ran into the following issue:

in evaluating a match condition the conditions pertaining to attributes are not 
tested completely before evaluating the condition following an or clause.

Example:

<xsl:template match='@*[.!='']|node()'>
<xsl:copy>
<xsl:apply-templates select='@*'/>
</xsl:copy>
</xsl:template>

Input:
<elemen1 a='1' b='' c='3'/>
<element2/>

Output From XALAN:
<elemen1 a='1' >
<element2/>

The bug is the fact the non empty attribute followed by the empty attribute was 
not matched.  It was somehow skipped.

I have tried this in xalan 1.2 C and xalan2 and xala 2_4 and have seem similar 
behavior.  In xalan 1.2 the behavior was worse since the non empty attribute 
was copied to the subsequent element.

Atleast the xalan 2 and 2_4 versions do not copy the attributes to next node.  
But they are still missing the non empty attribute occuring after the empty 
attribute.

In SAXON the output is correct :

<elemen1 a='1' c='3'/>
<element2/>


thanks in advance for fixing this.

ds