[ 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]