gem-graph-server/debian/var/models/XMLSchema example (in progr...

137 lines
4.3 KiB
XML

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- https://www.w3schools.com/xml/el_attribute.asp -->
<!-- use="required" should be allowed ?!-->
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="date" type="xs:integer"/> <!--TODO type ? -->
<xs:attribute name="name" type="xs:string"/> <!--TODO pas clair, ce truc... -->
<xs:attribute name="value" type="xs:integer"/> <!--TODO WARNING: It's an integer !-->
<xs:attribute name="author" type="xs:string"/>
<xs:attribute name="version" type="xs:float"/>
<xs:attribute name="owner_id" type="xs:integer"/>
<xs:attribute name="x" type="xs:integer"/>
<xs:attribute name="y" type="xs:integer"/>
<xs:attribute name="z" type="xs:integer"/>
<xs:attribute name="site" type="xs:integer"/>
<xs:attribute name="weight" type="xs:integer"/>
<xs:element name="gem-graph-model">
<xs:complexType>
<xs:sequence>
<xs:element name="identity">
<xs:complexType>
<xs:sequence>
<xs:element name="anything_but_not_just_the_word_name" type="xs:string"/>
<xs:element name="name">
<xs:complexType>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="owner_id" type="xs:integer"/>
<xs:element name="date" type="xs:integer"/>
<xs:element name="version" type="xs:float"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="parameters">
<xs:complexType>
<xs:sequence>
<xs:element name="modelization">
<xs:complexType>
<xs:sequence>
<xs:element name="max_thread">
<xs:complexType>
<xs:attribute ref="value"/>
</xs:complexType>
</xs:element>
<xs:element name="max_cycles">
<xs:complexType>
<xs:attribute ref="value"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="space">
<xs:complexType>
<xs:sequence>
<xs:element name="dimension">
<xs:complexType>
<xs:attribute ref="value"/>
</xs:complexType>
</xs:element>
<xs:element name="size">
<xs:complexType>
<xs:attribute ref="value"/>
</xs:complexType>
</xs:element>
<xs:element name="site_multiplicity">
<xs:complexType>
<xs:attribute ref="value"/>
</xs:complexType>
</xs:element>
<xs:element name="boundaries">
<xs:complexType>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute ref="id"/>
<xs:attribute ref="date"/>
<xs:attribute ref="author"/>
</xs:complexType>
</xs:element>
<xs:element name="objects">
<xs:complexType>
<xs:sequence>
<xs:element name="arrow">
<xs:complexType>
<xs:attribute ref="x"/>
<xs:attribute ref="y"/>
<xs:attribute ref="z"/>
<xs:attribute ref="site"/>
<xs:attribute ref="weight"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute ref="id"/>
<xs:attribute ref="date"/>
<xs:attribute ref="author"/>
</xs:complexType>
</xs:element>
<xs:element name="space" type="xs:string"/>
<xs:element name="savestates" type="xs:string"/>
<xs:element name="transitions" type="xs:string"/>
<xs:element name="ref" type="xs:string"/>
<xs:element name="quote" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>