Re: Update on namespaces

> From: Andrew Layman <andrewl@microsoft.com>

> Namespaces does not mean that suddenly any element is valid anywhere.
> 
> I absolutely am not suggesting that the use of namespace means that
> every element suddenly has an implicit content model of "ANY".
...
> That is, far from defeating validation, namespaces permit use of
> multiple, merged schemata while retaining validation.

So, I suggest again that

1) For now XML adopts the characters "::" as a delimiter to mean
"name qualifier", with the intended syntax of "namespace::identifier" 
and best practise being "organisation nickname::namespace::indentifier"

if you want to be really careful.

Public element sets that are intended to be included in other DTDs 
should use these conventions for now. If you do not intend your element
types to be included in other documents, just use the simple names.
E.g.

<planetsExplored><SUN::planets::mercury/></planetsExplored>

And there should be no namespace "inheritance" (contextual name
minimisation) for now. So this:

<planetExplored>
	<mercury/>
	<planets::planetExplored>
		<planets::mercury>
	</planets::planetExplored>
</planetExplored>

is not the same as
 
<planetExplored>
	<mercury/>
	<planets::planetExplored>
		<mercury>
	</planets::planetExplored>
</planetExplored>


2) The IG work out some favoured declaration to support namespaces 
and contextual name minimisation and submit it to WG8.  The 
Japanese proposal for modules seems to be well thought out.


3) XML and SGML get namespaces together in the new year.


4) An SGML content model should allow a #OTHER keyword:  ANY is too
fixed,
and fully declared content models are too restrictive. E.g.

<!ELEMENT html ( head, (body | frameset | layer | #OTHER ), tail ) >

where #OTHER means you can only use an element from some other
namespace. 


Rick Jelliffe

Received on Friday, 27 June 1997 01:52:42 UTC