Lists Home |
Date Index |
John Cowan wrote:
> 1) What is the correct jargon for an element which allows both start-tag and
> end-tag omission? I have been calling them "phantom elements", since they
> may be ESIS-present but lexically absent.
I don't recall hearing a name for this; "phantom element"
sounds as good a name as any. (I will note though, that
in my opinion start-tag omission is a Really Bad Idea).
> 2) I note that when SP has a choice between inferring a missing end-tag and
> inferring a missing start-tag [...]
This can never happen: it will only infer start-tags
for contextually required elements, and if there is
a contextually required element it cannot infer an end-tag.
> (and phantom element), it infers the end-tag:
> <!DOCTYPE root [
> <!ELEMENT root - - (foo, foo?)>
> <!ELEMENT foo - O (#PCDATA | bar)*>
> <!ELEMENT bar O O (foo)>
> <root> <foo> case 1 <foo> case 2 </root>
> does not generate an ESIS containing "bar", and even adding a "</bar>"
> before "</root>" does not help. Is this behavior prescribed by the
Yes, this is the prescribed behaviour. 'bar' is not
contextually required at any point in 'foo's content model,
so it is not subject to start-tag inference.