The stylesheet to look at, I think, is Utilities/odd2exodd.xsl If I run my version of simplePrint odd through the bog standard odd to rng conversion in oXygen all is well. If I run it through odd2exodd, I get a schema which contains duplicate declarations of att.global.attributes for some elements (e.g. profileDesc) but not others (e.g. abstract) curioser and curioser On 27/06/2019 17:44, Lou Burnard wrote:
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.
On 27/06/2019 16:48, Martin Holmes wrote:
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
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/fcd21ce1542dc8429423e99024d1bc6af... https://github.com/TEIC/Stylesheets/commit/fcd21ce1542dc8429423e99024d1bc6af... https://github.com/TEIC/Stylesheets/commit/fcd21ce1542dc8429423e99024d1bc6af... 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
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
> 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