TEIC / Stylesheets

TEI XSL Stylesheets
238 stars 126 forks source link

classRef/@except processing fails for oddbyexample in Test #454

Open martindholmes opened 4 years ago

martindholmes commented 4 years ago

The Stylesheets Working Group, trying to integrate the latest P5 changes into the Stylesheets repo, has discovered that there is a mysterious error when classRef/@except is processed during the processing of the oddbyexample.odd to a DTD.

This is triggered by the change here:

https://github.com/TEIC/TEI/commit/193e6283321aeeb68b9a93b0d95b10a82148ef74

which closes ticket https://github.com/TEIC/TEI/issues/1848.

We were unable to determine how/why this particular file causes a problem, while other ODDs appear to be successfully processed into DTDs (in the P5-dev repo build, for example). The problem occurs because two classRefs with @except were introduced into the content models of <lem> and <reading>.

lb42 commented 4 years ago

This looks the same as a problem reported in jan 2017 (#220) That ticket also includes a useful testfile.

sydb commented 4 years ago

Thanks, @lb42. Helpful test file. However, I do not think this is the same problem, though clearly related.

This problem seems to be rooted, I have discovered (after several hours), in the CLASSMEMBERS key, defined in odds/teiodds. That key only matches <classSpec> elements, not <classRef>. I have fixed it (and CLASSMEMBERS-CLASSES, which has the same problem), and that has fixed the immediate problem. However, testing what else might go wrong will take quite a while. Once tested somewhat I will push up a new branch, sydb-454 or some such.

hcayless commented 4 years ago

When this is fixed, the content models of <lem> and <rdg> will need to be updated.