[ 
https://issues.apache.org/jira/browse/XALANJ-2425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12562652#action_12562652
 ] 

Joe Kesselman commented on XALANJ-2425:
---------------------------------------

Interesting observation.

We could determine whether the node's ownerDocument is the same as one of the 
documents we've already seen -- but we'd then have to determine whether it's 
actually in the document tree.  If it isn't, it really is a new node (document 
fragment, presumably). If it is... well, if the extension has been well-behaved 
and has not tried to mutate the DOM, we could probably find it and obtain the 
original node.

(If  the node is one of our proxies to an underlying DTM node, this becomes 
significantly simpler, of course.)

Not entirely sure offhand what the performance impact would be; it's been quite 
a while since I looked at that corner of the system.

> Xalan's set:distinct() is broken by design
> ------------------------------------------
>
>                 Key: XALANJ-2425
>                 URL: https://issues.apache.org/jira/browse/XALANJ-2425
>             Project: XalanJ2
>          Issue Type: Bug
>          Components: XSLTC
>    Affects Versions: 2.7.1
>         Environment: Any
>            Reporter: Илья Казначеев
>         Attachments: xml1.xml, xsl2.xsl
>
>
> Xalan's EXSLT set:distinct() is implemented in a way it is not useful, not 
> usable and also confusing, not mentioning it will throw an exception if feed 
> attributes list.
> See attached files, result is
> <html xmlns:set="http://exslt.org/sets";>
> <body>root</body>
> </html>
> for both libXSLT and xalan-interpreted, but it is 
> <html xmlns:set="http://exslt.org/sets";>
> <body></body>
> </html>
> for XSLTC.
> Reason: Xalan does iterator for set:distinct() by creating a document, 
> stuffing node list into document's element, and iterating over its children.
> This have two consequences: you can't access parent node from such node-list, 
> and also see XALANJ-2424.
> See class BasisLibrary.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to