Hi Joe,

evenutally I have updated my webrev for this issue: 
http://cr.openjdk.java.net/~clanger/webrevs/8168664.1/

I've implemented your suggestion to add a property "jdk.xml.generatePrefix" 
which is true by default. I also added a testcase which tests the correct 
behavior with "-Djdk.xml.generatePrefix=false".

Generally, I think namespace prefix generation at this place is not needed. Or 
would you know of or be able to construct a case where it is really required? 
If not, I rather think namespace generation at this place should be thrown out 
unconditionally. Maybe for JDK10? In case it is removed, it would render the 
test javax/xml/jaxp/unittest/transform/NamespacePrefixTest.java which was 
implemented recently by Alex for bug 
https://bugs.openjdk.java.net/browse/JDK-8167179 obsolete in its current form. 
However, the namespace generation function is still used some place for 
attribute namespaces.

For JDK9 I can imagine the change of this webrev going in - however, as we 
already discussed, you would have to do a ccc for me.

Thanks & Best regards
Christoph

From: Langer, Christoph
Sent: Dienstag, 25. Oktober 2016 15:39
To: core-libs-dev@openjdk.java.net
Subject: RFR (JAXP): 8168664 [JAXP] XALAN: xsl:element generates namespace 
prefixes if namespace is given as URI only

Hi JAXP experts,

please review a fix for a new issue regarding namespace handling in Xalan with 
xsl:element.

Bug: https://bugs.openjdk.java.net/browse/JDK-8168664
Webrev: http://cr.openjdk.java.net/~clanger/webrevs/8168664.0/

I'm not 100% sure if this is the right way to go or if it would break some 
correct behavior elsewhere. But I think the current behavior is either not 
correct or at least it is not required to generate new xsl namespace prefixes 
if the namespace comes in as URI only to an xsl:element node. The 
interpretative transformer from the Apache Xalan project will also produce the 
expected output, different to the compiled XSLTC here.

In the webrev, my changes to XslElement.java are only cosmetical/comments, the 
behavior does not change. In BasisLibrary.java I also took the opportunity to 
remove the $Id tag and the unused method "nodeList2IteratorUsingHandleFromNode".

If you think my change is good, I'll also add a test that runs the 
transformation which can be found in the bug...

Thanks & best regards
Christoph

Reply via email to