RFR - Update: 8168664 [JAXP] XALAN: xsl:element generates namespace prefixes if namespace is given as URI only

Joe Wang huizhe.wang at oracle.com
Wed Feb 8 00:39:16 UTC 2017

Hi Christoph,

As we discussed, let's target this for JDK 10 as a spec change at this 
stage for JDK 9 is too late. Removing the namespace generation would be 
another reason to do this in JDK 10 since then, we wouldn't need the 
additional property.


On 1/31/17, 11:02 AM, Langer, Christoph wrote:
> Hi Joe,
> evenutally I have updated my webrev for this issue: 
> http://cr.openjdk.java.net/~clanger/webrevs/8168664.1/ 
> <http://cr.openjdk.java.net/%7Eclanger/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 at 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/ 
> <http://cr.openjdk.java.net/%7Eclanger/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

More information about the core-libs-dev mailing list