This XML documentation seems to say that the ID derived type supports a pattern, but when I try to define one with this code:
<complexType name="CourseType">
<attribute name="courseNumber" type="ID">
<pattern value="[A-Z]{2}(\d{3}).(\d{3})" />
</attribute>
<attribute name="numOfCredits" type="university:CourseCredits" />
<element name="course_name" type="university:MixedName" />
<element name="course_professor" type="string" />
</complexType>>
…I get an error in the oXygen XML editor that says The content of 'courseNumber' must match (annotation?, (simpleType?)). A problem was found starting at: pattern.
Am I defining my schema correctly for that ID attribute?
If you need to restrict built-in simple data type you should create your own
simpleType. Use Derivation by Restriction. Try something like this:Or you can just embed
simpleType:See also @jasso comments below to fix some other errors in your XSD.