[ http://issues.apache.org/jira/browse/XALANJ-1431?page=history ]

Yash Talwar updated XALANJ-1431:
--------------------------------

    Attachment: XalanJ1431_Patch.txt

I have reproduced the problem with Xalan Interpretive and XSLTC.
The problem is that that when an empty attribute value is encountered, a text 
node is being created
with empty string.
Henry Zongaro has helped finding the XSLT 1.0 specs. that suggest a text node 
with empty string should not be created.  URL 
http://www.w3.org/TR/xslt#value-of has the following information:

"The xsl:value-of element is instantiated to create a text node in the result 
tree. The required select attribute is an expression; this expression is 
evaluated and the resulting object is converted to a string as if by a call to 
the string function. The string specifies the string-value of the created text 
node. If the string is empty, no text node will be created. The created text 
node will be merged with any adjacent text nodes."

I have created a patch for this issue.



> bug with evaluation of a matching clause
> ----------------------------------------
>
>          Key: XALANJ-1431
>          URL: http://issues.apache.org/jira/browse/XALANJ-1431
>      Project: XalanJ2
>         Type: Bug
>   Components: Xalan
>     Versions: 2.0.0
>  Environment: Operating System: All
> Platform: All
>     Reporter: ds
>     Assignee: Xalan Developers Mailing List
>  Attachments: XalanJ1431_Patch.txt
>
> 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

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to