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: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] 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
