Imbedded elements

Richard Light richard at
Fri Jan 30 11:36:47 GMT 1998

In message <34D1E921.6B73 at>, Trevor Turton
<trevort at> writes
>Is it legal (and surely it must be) to imbed one element within
>another?  To take a common example from current HTML practice, to imbed
>a <TABLE> element within a <FORM> element so that the graphical layout
>of the <FORM> <INPUT> tags can be controlled?
>And if so, how does XML resolve a given tag if it occurs within element
>A which is imbedded within element B, and the particular tag happens to
>be defined and valid in both element A and element B?  Unlikely today
>when all HTML elements and tags are controlled by a single standards
>body (well, almost).  Inevitable in the future as independent
>organisations develop and distribute their own DTDs. 

It's no problem.  Because XML is well-formed, and doesn't allow any tags
to be omitted, the context of every element is crystal clear.  If an XML
processor has encountered <A> followed by <B>, then it knows it is
inside <B>.  If an <X> then comes along, the <X> is 'inside' <B>, which
in turn, of course, is 'inside' <A>.

The XML processor must subsequently get an </X>, a </B> and an </A> in
that order to 'back out' of the hierarchy it has created.

This is only an issue in HTML because (a) HTML adopted some fairly
sophisticated tag omission rules from SGML; and (b) every HTML parser
proceeded to ignore this and treat tags as point markers rather than
nodes in a well-defined tree structure.

Richard Light.

Richard Light
SGML/XML and Museum Information Consultancy
richard at

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