I
cannot see any example of elementSpecs with the same @ident
either in the source of tei_simpleprint.odd or in the
stylesheet ticket Martin references here. Such usage might in
any case be legal in my view, depending on the setting of the
@mode attribute.
There
is however an example of multiple <classSpec> elements
with the same ident (att.global.rendition) and with the same
@mode value (@hange). I would argue that this too should be
legal, but assuming that it isn't, I merged the two
declarations (i.e. I moved the constraintSpec from the first
classSpec into the second, and deleted the first.
This still doesn't work: but interestingly the ODD when compiled to RNG with the current oXygen framework is perfectly OK. It's only when it is processed to produce tei_simplePrint-examples.rng that we get duplicate declarations for the @rendition attribute, which then breaks the build.
Syd pointed out some obvious problems with the simplePrint ODD (such as multiple elementSpecs with the same @ident) on the Stylesheet ticket:
<https://github.com/TEIC/Stylesheets/issues/370>
I think the first step should be to rationalize this ODD and make it more coherent, then consider adding some Schematron to prevent duplications like this until such time as a) we can define what we think they mean, and b) we can add processing for them.
That might just fix the build. :-)
Cheers,
Martin
On 2019-06-27 8:34 a.m., Raffaele Viglianti wrote:
Hello,
We did explore this issue last Friday at the XSLT Group call and the problem is related to how simplePrint's ODD is structured: it uses specGrpRef to declarations that are not children of schemaSpec, which is totally fine, but the processing gets confused. In particular we noticed that some references to attribute classes get duplicated in the RNG. We were not successful in fixing this last Friday and I'm not 100% who's in charge of fixing it soon (and I'm not volunteering because I'm swamped, but will follow orders if compelled). The strategy we were trying was to move the specGrps inside the *right* schemaSpec before processing further.
For further reference, this issue seems to have originated after changes to support multiple schemaSpecs.
Best,
Raff
On Thu, Jun 27, 2019 at 11:14 AM Lou Burnard <lou.burnard@retired.ox.ac.uk <mailto:lou.burnard@retired.ox.ac.uk>> wrote:
The <schemaspec> in tei_simplePrint.odd says its @ident is
"teisimpleprint"
The stylesheets use this value when generating .nvdl and
-examples.rng files
But the makefile expects these files to be called tei_simplePrint.*
... fixing the @ident moves the problem: whatever it is that
generates tei_simplePrint-examples.rng is not producing an invalid
RNG schema.
On 27/06/2019 15:47, Peter Stadler wrote:
Well, you can generate a schema but the test fails when diffing against the expected result._______________________________________________
And: resulting rng and rnc files (for tei_simplePrint) are not valid due to "reference to undefined pattern „att.global.rendition.attribute.rendition““ — I haven’t checked xsd, though.
Since tei_simplePrint.odd hasn’t changed, that’s a Stylesheets bug. I suspect this commithttps://github.com/TEIC/Stylesheets/commit/fcd21ce1542dc8429423e99024d1bc6af272f425 <https://github.com/TEIC/Stylesheets/commit/fcd21ce1542dc8429423e99024d1bc6af272f425> <https://github.com/TEIC/Stylesheets/commit/fcd21ce1542dc8429423e99024d1bc6af272f425> to be the root of the problem because it introduces a check for the proper schemaSpec (when there are more than one). Yet it expects those elementSpecs to be descendants of that schemaSpec which is not (necessarily) true for spcGrpRefs (which simplePrint) uses a lot.
Best
Peter
Am 27.06.2019 um 16:05 schrieb Lou Burnard<lou.burnard@retired.ox.ac.uk> <mailto:lou.burnard@retired.ox.ac.uk>:
I just tried generating XSD from the teiSimplePrint.odd in oXygen and it worked just fine. So that's not where the problem lies...
On 27/06/2019 12:57, Peter Stadler wrote:
Hi Lou,
yes, the build is currently broken :(
Stylesheets group was going to tackle it but my feeling is we’re stuck? Is anyone actively working on that issue?
Best
Peter
Am 27.06.2019 um 13:35 schrieb Lou Burnard<lou.burnard@retired.ox.ac.uk> <mailto:lou.burnard@retired.ox.ac.uk> <mailto:lou.burnard@retired.ox.ac.uk> <mailto:lou.burnard@retired.ox.ac.uk>:
My occasional practice of doing
git pull
make
in my local copy of the dev repo seems to have hit a rock again.
../run-onvdl tei_simplePrint.nvdl tei_simplePrint.odd
/usr/bin/onvdl
fatal: file not found: /home/lou/Public/TEI/P5/Exemplars/tei_simplePrint.nvdl (No such file or directory)
java -jar ../Utilities/lib/trang.jar tei_simplePrint.rng tei_simplePrint.rnc
java -jar ../Utilities/lib/trang.jar -o disable-abstract-elements tei_simplePrint.rng tei_simplePrint.xsd
/home/lou/Public/TEI/P5/Exemplars/tei_simplePrint.rng:475:61: error: reference to undefined pattern "att.global.rendition.attribute.rendition"
Makefile:71: recipe for target 'tei_simplePrint.dtd' failed
make[1]: *** [tei_simplePrint.dtd] Error 1
make[1]: Leaving directory '/home/lou/Public/TEI/P5/Exemplars'
Makefile:201: recipe for target 'exemplars' failed
make: *** [exemplars] Error 2
_______________________________________________
Tei-council mailing list
Tei-council@lists.tei-c.org <mailto:Tei-council@lists.tei-c.org> <mailto:Tei-council@lists.tei-c.org> <mailto:Tei-council@lists.tei-c.org>
http://lists.lists.tei-c.org/mailman/listinfo/tei-council <http://lists.lists.tei-c.org/mailman/listinfo/tei-council> <http://lists.lists.tei-c.org/mailman/listinfo/tei-council>
Tei-council mailing list
Tei-council@lists.tei-c.org <mailto:Tei-council@lists.tei-c.org>
http://lists.lists.tei-c.org/mailman/listinfo/tei-council