Cette page contient des exemples de divers fragments Examples de Schema XML que vous pourriez trouver utiles. Pour une analyse de l'utilisation JMRI de Schema, XML, y compris des infos sur les modes de préférence et de l'organisation, voir une autre page.
<xs:element name="someData" minOccurs="0" maxOccurs="1">Cela ne veut pas préciser les frappe. Si vous souhaitez par exemple faire respecter les entier:
<xs:element name="someIntThing" >
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="sample" type="SampleType"
minOccurs="0" maxOccurs="unbounded" />
<xs:complexType name="SampleType">
<xs:attribute name="foo" />
<xs:attribute name="bar" />
</xs:complexType>
Peut aussi être combiné si vous pensez qu'il est
peu probable qu'il soit utilisé ailleur:
<xs:element name="sample"
minOccurs="0" maxOccurs="unbounded" />
<xs:complexType>
<xs:attribute name="foo" />
<xs:attribute name="bar" />
</xs:complexType>
</xs:element>
<xs:element name="someIntThing" >
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute name="someInt" type="xs:int"/>
<xs:attribute name="someText" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="yesNoType">
<xs:annotation>
<xs:documentation>
General definition of string that's either "yes" or "no".
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
Puis le mettre sur un attribut est simple:
<xs:attribute name="opsOnly" type="yesNoType"/>
<xs:element name="relation">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ge"/>
<xs:enumeration value="lt"/>
<xs:enumeration value="eq"/>
<xs:enumeration value="ne"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:attributeGroup name="EditorCommonAttributesGroup">
<xs:annotation>
<xs:documentation>
Define the XML stucture for storing common PositionableLabel child attributes
</xs:documentation>
<xs:appinfo>
jmri.jmrit.display.configurexml.PositionableLabelXml#storeCommonAttributes
</xs:appinfo>
</xs:annotation>
<xs:attribute name="x" type="xs:int" use="required" />
<xs:attribute name="y" type="xs:int" use="required" />
<xs:attribute name="level" type="xs:int" />
<xs:attribute name="forcecontroloff" type="trueFalseType" default="false" />
</xs:attributeGroup>
par exemple l'utilisation, dans certains type plus tard:
<xs:attributeGroup ref="EditorCommonAttributesGroup" />