[
https://issues.apache.org/jira/browse/XALANJ-2425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563158#action_12563158
]
Илья Казначеев commented on XALANJ-2425:
----------------------------------------
Sorry for my uneduceted guess, but maybe you could do that based on return-type
of extension function?
If it returns a NodeList, retain current behavior with recreating nodes in
separate document, but if it returns DTMIterator or how's that, just trust its
content nodes to be owned by processed document.
And also, I doubt that would be much slower considering cited core creates new
Document and, possibly, DocumentBuilderFactory for it in the process.
> 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]