Dear all,
There are a lot of (=124) empty <sequence/>s in the 3.1-RC. They have no function, are annoying when viewing the schemas in a tree view, and they conceal bad constructs. In most cases the empty sequences can simply be removed, but in some others, the construct should also be changed.
One example:
In common3.xsd:
<xs:element name="Metadata" type="rail3:Metadata"/>
<xs:complexType name="Metadata">
<xs:annotation>
<xs:documentation>This is the top level element for file metadata information.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="dc:elementContainer">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Referenced by the subelement of <railML> in rail3ml.xsd:
<xs:element name="metadata" type="rail3:Metadata" minOccurs="0" maxOccurs="1"/>
This is equivalent to simply:
In common3.xsd:
<xs:element name="metadata" type="dc:elementContainer">
<xs:annotation>
<xs:documentation>This is the top level element for file metadata information.</xs:documentation>
</xs:annotation>
</xs:element>
In rail3ml.xsd (note that I also changed to the normal Salami Slice way):
<xs:element name="metadata" ref="rail3:metadata" minOccurs="0" maxOccurs="1"/>