The *hard* problem (was: external dtd subsets ...)

John Cowan cowan at
Tue Aug 11 22:38:17 BST 1998

Tim Bray scripsit:

> I have not suggested a solution for
> how to solve the *hard* problem, namely how to go about making a
> compound DTD, and would like to hear input on that. -Tim

As far as I can see, such a thing is not possible even in principle,
except through the promiscuous use of ANY content models.  Given
that you want to combine two separate DTDs, {A} and {B}, with or without
prefixes, initially only {A} elements will be permissible content
for other {A} elements, and likewise for {B} elements.  So whatever
the root element of a document may be will dictate what elements
are to be used within it.

In order to make this otherwise, someone must decide exactly which
elements from {A} can have {B} content and vice versa.  That is
inherently beyond the ability of an algorithmic process unless it
has detailed semantic information on the elements, *far* beyond
what any DTD provides.

IBTWSH uses a trick, a parameter entity that a containing DTD may
define in order to specify elements from the containing DTD that
can appear within IBTWSH elements.  But average DTDs don't have
such a mechanism, and it may not even be possible.  (Nonetheless,
this trick suggests how DCD/XML-Data elements with "open" content
might be translated back into DTD element declarations.

John Cowan		cowan at
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list