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 <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