The XHTML 1.1 DTD, which is based on XML 1.0, is not able to specify descendant exclusions to an arbitrary depth (only the permitted children can be specified, with no control over grandchildren, and so on). Some elements, however, must never be nested (at any depth) and so a list of such exclusions is presented here.
a elements must not contain, at any nesting depth, the element:abutton elements must not contain, at any nesting depth, any of the elements:input,
select,
textarea,
label,
button,
form,
fieldseta, to be included in this list (especially as it is not allowed as a direct child).form elements must not contain, at any nesting depth, the element:formlabel elements must not contain, at any nesting depth, the element:labelpre elements must not contain, at any nesting depth, any of the elements:img,
object,
big,
small,
sub,
supIf you disobey any of these rules, your document may nevertheless appear to validate, but it will not be
following the W3C XHTML specification.
See: *XHTML 1.0 Element Prohibitions
which states these exclusions for XHTML 1.0 - they still apply to XHTML 1.1 - (I have not included the
iframe and isindex elements, which are not discussed on
this site).
Also, from the W3C *Ruby Annotation Module - Formal Definition: