[ 
http://issues.apache.org/jira/browse/WSCOMMONS-99?page=comments#action_12434765 
] 
            
Toshiro Takase commented on WSCOMMONS-99:
-----------------------------------------

I have no confidence, but this is possible fix. I think.

org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart()
Current Code:
LL.287-297
----------
            // Default prefix referencing is not allowed on an attribute
            if (prefix == null && namespace != null) {
                String writerPrefix = writer.getPrefix(namespace);
                writerPrefix = (writerPrefix != null && writerPrefix.length() 
== 0) ? null : writerPrefix;
                prefix = (writerPrefix != null) ? 
                                writerPrefix : getNextNSPrefix();
            }
            newPrefix = generateSetPrefix(prefix, namespace, writer);
            // If the prefix is not associated with a namespace yet, remember 
it so that we can
                // write out a namespace declaration
                if (newPrefix != null) {
----------

Possibly:
----------
            // Default prefix referencing is not allowed on an attribute
            if (prefix == null && namespace != null) {
                String writerPrefix = writer.getPrefix(namespace);
                writerPrefix = (writerPrefix != null && writerPrefix.length() 
== 0) ? null : writerPrefix;
                prefix = (writerPrefix != null) ? 
                                writerPrefix : getNextNSPrefix();
            }
            if (prefix == null) {
                newPrefix = null;
            } else {
                newPrefix = generateSetPrefix(prefix, namespace, writer);
            }
            // If the prefix is not associated with a namespace yet, remember 
it so that we can
                // write out a namespace declaration
                if (newPrefix != null) {
----------


> 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
>
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to