David Maus @dmaus@dmaus.name

markup professional · overall friendly chap · kayak y tango

Homepage

https://dmaus.name

OpenPGP

0x52C8890C43C0FBCF

ORCiD

https://orcid.org/0000-0001-9292-5673

  • Notes
  • Articles
  • Remote follow

Transpiling MEI to RELAX NG

Sep 04, 2023

Day 1 of @teimec2023@hcommons.social, Workshop on integrating TEI and MEI. Found not so much a bug in our ODD to RELAX NG transpiler but problems in the MEI customization.

  1. Defining attributes with "prefixed" @idents but no @ns
<attDef ident="xlink:role" usage="opt"> <desc>Characterization of the relationship between resources. The value of the role attribute must be a URI.</desc> <datatype> <rng:ref name="data.URI"/> </datatype> </attDef>

Technically this is valid with regards to the TEI schema but poses the question to which namespace URI the prefix xlink: is supposed to be bound. All those attributes specifications should add a @ns with the value of http://www.w3.org/1999/xlink.

  1. Using mixing ODD and RELAX NG specification elements

In the example above the datatype of the @xlink:role is defined by a reference to a RELAX NG pattern. The MEI customization contains a related macro specification of the same name.

<macroSpec ident="data.URI" module="MEI" type="dt"> <desc>A Uniform Resource Identifier, see [RFC2396].</desc> <content> <rng:data type="anyURI"/> </content> </macroSpec>

The connection between these two specification elements is only implied. It presupposes a) the macroSpec to be transpiled to a RELAX NG pattern and b) a TEI ODD to RELAX NG transpiler to keep specifications even if they are not used.

The latter problem will be solved with a move to pure ODD. Both issues need to be solved to make MEI independent of a particular TEI ODD processing software.

Roadmap to Pure ODD · Issue #1180 · music-encoding/music-encoding GitHub
  • permalink
  • interact from your instance
  • 1 like
Likes
@teimec2023@hcommons.social
Powered by microblog.pub 2.0.0+dev and the ActivityPub protocol. Admin.