On 4/27/11 1:59 AM, Tom Samplonius wrote:
----- Original Message -----

Looking at this in more detail...I don't think there's a bug here, or
a
patch required.
...
problem for me, as I have an XML schema that specifies that the
child
elements must not namespace qualified.
Is this possible in an XML schema? I don't know much about schemas,
but
...

   Absolutely, if the XML schema has the "elementFormDefault" attribute set to 
"unqualified", the child elements must be unqualified.


I would also expect, if the child were to be namespaced, that these
are
equivalent:
<ns1:parent xmlns="whatever" xmlns:ns1="whatever">
<child>abc</child>
</ns1:parent>
<ns1:parent xmlns:ns1="whatever">
<ns1:child>abc</ns1:child>
</ns1:parent>
...

   In the first case, the<child>  element is unqualified, and in the second, it 
is not.  They are not the same thing, either semantically or otherwise.


and the xmlns="" is necessary. If this functionality were removed,
how
could this be done?
   For what?  In the spec (http://www.w3.org/TR/xml-names/#iri-use), it says:

"The empty string, though it is a legal URI reference, cannot be used as a namespace 
name."

It is not being used as a namespace name. It's usage causes removes any default namespace from scope (continue reading spec - there is even an example of it). That line means you cannot define xmlns:a="" and then use use a as a prefix in the document.


Sure, SimpleXML could perhaps output XML that is slightly more
efficient/less verbose than it currently does, but its output is not
incorrect, and the functionality you want to remove is necessary in
other circumstances.
   I don't see how removing the ability to use "" as a namespace is an issue, since 
"" can't be used as a namespace name.




The syntax is valid and required. Removing it breaks its usage.

Rob


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to