I have a rng file that is redefining patterns in a core rng file. So, in the
included rng I have
<define name="att.res">
<choice>
<value type="integer">75</value>
<value type="integer">200</value>
<value type="integer">300</value>
</choice>
</define>
and in the including rng I have
<include href="core.rng">
<define name="att.res">
<choice>
<value type="integer">75</value>
<value type="integer">300</value>
</choice>
</define>
</include>
When I run trang conversion on including rng file and generate XSD, the output
is
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:include schemaLocation="core.xsd"/>
<xs:simpleType name="att.res">
<xs:restriction base="xs:integer">
<xs:enumeration value="75"/>
<xs:enumeration value="300"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
To me, this XSD should be invalid, because there are essentially two simpleType
definitions with the same name. But when I then run validation inside Oxygen
10.1 against an instance with the generated schema, it parses just fine. Is
there something about this that I don't understand? Is the schema really
valid, or is the validation not parsing the schema properly.
Also, if I wanted to output in this example to be one XSD schema--essentially
printing out the resolved, flat schema--is there any way to do that?
Thanks much.