You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Felix Röthenbacher (JIRA)" <xa...@xml.apache.org> on 2005/04/04 17:27:17 UTC

[jira] Updated: (XALANJ-2091) Namespace attributes not added as attributes when using TransformerIdentityImpl

     [ http://issues.apache.org/jira/browse/XALANJ-2091?page=history ]

Felix Röthenbacher updated XALANJ-2091:
---------------------------------------

    Attachment: TransformerIdentityImpl.java.diff

Patch for enabling namespace attribute inclusion.

> Namespace attributes not added as attributes when using TransformerIdentityImpl
> -------------------------------------------------------------------------------
>
>          Key: XALANJ-2091
>          URL: http://issues.apache.org/jira/browse/XALANJ-2091
>      Project: XalanJ2
>         Type: Bug
>   Components: transformation
>     Versions: CurrentCVS
>     Reporter: Felix Röthenbacher
>  Attachments: 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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org