I checked DTD output on Test/testerrmav.odd (using the Stylesheets in the sydb-occurs2 branch).[1] The result is DTDs that are invalid because the declarations for most, but not all, the elements defined by <elementSpec> in the customization ODD need parens around the content model. Isn't that what Lou's code for p5subsetDoctored was supposed to do? Or is that wishful thinking on my part? If so, where was it incorporated into, and why isn't it working here? Notes ----- [1] Using both $ cd /path/to/Stylesheets/ # sydb-occurs2 branch $ ./bin/teitodtd /path/to/TEI/P5/Test/testerrmav.odd and $ cd /path/to/TEI/ # dev branch $ ANT_OPTS="-Xss2m -Xmx752m -Djava.awt.headless=true" ant -lib ../Utilities/lib/saxon9he.jar:../Utilities/lib/jing.jar -Dtrang=../Utilities/lib/trang.jar -DdefaultSource=`pwd`/../p5subsetDoctored.xml -DXSL=/path/to/Stylesheets -f antruntest.xml -Doutputname=testerrmav -Dtestfile=testerrmav.xml -DoddFile=testerrmav.odd validateodd compileodd dtd rng validaterng cleanup
I think you should also check what DTD and XSD outputs look like. As I said on the original ticket, we ought not to generate dtd or xsd which is actually illegal, even if it matches what the ODD says it should less well than the RNG output.
True enough. IIRC, current DTD and XSD generation produces schemas which are valid, but match incorrect # of things?