You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Christine Li (JIRA)" <xa...@xml.apache.org> on 2006/11/08 22:08:52 UTC
[jira] Resolved: (XALANJ-2091) Namespace attributes not added as
attributes when using TransformerIdentityImpl
[ http://issues.apache.org/jira/browse/XALANJ-2091?page=all ]
Christine Li resolved XALANJ-2091.
----------------------------------
Fix Version/s: Latest Development Code
Resolution: Fixed
The patch has been checked in. Please verify the changes. Thanks,
> 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
> Fix For: Latest Development Code
>
> 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: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org