[ 
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]

Reply via email to