#ANY (was Re: Thoughts on namespaces)

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

> I need to be able to cheaply mix elements from several schemata inside a
> parent element.  The proposal below does not accomplish that, while a
> qualified name mechanism does. 

Would this extension to SGML allow what you want?  

Perhaps ISO 8879 should be revised slightly to make the "#ANY" declared content 
type keyword usable inside content models, with the meaning that it is one of any element.
This is fairly natural-looking to my eye, anyway.

E.g:
     <!ELEMENT   X   - -  ( #ANY?, #PCDATA)>
would allow
     <X>world</X>
and
     <X><X>hello</X>world</X>
and also
     <X><OTHER::X>hello</OTHER::X>world</X>

I think the trick is to not
throw out any babies with the bathwater: we want to be able to constrain an 
element's content model to say that "at this point someone else can add their
own elements, but not there". That keeps the strong typing that SGML people 
love so much (much text processing is only practical if there is a very tight and 
strict content model: unconstrained mixing is a big step backwards), but gives
(in combination with, e.g, the Takahashi proposal) what you want, I think.



Rick Jelliffe

P.S. Actually, I favour the CONCUR syntax for the instance.
     <X><(OTHER)X>hello</(OTHER)X>world</X>
but that is a side-issue.

Received on Tuesday, 3 June 1997 13:27:56 UTC