Module: MEI |
Module: MEI.shared |
Module: MEI.header |
Module: MEI.cmn |
Module: MEI.analysis |
Module: MEI.cmnOrnaments |
Module: MEI.critapp |
Module: MEI.edittrans |
Module: MEI.facsimile |
Module: MEI.figtable |
Module: MEI.frbr |
Module: MEI.harmony |
Module: MEI.linkalign |
Module: MEI.lyrics |
Module: MEI.namesdates |
Module: MEI.performance |
Module: MEI.ptrref |
Module: MEI.text |
Module: MEI.usersymbols |
Module: |
<mei> | [#Check_ID] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:mei">
<sch:assert test="exists(./@xml:id)"> Every document needs to have
an xml:id. </sch:assert></sch:rule></constraint> |
|
<surface> | [#Check_surface] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:surface">
<sch:assert test="exists(./@xml:id)"> Every surface needs to have an
xml:id. </sch:assert></sch:rule></constraint> |
|
<graphic> | [#Check_graphic] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:graphic[@type eq 'facsimile']">
<sch:assert test="exists(./@xml:id)"> Every graphic needs to have an
xml:id. </sch:assert>
<sch:assert test="exists(./@target)"> Every graphic needs a
reference to an image. </sch:assert></sch:rule></constraint> |
|
<zone> | [#Check_zone] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:zone">
<sch:assert test="exists(./@xml:id)"> Every zone needs to have an
xml:id. </sch:assert>
<sch:assert test="exists(./@ulx)"> Every zone needs an upper left x
(@ulx) value. </sch:assert>
<sch:assert test="exists(./@uly)"> Every zone needs an upper left y
(@uly) value. </sch:assert>
<sch:assert test="exists(./@lrx)"> Every zone needs a lower right x
(@lrx) value. </sch:assert>
<sch:assert test="exists(./@lry)"> Every zone needs a lower right y
(@lry) value. </sch:assert>
<sch:assert test="exists(@data) and starts-with(@data,'#') and local-name(id(substring(@data,2)))
eq @type"> The reference to the data element seems broken, as its
local-name() doesn't match the @type of the zone. </sch:assert></sch:rule></constraint> |
|
<mdiv> | [#Check_mdiv] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:mdiv">
<sch:assert test="exists(./@xml:id)"> Every mdiv needs an xml:id. </sch:assert>
<sch:assert test="exists(./@label) and string-length(./@label) gt 0"> Every mdiv needs a label with a length of at least one
character. </sch:assert></sch:rule></constraint> |
|
<measure> | [#Check_measure] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:measure">
<sch:assert test="exists(./@xml:id)"> A measure needs an xml:id. </sch:assert>
<sch:assert test="not(exists(@facs)) or (every $i in tokenize(@facs, ' ') satisfies
starts-with($i, '#') and id(substring($i, 2))[(local-name() eq 'zone')
and (@type eq 'measure')])"> Every space-separated value in @facs must point to a zone of
type measure. </sch:assert></sch:rule></constraint> |
|
<staff> | [#Check_staffFacs] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:staff[@facs]">
<sch:assert test="every $i in tokenize(@facs, ' ') satisfies starts-with($i, '#') and
id(substring($i, 2))[(local-name() eq 'zone') and (@type eq 'staff')]"> Every space-separated value in @facs must point to a zone of
type staff. </sch:assert></sch:rule></constraint> |
|
<layer> | [#Check_layer] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:layer">
<sch:assert test="not(exists(./mei:mRest)) or (./mei:mRest and count(./child::*) eq
1)"> If there is a mRest child, no other elements are allowed. </sch:assert>
<sch:assert test="not(exists(./mei:multiRest)) or (./mei:multiRest and count(./child::*)
eq 1)"> If there is a multiRest child, no other elements are allowed.
</sch:assert></sch:rule></constraint> |
|
<music> | [#Check_groups] | <constraint
xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="mei:music">
<sch:assert test="not(exists(./mei:group))"> In Edirom, music may
not contain groups. </sch:assert></sch:rule></constraint> |
|
<source> |
<rng:zeroOrMore>
<rng:ref name="model.identifierLike"/>
</rng:zeroOrMore>
<rng:optional>
<rng:ref name="titleStmt"/>
</rng:optional>
<rng:ref name="macro.bibldescPart"/>
<rng:optional>
<rng:ref name="contents"/>
</rng:optional>
<rng:optional>
<rng:ref name="history"/>
</rng:optional>
<rng:optional>
<rng:ref name="langUsage"/>
</rng:optional>
<rng:optional>
<rng:ref name="notesStmt"/>
</rng:optional>
<rng:optional>
<rng:ref name="classification"/>
</rng:optional>
<rng:optional>
<rng:ref name="itemList"/>
</rng:optional>
<rng:optional>
<rng:ref name="componentGrp"/>
</rng:optional>
<rng:optional>
<rng:ref name="relationList"/>
</rng:optional> |
|
<relatedItem> | |