On 20/10/16 15:42, Hugh Cayless wrote:
Lou, is that your whole ODD? If so, I think the problem may be that you still need to put moduleRefs in the derived ODD. You don't seem to get them for free from the source.
Yes, that's my whole ODD. So even in an expanded ODD, each elementSpec has lost information about which module it came from? That seems weird. Are you saying that in order to delete an element (say list) from a chained odd I have to specify it like this: <schemaSpec ident="ODDauthoring" source="tei_bare.subset.xml" > <moduleRef key="core" except="list" source="p5subset.xml"/> </schemaSpec> Why doesn't that get me all the other core elements again?
I'm finding that this all works, pretty much, but there are some interesting gotchas. Here's my scenario:
I want to make a critical editions ODD that's based on EpiDoc, but that puts back a few things EpiDoc leaves out, like tables, for example. As Lou mentioned, I can point to the EpiDoc compiled ODD on my schemaSpec, but then at the p5subset.xml on my moduleRefs, effectively bypassing the parts where EpiDoc has stripped out something useful, so my schemaSpec looks like:
<schemaSpec ident="tei-DLL" docLang="en" prefix="tei_" start="TEI" xml:lang= "en" source="tei-epidoc-full.odd">
...
The EpiDoc modueRef for figures looks like:
<moduleRef key="figures" except="cell formula row table"/>
but mine looks like:
<moduleRef key="figures" except="formula" source= "../../TEIC/TEI/P5/p5subset.xml"/>
And that's all great, I get back my tables. BUT I don't have the tableDecoration attributes (@role, @rows, @cols) because those are in the "tei" module, and they've been stripped from the EpiDoc compiled ODD because there are no references to the att.tableDecoration class in it (because it excludes table). This means I have to do
<moduleRef key="tei" source="../../TEIC/TEI/P5/p5subset.xml"/>
as well, so I get that attribute class back. So...interesting gotcha, which leads my to ask why att.tableDecoration is in "tei" instead of "figures". Is that just a mistake?
Possibly. The idea was to define all the attribute classes in one place, so that they were available to any element that wanted them. I agree that att.tableDecoration does seem sort of more useful to tables than anything else. Could you post somewhere some discussion of your experiments in ODD chaining, so that I can steal it to enrich my tutorial ?