182 lines
5.9 KiB
XML
182 lines
5.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<!-- https://www.freeformatter.com/xml-validator-xsd.html -->
|
|
<xs:attribute name="id" type="xs:string"/>
|
|
<xs:attribute name="node_id" type="xs:integer"/>
|
|
<xs:attribute name="parent" type="xs:integer"/>
|
|
<xs:attribute name="date" type="xs:integer"/>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="lang" type="xs:string"/>
|
|
<xs:attribute name="owner" type="xs:string"/>
|
|
<xs:attribute name="owner_id" type="xs:integer"/>
|
|
<xs:attribute name="author" type="xs:string"/>
|
|
<xs:attribute name="version" type="xs:float"/>
|
|
<xs:attribute name="probability" type="xs:integer"/>
|
|
<xs:attribute name="site" type="xs:integer" default="0"/>
|
|
<xs:attribute name="weight" type="xs:integer" default="0"/>
|
|
|
|
|
|
<xs:attributeGroup name="id_date_author">
|
|
<xs:attribute ref="id"/>
|
|
<xs:attribute ref="date"/>
|
|
<xs:attribute ref="author"/>
|
|
</xs:attributeGroup>
|
|
|
|
<xs:element name="g_ref">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
<xs:attribute ref="lang" use="required"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="quote" substitutionGroup="g_ref"/>
|
|
|
|
<xs:element name="coord">
|
|
<xs:complexType>
|
|
<xs:attribute name="axis" type="xs:string" use="required"/>
|
|
<xs:attribute name="at" type="xs:integer" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="dimension">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element ref="coord"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="arrow">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element ref="coord"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="site" use="required"/>
|
|
<xs:attribute name="weight" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="condition">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element ref="coord" minOccurs="1" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="site" use="required"/>
|
|
<xs:attribute name="weight" use="required"/>
|
|
<xs:attribute ref="node_id" use="required"/>
|
|
<xs:attribute ref="parent" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="state">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element ref="arrow"/>
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="object" substitutionGroup="state"/>
|
|
|
|
<xs:element name="transition">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element minOccurs="0" ref="quote"/>
|
|
<xs:element ref="arrow"/>
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
<xs:attribute ref="parent" use="required"/>
|
|
<xs:attribute ref="probability" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="gem-graph-model">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="1">
|
|
<xs:element name="identity">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="1">
|
|
<xs:element name="name" type="xs:string"/>
|
|
<xs:element name="owner" type="xs:string"/>
|
|
<xs:element name="owner_id" type="xs:integer"/>
|
|
<xs:element name="date" type="xs:integer"/>
|
|
<xs:element name="version" type="xs:float"/>
|
|
<xs:element ref="g_ref" minOccurs="1" maxOccurs="1"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="parameters">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="1">
|
|
|
|
<xs:element name="simulation">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="1">
|
|
<xs:element name="max_thread" type="xs:integer"/>
|
|
<xs:element name="max_cycles" type="xs:integer"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="space-param">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="1">
|
|
<xs:element ref="dimension"/>
|
|
<xs:element name="site_multiplicity" type="xs:integer"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="objects">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element ref="object"/>
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="savedstates">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element ref="state"/>
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="conditions">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element minOccurs="0" ref="quote"/>
|
|
<xs:element ref="condition"/>
|
|
</xs:sequence>
|
|
<xs:attributeGroup ref="id_date_author"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="transitions">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element ref="transition"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute ref="version" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:schema>
|