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" />