Re: [xml-dev] namespaces redux (was: Re: [xml-dev] [XML Schema]Here's how to empower instance document authors to create their own root element)
Look! A hobby-horse! Let's ride!
Well it's worth warning that we've thrown out a lot of the toy debris that used to make this particular hobby horse such fun to ride.
On Mon, 15 Oct 2012 00:28:49 -0400, Christopher R. Maden wrote:
> On 10/15/2012 12:09 AM, Liam R E Quin wrote:
> (in fact, best practices uses of W3C namespaces are not, ultimately, so
bad).
>
>> You need to be more concrete in your proposal I think :-)
>
> I don’t recall making a proposal... just a critique. Far easier. (-:
Some possible best practices:
1) do not use QNames in content. This makes use of things like schema
and xslt nearly impossible, but at least avoid creating any new xml
dialect that does this.
As much as I agree with you about the evil of QNames in content, I don't really think it was the job of the Namespaces in XML spec to prevent this. I guess they could have made a recommendation warding it off, but n the end what other specs do with content is their own business, even if it's very broken.
Also worth noting that for example the mess of RDF/XML illustrates that you get into that sort of mess even outside the content realm.
Anyway, we have no more prefixes (no colons) in MicroXML, so ding dong the witch is dead in our little corner of Oz.
2) declare all bindings to prefixes other than the default as widely as
possible, and never change them. That is, declare on the root element,
use only one prefix for each namespace, and once bound, never change
the binding. Try to only use non-default prefixes only for attributes,
if that is possible.
No prefixes on elements or attributes.
3) permit re-binding of the default prefix where needed. Prefer to
rebind the default prefix (null prefix) if elements from a foreign
namespace appear (that is, try to use non-default prefixes only for
attributes).
No default namespaces either (no xmlns).
So now you see why AF or some other completely out of band transform regime seems to be what we have left, unless I'm missing something. (Yeah, no PIs either, so that back door is closed).
--