TEIC / TEI

The Text Encoding Initiative Guidelines
https://www.tei-c.org
Other
279 stars 88 forks source link

Content models for <front> and <back> identical? #1939

Open jakub-simek opened 5 years ago

jakub-simek commented 5 years ago

Hi,

The specifications of the elements <front> and <back> both state:

Because cultural conventions differ as to which elements are grouped as front matter and which as back matter, the content models for the front and back elements are identical.

The respective content models, however, are not identical, one difference being that model.listLike is allowed in <back> but not in <front>.

So either the content models should be aligned or the note in the element specifications should be changed, right?

Best wishes, Jakub

dariok commented 5 years ago

Indeed, there are differences. Another one is that the content model for back refers to model.divBottomPart, while front has model.divBottom.

But there are other unusual things there. For example, while both front (and back, too) can contain closer, it cannot have an opener, which is at least surprising (opener is in model.divTopPart which is not referred to by front or back).

I think, we should re-think both elements and their content model (and maybe also try to rethink and rephrase what is supposed to go in there as in my experience the usage differs widely).

PFSchaffner commented 5 years ago

The remark in the guidelines dates back at least to P3 (which read: "The content model of back matter is identical to that of front matter, reflecting the facts of cultural history."). In P3, and presumably in P4, the content models were indeed identical (allowing: argument byline div div1 docAuthor docDate epigraph epilogue head opener performance prologue salute set signed titlePage). And it will surprise no one that in our (TCP) customization, body, back, and front all have identical content models, devoted as we are to simplicity and symmetry.

tuurma commented 5 years ago

It does seem like the formal specification has diverged from GL prose. I wonder if it's by design or just overlooking the spirit behind front and back. Likely the latter but calling anyone who might remember relevant discussions to say otherwise @jamescummings @emylonas @sydb @lb42 @hcayless...

jamescummings commented 5 years ago

I think it is just been done unthinkingly and we should rationalise the content models to be identical. Openers and closers could appear at either end depending on cultural convention. Etc.

lb42 commented 5 years ago

The trouble comes partly because of the use of model classes (such as model.divBottomPart) which can't appear both at the start and the end of a div without introducing an ambiguity. I can confirm it wasn't done unthinkingly: it's just very hard to implement (without, for example, disallowing things people claim they want, such as empty <div>s). Good luck trying...

tuurma commented 5 years ago

To summarize then: the prose describes intended behaviour (content models of front and back should be the same), implementation gets more tricky.

Main differences in the content model are

Shall we then start with adding model.listLike to front and then review model.divBottom and model.divBottomPart?

ebeshero commented 3 years ago

Council VF2F 2020-10-24: Council greenlights this to find a way to implement making <front> and <back> identical. Submit a pull request with a way to do this. There may be a few options for implementation, so we're adding a Needs discussion label and Go.