You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by "Toshiro Takase (JIRA)" <ji...@apache.org> on 2006/09/15 13:35:23 UTC

[jira] Updated: (WSCOMMONS-99) Incorrect default namespace serialization for un-prefixed attribute.

     [ http://issues.apache.org/jira/browse/WSCOMMONS-99?page=all ]

Toshiro Takase updated WSCOMMONS-99:
------------------------------------

    Attachment: diff.txt

For clarification, I got diff of my change.
This works fine in my environment.


> Incorrect default namespace serialization for un-prefixed attribute.
> --------------------------------------------------------------------
>
>                 Key: WSCOMMONS-99
>                 URL: http://issues.apache.org/jira/browse/WSCOMMONS-99
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>         Environment: Windows
>            Reporter: Toshiro Takase
>            Priority: Critical
>         Attachments: diff.txt
>
>
> Current serialization prints default namespace declaration for un-prefixed attributes.
> According to "Namespaces in XML 1.0",
> http://www.w3.org/TR/REC-xml-names/#defaulting
> 	"Default namespace declarations do not apply directly to attribute names."
> 	"The namespace name for an unprefixed attribute name always has no value."
> So the default namespace declaration should not be printed.
> I am afraid that this serialization sometimes breaks XML signature and XML Infoset.
> This is my test code.
> ----------
>         OMFactory factory = OMAbstractFactory.getOMFactory();
>         OMDocument doc = factory.createOMDocument();
>         OMElement elem1 = factory.createOMElement("local1", "ns1", "");
>         doc.addChild(elem1);
>         OMElement elem2 = factory.createOMElement("local2", "ns2", "pre2");
>         elem1.addChild(elem2);
>         elem2.addAttribute("attrLocal", "attrValue", null);
>         OMElement elem3 = factory.createOMElement("local3", elem1.getNamespace());
>         elem2.addChild(elem3);
>         doc.serialize(System.out);
> ----------
> The result is here. (indented for readability)
> ----------
> <?xml version="1.0" encoding="utf-8"?>
> <local1 xmlns="ns1">
>     <pre2:local2 xmlns="" xmlns:pre2="ns2" attrLocal="attrValue">
>         <local3 xmlns="ns1"/>
>     </pre2:local2>
> </local1>
> ----------
> In my understanding, this should be the following.
> ----------
> <?xml version="1.0" encoding="utf-8"?>
> <local1 xmlns="ns1">
>     <pre2:local2 xmlns:pre2="ns2" attrLocal="attrValue">
>         <local3/>
>     </pre2:local2>
> </local1>
> ----------

-- 
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: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org