Bug #3445
closedstmml.xsd non-deterministic
0%
Description
A section of stmml.xsd is invalid, according to a new parser feature that Jing just added in response to bug 3232, and also to the venerable parsers in xmlSpy and oxygen. Interestingly, the 2 commercial editors don't catch up the error unless the schema is loaded directly, instead of imported (ie, by attribute.xsd).
This bug is very similar to 2054 -- that plagued EML for so long.
Here is the offending snip from stmml.xsd, starting at line 1708. The problem is the unbounded "definition" right next to the <xs:choice>
It appears that the invalidity can be fixed by either removing the minOccurs (ie, making it required) or by removing the <element ref="definition" ...> altogether. The sequence followed by choice structure makes any combination of elements ok, so this declaration seems to be extra. I do not see a more recent stmml.xsd available (cml.sourceforge.org). And we shouldn't go trekking of with our own flavor of stmml, so awaiting recommendations.
<xsd:sequence>
<xsd:element ref="definition" minOccurs="0"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="alternative"/>
<xsd:element ref="annotation"/>
<xsd:element ref="definition"/>
<xsd:element ref="description"/>
<xsd:element ref="enumeration"/>
<xsd:element ref="relatedEntry"/>
</xsd:choice>
</xsd:sequence>
Related issues