MODS schema has errors that results in invalid attributes added to elements

Description

recently we updated our code to support MODS 3.6 and the new
nameIdentifier which uses the type definition "identifierDefinition":

<xs:complexType name="identifierDefinition">
<xs:simpleContent>
<xs:extension base="stringPlusLanguage">
<xs:attribute name="displayLabel" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="typeURI" type="xs:anyURI"/>
<xs:attribute name="invalid" fixed="yes"/>
<xs:attribute name="altRepGroup" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

Problematic is the fact that @invalid is set to fixed="yes". When you
use a schema aware parser to parse a MODS document this will actually
attach a @invalid="yes" on every element of "identifierDefinition" (like
"identifier" or "nameIdentifier") that is missing that attribute.

XML Schema part 1, section 3.2.1:
"[..] fixed indicates that the attribute value if present must equal the
supplied constraint value, and if absent receives the supplied value as
for default."

This bug is not introduced in 3.6 but is also in older versions of MODS.

Currently all identifier|nameIdentifier get an 'invalid' label.
Obviously this is not way it was intended.

Environment

None

Assignee

Thomas Scheffler

Reporter

Thomas Scheffler

Labels

None

External issue ID

None

Components

Fix versions

Affects versions

Priority

Medium
Configure