[ http://issues.apache.org/jira/browse/XALANJ-2091?page=comments#action_12448250 ] Henry Zongaro commented on XALANJ-2091: ---------------------------------------
I have reviewed Christine's patch[1] and believe that it correctly resolves the problem. [1] https://issues.apache.org/jira/secure/attachment/12344607/Patch.txt > Namespace attributes not added as attributes when using > TransformerIdentityImpl > ------------------------------------------------------------------------------- > > Key: XALANJ-2091 > URL: http://issues.apache.org/jira/browse/XALANJ-2091 > Project: XalanJ2 > Issue Type: Bug > Components: transformation > Affects Versions: 2.6 > Reporter: Felix Röthenbacher > Assigned To: Christine Li > Attachments: Patch.txt, TransformerIdentityImpl.java.diff > > > Namespace attributes are not added as attributes to the resulting > DOM tree when using TransformerIdentityImpl. The problem is, that > the namespace-prefix feature is not set to true and therefore the > namespace attributes are not added. This does not conform to the > DOM spec saying that also namespace attributes may be handled as > normal attributes. > I will attach a patch which fixes the issue by calling > reader.setFeature("http://xml.org/sax/features/namespace-prefixes", > true); > of the XMLReader. > The following code shows the problem: > The input XML document looks like this: > <?xml version="1.0"?> > <test xmlns:testns="http://testns.org" testns:testattr="3"/> > And the code used to extract the namespace attributes is as follows: > FileInputStream fis = new FileInputStream("test.xml"); > Transformer trfs = TransformerFactory.newInstance().newTransformer(); > StreamSource ss = new StreamSource(fis); > DOMResult dr = new DOMResult(); > trfs.transform(ss, dr); > Document doc = (Document)dr.getNode(); > Node node = doc.getFirstChild(); > System.out.println("First node: " + node.getLocalName()); > NamedNodeMap nodes = node.getAttributes(); > for (int i=0; i<nodes.getLength(); i++) { > System.out.println(" Attribute: " + nodes.item(i).getLocalName()); > } > Finally, the the output looks like this: > First node: test > Attribute: testattr > instead of the expected output: > First node: test > Attribute: testns > Attribute: testattr -- 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 - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]