TEIC / Stylesheets

TEI XSL Stylesheets
231 stars 124 forks source link

ODD chaining fails for specifications with mode="replace" in the base ODD #590

Open peterstadler opened 1 year ago

peterstadler commented 1 year ago

As @riedde pointed out on TEI-L, there seems to be an issue with @mode="replace" when chaining.

Attached is a zip archive with four files to demonstrate the case:

The first oddex1.odd features some modifications with @mode="replace" and – for reference – one with @mode="change". After chaining (i.e. create the compiled ODD from oddex1.odd, use this as the source for oddex2.odd, and finally create the RelaxNG schema from this oddex2.odd) the specifications that were modified via @mode="replace" are missing from the schema while the one modification that was done via @mode="change" is available.

I suspect there to be an issue with the Stylesheets that turn a @mode="change" into a @rend="change" in the compiled ODD, but a @mode="replace" is propagated to the processed ODD (compare e.g. the classSpec "att.global.rendition" starting on line 2187 in oddex1.xml and the classSpec "att.docStatus" on line 1949).