Re: Couldn't XML allow and ignore omitted tag minimization

> From: lee@sq.com
> 
> Terry Allan wote:
> > Docbook allows tag minimization in the DTD but sets OMITTAG NO in the
> > sdecl.  [...]  But for those users who want to substitute their own
> > sdecl with OMITTAG YES, we'd want to keep the tag minimization.
> 
> Note that you can do this, if you really must, with a parameter entity:
> <!Entity % OO " O O">
> <!Entity % XO " - O">
> <!Entity % OX " O -">
> <!Entity % XX " - -">
> 
> <!Element title %OX; (%title.model;)>

I think you've made part of my case:  having to do ridiculous things
as you show above is a good argument for changing XML to allow (and
ignore) omitted tag minimization specs.

> 
> 
> Since amost all DTDs written with the expectation of minimisation will
> require changes before they work in XML, allowing this syntax is at best
> misleading.

First, XML has OMITTAG NO which a priori makes it clear that tags cannot
be omitted despite the omitted tag minimization specs.  As far as I am
concerned, this is the end of the "misleading" argument. 

Second, forget the entire train of thought about HTML and/or legacy DTDs.
That's not the key point.  Instead, the point is that we want to be able
to write (probably new) DTDs that will work with both full SGML systems
and XML systems.  For example, we might want to produce a new SGML Open
Exchange Table Model that is XML compliant, but we also want to be able
to use the new model with full SGML systems that allow minimization.

No one has argued that allowing and ignoring the omitted tag specs is
difficult to implement.  Granted, it's one more thing in the language,
but if the alternative are either parameter entities like Lee shows
above or configuration hassles because everyone will need to keep an
XML version and an SGML version of every DTD fragment (which will only
serve to exaggerate the perception that XML isn't SGML), then I think
we should change XML to allow the omitted tag minimization specs.

paul

Received on Monday, 17 March 1997 13:46:00 UTC