WIP: XMLS non redondant et renommages
This commit is contained in:
parent
544a34de7c
commit
16eb05fa05
|
@ -1,22 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gem-graph-model version="0.2">
|
||||
<!-- Model identity informations -->
|
||||
<identity>
|
||||
<name>Modèle de test</name>
|
||||
|
||||
<owner>Gaston Lagaffe</owner>
|
||||
<owner>Léontine Patinette</owner>
|
||||
|
||||
<owner_id>2</owner_id>
|
||||
|
||||
<date>1629830000</date>
|
||||
<date>1630000000</date>
|
||||
|
||||
<version>1.0</version>
|
||||
|
||||
<g_ref id="texte" date="1629830000" author="Jean" lang="en">Ref</g_ref>
|
||||
<g_ref id="Cause" date="1630000000" author="toujours" lang="en">Ref</g_ref>
|
||||
</identity>
|
||||
|
||||
<!-- Model parameters -->
|
||||
<parameters id="texte" date="0" author="Gaston Lagaffe">
|
||||
<parameters id="texte" date="0" author="Léontine Trottine.">
|
||||
<simulation>
|
||||
<max_thread>0</max_thread>
|
||||
<max_cycles>9</max_cycles>
|
||||
|
@ -24,18 +22,19 @@
|
|||
</simulation>
|
||||
|
||||
<space-param>
|
||||
<dimension>
|
||||
<!-- loop_on_zero="true" anything moved before zero reenters at the end of space-->
|
||||
<!-- loop_on_zero="false" anything moved before zero is lost-->
|
||||
<!-- loop_on_max="true" anything moved beyond max reenters at the zero of space-->
|
||||
<!-- loop_on_max="false" anything moved beyond max is lost-->
|
||||
<axis name="x" size="29"/>
|
||||
<axis name="y" size="0"/>
|
||||
<axis name="z" size="0"/>
|
||||
|
||||
<dimension>
|
||||
<coord axis="x" at="29"/>
|
||||
</dimension>
|
||||
|
||||
<!-- Site_multiplicity = number of sites in a space unit. -->
|
||||
<!-- Each site points towards a neighbouring space unit. -->
|
||||
<!-- Several arrows can be stacked in the same site. -->
|
||||
|
||||
<site_multiplicity>3</site_multiplicity>
|
||||
|
||||
</space-param>
|
||||
|
@ -43,50 +42,50 @@
|
|||
</parameters>
|
||||
|
||||
<!-- Model objects definition -->
|
||||
<objects id="texte" date="1629830000" author="Jean Sirmai">
|
||||
<object id="dimer 1-1" date="1629830000" author="Jean Sirmai">
|
||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="2" weight="1"/>
|
||||
|
||||
<objects id="only dimers in this model" date="1630000000" author="inanimés,... âme ?">
|
||||
<object id="a dimer" date="1630000000" author="Alphonse">
|
||||
<arrow site="1" weight="1"><coord axis="x" at="0"/></arrow>
|
||||
<arrow site="2" weight="1"><coord axis="x" at="1"/></arrow>
|
||||
</object>
|
||||
|
||||
</objects>
|
||||
|
||||
|
||||
<!-- Saved space description (initial space is sequence 0) -->
|
||||
<savestates id="texte" date="1629830000" author="THE MATRIX">
|
||||
<space id="initial" date="1629830000" author="Jean Sirmai" sequence="0">
|
||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="2" weight="1"/>
|
||||
|
||||
<arrow x="10" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="11" y="0" z="0" site="2" weight="1"/>
|
||||
|
||||
<arrow x="20" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="21" y="0" z="0" site="2" weight="1"/>
|
||||
<savedstates id="texte" date="1630000000" author="Qui courrait dans l'herbe'">
|
||||
<state id="initial" date="1630000000" author="Une souris verte">
|
||||
<arrow site="1" weight="1"><coord axis="x" at="0"/></arrow>
|
||||
<arrow site="2" weight="1"><coord axis="x" at="1"/></arrow>
|
||||
<arrow site="1" weight="1"><coord axis="x" at="10"/></arrow>
|
||||
<arrow site="2" weight="1"><coord axis="x" at="11"/></arrow>
|
||||
<arrow site="1" weight="1"><coord axis="x" at="20"/></arrow>
|
||||
<arrow site="2" weight="1"><coord axis="x" at="21"/></arrow>
|
||||
|
||||
<!-- Three dimers 1-1 are drawn in the global space
|
||||
at locations (0,1) (10,11) and (20,21) -->
|
||||
|
||||
</space>
|
||||
</state>
|
||||
|
||||
</savestates>
|
||||
</savedstates>
|
||||
|
||||
<!-- Model transitions definition (rules) -->
|
||||
<!-- In this version : <xs:sequence minOccurs="0" maxOccurs="unbounded">-->
|
||||
<!-- Transitions should be edited by hand and written in a 'human-readable' format -->
|
||||
|
||||
<conditions id="random walk of dimers" date="1629822222" author="Jean">
|
||||
<conditions id="random walk of dimers" date="1630000000" author="Zazard le lézard !">
|
||||
|
||||
<condition x= "0" y="0" z="0" site="1" weight="1" node_id="1" parent="0"/>
|
||||
<condition x= "1" y="0" z="0" site="2" weight="1" node_id="2" parent="1"/>
|
||||
<!-- as soon as conditions 1 and 2 are satisfied, a dimer is identified at location (0,1). -->
|
||||
<condition site="1" weight="1" node_id="1" parent="0"><coord axis="x" at="0"/></condition>
|
||||
<condition site="2" weight="1" node_id="2" parent="1"><coord axis="x" at="1"/></condition>
|
||||
<!-- as soon as conditions 1 and 2 are satisfied, a dimer is identified at atation (0,1). -->
|
||||
|
||||
<condition x= "2" y="0" z="0" site="1" weight="0" node_id="3" parent="2"/>
|
||||
<condition site="1" weight="0" node_id="3" parent="2"><coord axis="x" at="2"/></condition>
|
||||
<!-- as soon as condition 3 is satisfied,
|
||||
the neighbouring space unit to East of the dimer is empty
|
||||
and the dimer identified by conditions (1,2) can be moved to East. -->
|
||||
|
||||
<condition x="-1" y="0" z="0" site="2" weight="0" node_id="4" parent="2"/>
|
||||
<condition site="2" weight="0" node_id="4" parent="2"><coord axis="x" at="-1"/></condition>
|
||||
<!-- as soon as condition 4 is satisfied,
|
||||
the neighbouring space unit to West of the dimer is empty
|
||||
and the dimer identified by conditions (1,2) can be moved to West. -->
|
||||
|
@ -95,27 +94,26 @@
|
|||
|
||||
<transitions>
|
||||
|
||||
<transition id="move_a_dimer_to_east" date="1629811111" author="Jean"
|
||||
<transition id="move_a_dimer_to_east" date="1630000000" author="Pas moi..."
|
||||
parent="3" probability="1">
|
||||
|
||||
<arrow x="0" y="0" z="0" site="1" weight="0"/>
|
||||
<arrow x="1" y="0" z="0" site="2" weight="0"/>
|
||||
<arrow x="1" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="2" y="0" z="0" site="2" weight="1"/>
|
||||
<arrow site="1" weight="0"><coord axis="x" at="0"/></arrow>
|
||||
<arrow site="2" weight="0"><coord axis="x" at="1"/></arrow>
|
||||
<arrow site="1" weight="1"><coord axis="x" at="1"/></arrow>
|
||||
<arrow site="2" weight="1"><coord axis="x" at="2"/></arrow>
|
||||
|
||||
</transition>
|
||||
|
||||
<transition id="move_a_dimer_to_west" date="1629811112" author="Jean"
|
||||
<transition id="move_a_dimer_to_west" date="1630000000" author="Ni moi !"
|
||||
parent="4" probability="1">
|
||||
|
||||
<arrow x= "0" y="0" z="0" site="1" weight="0"/>
|
||||
<arrow x= "1" y="0" z="0" site="2" weight="0"/>
|
||||
<arrow x= "0" y="0" z="0" site="2" weight="1"/>
|
||||
<arrow x="-1" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow site="1" weight="0"><coord axis="x" at="0"/></arrow>
|
||||
<arrow site="2" weight="0"><coord axis="x" at="1"/></arrow>
|
||||
<arrow site="2" weight="1"><coord axis="x" at="0"/></arrow>
|
||||
<arrow site="1" weight="1"><coord axis="x" at="1"/></arrow>
|
||||
|
||||
</transition>
|
||||
|
||||
</transitions>
|
||||
|
||||
</gem-graph-model>
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?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 -->
|
||||
<!-- https://www.w3schools.com/xml/el_attribute.asp -->
|
||||
<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"/>
|
||||
|
@ -11,12 +11,7 @@
|
|||
<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="sequence" type="xs:integer"/>
|
||||
<xs:attribute name="probability" type="xs:integer"/>
|
||||
<xs:attribute name="parent" type="xs:integer"/>
|
||||
<xs:attribute name="x" type="xs:integer" default="0"/>
|
||||
<xs:attribute name="y" type="xs:integer" default="0"/>
|
||||
<xs:attribute name="z" type="xs:integer" default="0"/>
|
||||
<xs:attribute name="site" type="xs:integer" default="0"/>
|
||||
<xs:attribute name="weight" type="xs:integer" default="0"/>
|
||||
|
||||
|
@ -27,14 +22,6 @@
|
|||
<xs:attribute ref="author"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:attributeGroup name="xyz_site_nb">
|
||||
<xs:attribute ref="x"/>
|
||||
<xs:attribute ref="y"/>
|
||||
<xs:attribute ref="z"/>
|
||||
<xs:attribute ref="site"/>
|
||||
<xs:attribute ref="weight"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:element name="g_ref">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
|
@ -48,31 +35,38 @@
|
|||
|
||||
<xs:element name="quote" substitutionGroup="g_ref"/>
|
||||
|
||||
<xs:element name="axis">
|
||||
<xs:element name="coord">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="quote"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="size" type="xs:integer" use="required"/>
|
||||
<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>
|
||||
<xs:element minOccurs="0" ref="quote"/>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element ref="coord"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="xyz_site_nb"/>
|
||||
<xs:attribute name="site" use="required"/>
|
||||
<xs:attribute name="weight" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="condition">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="quote"/>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element ref="coord" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="xyz_site_nb"/>
|
||||
<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>
|
||||
|
@ -89,16 +83,6 @@
|
|||
|
||||
<xs:element name="object" substitutionGroup="state"/>
|
||||
|
||||
<xs:element name="space">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element ref="arrow"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="id_date_author"/>
|
||||
<xs:attribute ref="sequence" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="transition">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
|
@ -113,50 +97,38 @@
|
|||
|
||||
<xs:element name="gem-graph-model">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="identity">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<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 minOccurs="0" ref="g_ref"/>
|
||||
<xs:element ref="g_ref" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="parameters">
|
||||
<xs:element name="parameters">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
|
||||
<xs:element name="simulation">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
|
||||
<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>
|
||||
|
||||
<xs:element name="dimension">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element ref="axis"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element ref="dimension"/>
|
||||
<xs:element name="site_multiplicity" type="xs:integer"/>
|
||||
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
@ -169,16 +141,16 @@
|
|||
<xs:element name="objects">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element ref="state"/>
|
||||
<xs:element ref="object"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="id_date_author"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="savestates">
|
||||
<xs:element name="savedstates">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="space"/>
|
||||
<xs:element ref="state"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="id_date_author"/>
|
||||
</xs:complexType>
|
||||
|
|
Loading…
Reference in New Issue