Xcos file validation: update the XSD file 37/10137/1
Clément DAVID [Mon, 7 Jan 2013 15:51:45 +0000 (16:51 +0100)]
Change-Id: I7e2146cb7f90772e926f0103b78e8c81dd72d728

scilab/modules/xcos/etc/XcosFile.xsd

index 8909d27..b0ce280 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:element name="XcosDiagram" type="XcosDiagramType">
-      <xs:key name="mxGraphId">
-        <xs:selector xpath="./mxGraphModel/root/*"/>
-        <xs:field xpath="@id"/>
-      </xs:key>
-      <xs:keyref name="mxGraphIdRef" refer="mxGraphId">
-        <xs:selector xpath="*"/>
-        <xs:field xpath="@parent"/>
-      </xs:keyref>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="XcosDiagram">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="Array"/>
+        <xs:element minOccurs="0" ref="mxUndoManager"/>
+        <xs:element ref="mxGraphModel"/>
+        <xs:element ref="mxCell"/>
+        <xs:element minOccurs="0" ref="mxPoint"/>
+      </xs:sequence>
+      <xs:attribute name="background" use="required" type="xs:integer"/>
+      <xs:attribute name="debugLevel" type="xs:integer"/>
+      <xs:attribute name="finalIntegrationTime" type="xs:double"/>
+      <xs:attribute name="gridEnabled" type="xs:integer"/>
+      <xs:attribute name="integratorAbsoluteTolerance" type="xs:double"/>
+      <xs:attribute name="integratorRelativeTolerance" type="xs:double"/>
+      <xs:attribute name="maxIntegrationTimeInterval" type="xs:decimal"/>
+      <xs:attribute name="maxIntegrationTimeinterval" type="xs:decimal"/>
+      <xs:attribute name="maximumStepSize" type="xs:decimal"/>
+      <xs:attribute name="modified" type="xs:integer"/>
+      <xs:attribute name="opened" type="xs:integer"/>
+      <xs:attribute name="realTimeScaling" type="xs:decimal"/>
+      <xs:attribute name="savedFile"/>
+      <xs:attribute name="solver" type="xs:decimal"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="toleranceOnTime" type="xs:double"/>
+    </xs:complexType>
   </xs:element>
-  <xs:element name="SuperBlockDiagram" type="SuperBlockDiagramType">
-        <xs:key name="mxGraphCellId">
-        <xs:selector xpath="./mxGraphModel/root/*"/>
-        <xs:field xpath="@id"/>
-      </xs:key>
-      <xs:keyref name="mxGraphCellIdRef" refer="mxGraphCellId">
-        <xs:selector xpath="*"/>
-        <xs:field xpath="@parent"/>
-      </xs:keyref>
+  <xs:element name="mxUndoManager">
+    <xs:complexType>
+      <xs:attribute name="as" use="required" type="xs:NCName"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Array">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+          <xs:element ref="ScilabString"/>
+          <xs:element ref="ScilabBoolean"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element ref="ScilabInteger"/>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="mxPoint"/>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="add"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="scilabClass" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ScilabBoolean">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="data"/>
+      </xs:sequence>
+      <xs:attribute name="height" use="required" type="xs:integer"/>
+      <xs:attribute name="width" use="required" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ScilabInteger">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="data"/>
+      </xs:sequence>
+      <xs:attribute name="height" use="required" type="xs:integer"/>
+      <xs:attribute name="intPrecision" type="xs:NCName"/>
+      <xs:attribute name="width" use="required" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="add">
+    <xs:complexType>
+      <xs:attribute name="value" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mxGraphModel">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="root"/>
+      </xs:sequence>
+      <xs:attribute name="as" use="required" type="xs:NCName"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="root">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="BasicBlock"/>
+        <xs:element ref="CommandPort"/>
+        <xs:element ref="ControlPort"/>
+        <xs:element ref="ExplicitInputPort"/>
+        <xs:element ref="ExplicitOutputPort"/>
+        <xs:element ref="ImplicitInputPort"/>
+        <xs:element ref="ImplicitOutputPort"/>
+        <xs:element ref="mxCell"/>
+        <xs:element ref="AfficheBlock"/>
+        <xs:element ref="BigSom"/>
+        <xs:element ref="CommandControlLink"/>
+        <xs:element ref="ConstBlock"/>
+        <xs:element ref="EventInBlock"/>
+        <xs:element ref="EventOutBlock"/>
+        <xs:element ref="ExplicitInBlock"/>
+        <xs:element ref="ExplicitLink"/>
+        <xs:element ref="ExplicitOutBlock"/>
+        <xs:element ref="GainBlock"/>
+        <xs:element ref="GroundBlock"/>
+        <xs:element ref="ImplicitInBlock"/>
+        <xs:element ref="ImplicitLink"/>
+        <xs:element ref="ImplicitOutBlock"/>
+        <xs:element ref="PrintBlock"/>
+        <xs:element ref="Product"/>
+        <xs:element ref="RoundBlock"/>
+        <xs:element ref="SplitBlock"/>
+        <xs:element ref="Summation"/>
+        <xs:element ref="SuperBlock"/>
+        <xs:element ref="TextBlock"/>
+        <xs:element ref="VoltageSensorBlock"/>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AfficheBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="hashCode" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="BigSom">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+      <xs:attribute name="value" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="CommandControlLink">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="mxGeometry"/>
+        <xs:choice>
+          <xs:element ref="BasicBlock"/>
+          <xs:element ref="mxCell"/>
+        </xs:choice>
+        <xs:sequence minOccurs="0">
+          <xs:element ref="CommandPort"/>
+          <xs:element ref="ControlPort"/>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ConstBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="angle" type="xs:integer"/>
+      <xs:attribute name="blockType" use="required" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="EventInBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+        <xs:element minOccurs="0" ref="mxCell"/>
+      </xs:sequence>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:integer"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="EventOutBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:element ref="ScilabDouble"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Array"/>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ExplicitInBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+        <xs:element minOccurs="0" ref="mxCell"/>
+      </xs:sequence>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:integer"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ExplicitLink">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="mxGeometry"/>
+        <xs:element ref="mxCell"/>
+        <xs:sequence minOccurs="0">
+          <xs:element ref="ExplicitOutputPort"/>
+          <xs:element ref="ExplicitInputPort"/>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ExplicitOutBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+        <xs:element minOccurs="0" ref="mxCell"/>
+      </xs:sequence>
+      <xs:attribute name="angle" type="xs:integer"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:integer"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GainBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+        <xs:element minOccurs="0" ref="mxCell"/>
+      </xs:sequence>
+      <xs:attribute name="angle" type="xs:integer"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GroundBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ImplicitInBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:element maxOccurs="unbounded" ref="ScilabDouble"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Array"/>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="angle" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ImplicitLink">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="mxGeometry"/>
+        <xs:element ref="mxCell"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="ImplicitInputPort"/>
+          <xs:element ref="ImplicitOutputPort"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ImplicitOutBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:element maxOccurs="unbounded" ref="ScilabDouble"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Array"/>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="PrintBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+      <xs:attribute name="value" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Product">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+      <xs:attribute name="value" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RoundBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="dependsOnU" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SplitBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="ScilabString"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+        <xs:element minOccurs="0" ref="mxCell"/>
+      </xs:sequence>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="dependsOnU" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:NCName"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Summation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ScilabString"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+      <xs:attribute name="value"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SuperBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="SuperBlockDiagram"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+          <xs:element ref="ScilabString"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="angle" type="xs:integer"/>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SuperBlockDiagram">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="mxGraphModel"/>
+        </xs:choice>
+        <xs:element ref="mxCell"/>
+        <xs:element minOccurs="0" ref="mxPoint"/>
+      </xs:sequence>
+      <xs:attribute name="as" use="required" type="xs:NCName"/>
+      <xs:attribute name="background" type="xs:integer"/>
+      <xs:attribute name="finalIntegrationTime" type="xs:decimal"/>
+      <xs:attribute name="gridEnabled" type="xs:integer"/>
+      <xs:attribute name="integratorAbsoluteTolerance" type="xs:double"/>
+      <xs:attribute name="integratorRelativeTolerance" type="xs:decimal"/>
+      <xs:attribute name="maxIntegrationTimeInterval" type="xs:decimal"/>
+      <xs:attribute name="solver" type="xs:decimal"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="toleranceOnTime" type="xs:decimal"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="TextBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="ScilabString"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="VoltageSensorBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mxCell">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="edge" type="xs:integer"/>
+      <xs:attribute name="id" use="required"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="source" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mxPoint">
+    <xs:complexType>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="x" type="xs:decimal"/>
+      <xs:attribute name="y" type="xs:decimal"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="data">
+    <xs:complexType>
+      <xs:attribute name="bUnsigned" type="xs:boolean"/>
+      <xs:attribute name="column" use="required" type="xs:integer"/>
+      <xs:attribute name="line" use="required" type="xs:integer"/>
+      <xs:attribute name="realPart" type="xs:double"/>
+      <xs:attribute name="value"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ScilabDouble">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="data"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="height" use="required" type="xs:integer"/>
+      <xs:attribute name="width" use="required" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ScilabString">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="data"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="height" use="required" type="xs:integer"/>
+      <xs:attribute name="width" use="required" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ControlPort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="connectedLinkId" type="xs:integer"/>
+      <xs:attribute name="dataType" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mxGeometry">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="Array"/>
+        <xs:element ref="mxPoint"/>
+      </xs:choice>
+      <xs:attribute name="as" use="required" type="xs:NCName"/>
+      <xs:attribute name="height" type="xs:decimal"/>
+      <xs:attribute name="relative" type="xs:integer"/>
+      <xs:attribute name="width" type="xs:decimal"/>
+      <xs:attribute name="x" type="xs:decimal"/>
+      <xs:attribute name="y" type="xs:decimal"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ExplicitOutputPort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="connectedLinkId" type="xs:integer"/>
+      <xs:attribute name="dataColumns" type="xs:integer"/>
+      <xs:attribute name="dataLines" type="xs:integer"/>
+      <xs:attribute name="dataType" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ExplicitInputPort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="Orientation"/>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="connectedLinkId" type="xs:integer"/>
+      <xs:attribute name="dataColumns" type="xs:integer"/>
+      <xs:attribute name="dataLines" type="xs:integer"/>
+      <xs:attribute name="dataType" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ImplicitInputPort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="Orientation"/>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="connectedLinkId" type="xs:integer"/>
+      <xs:attribute name="dataColumns" type="xs:integer"/>
+      <xs:attribute name="dataLines" type="xs:integer"/>
+      <xs:attribute name="dataType" use="required" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:NCName"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ImplicitOutputPort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="Orientation"/>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="connectedLinkId" type="xs:integer"/>
+      <xs:attribute name="dataColumns" type="xs:integer"/>
+      <xs:attribute name="dataLines" type="xs:integer"/>
+      <xs:attribute name="dataType" use="required" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="value" type="xs:NCName"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="BasicBlock">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="Array"/>
+          <xs:element ref="ScilabDouble"/>
+          <xs:element ref="ScilabString"/>
+        </xs:choice>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="angle" type="xs:integer"/>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="blockType" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="dependsOnT" type="xs:integer"/>
+      <xs:attribute name="dependsOnU" type="xs:integer"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+      <xs:attribute name="ordering" type="xs:integer"/>
+      <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="simulationFunctionName" use="required"/>
+      <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+      <xs:attribute name="style" use="required"/>
+      <xs:attribute name="value"/>
+      <xs:attribute name="vertex" type="xs:integer"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="CommandPort">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="mxGeometry"/>
+      </xs:sequence>
+      <xs:attribute name="as" type="xs:NCName"/>
+      <xs:attribute name="connectable" type="xs:integer"/>
+      <xs:attribute name="connectedLinkId" type="xs:integer"/>
+      <xs:attribute name="dataType" type="xs:NCName"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="initialState" type="xs:decimal"/>
+      <xs:attribute name="ordering" use="required" type="xs:integer"/>
+      <xs:attribute name="parent" type="xs:NMTOKEN"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="visible" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Orientation">
+    <xs:complexType>
+      <xs:attribute name="as" use="required" type="xs:NCName"/>
+      <xs:attribute name="value" use="required" type="xs:NCName"/>
+    </xs:complexType>
   </xs:element>
-  <xs:simpleType name="uidType">
-    <xs:restriction base="xs:string">
-        <xs:pattern value="(-)?[a-z0-9]+:(-)?[a-z0-9]+:(-)?[a-z0-9]+(#identifier)?"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:complexType name="addType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute type="xs:string" name="value" use="optional"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="ArrayType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="addType" name="add"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="dataType" name="data"/>
-      <xs:element type="mxPointType" name="mxPoint"/>
-      <xs:element type="ScilabBooleanType" name="ScilabBoolean"/>
-      <xs:element type="ScilabIntegerType" name="ScilabInteger"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:string" name="scilabClass" use="optional"/>
-    <xs:attribute type="xs:short" name="height" use="optional"/>
-    <xs:attribute type="xs:byte" name="width" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="mxCellType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="dataType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute type="xs:byte" name="column" use="optional"/>
-        <xs:attribute type="xs:short" name="line" use="optional"/>
-        <xs:attribute type="xs:string" name="value" use="optional"/>
-        <xs:attribute type="xs:float" name="realPart" use="optional"/>
-        <xs:attribute type="xs:string" name="bUnsigned" use="optional"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="ScilabStringType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="dataType" name="data"/>
-      <xs:element type="addType" name="add"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxPointType" name="mxPoint"/>
-      <xs:element type="ScilabBooleanType" name="ScilabBoolean"/>
-      <xs:element type="ScilabIntegerType" name="ScilabInteger"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="height" use="optional"/>
-    <xs:attribute type="xs:byte" name="width" use="optional"/>
-    <xs:attribute type="xs:string" name="scilabClass" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ScilabDoubleType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="addType" name="add"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="dataType" name="data"/>
-      <xs:element type="mxPointType" name="mxPoint"/>
-      <xs:element type="ScilabBooleanType" name="ScilabBoolean"/>
-      <xs:element type="ScilabIntegerType" name="ScilabInteger"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="height" use="optional"/>
-    <xs:attribute type="xs:byte" name="width" use="optional"/>
-    <xs:attribute type="xs:string" name="scilabClass" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="mxGeometryType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxPointType" name="mxPoint"/>
-      <xs:element type="ArrayType" name="Array"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:float" name="height" use="optional"/>
-    <xs:attribute type="xs:float" name="width" use="optional"/>
-    <xs:attribute type="xs:float" name="x" use="optional"/>
-    <xs:attribute type="xs:float" name="y" use="optional"/>
-    <xs:attribute type="xs:byte" name="relative" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="BasicBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry" minOccurs="0"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ImplicitOutputPortType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry" minOccurs="0"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ImplicitInputPortType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ImplicitInBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ImplicitOutBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="SplitBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ImplicitLinkType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="mxPointType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute type="xs:string" name="as" use="optional"/>
-        <xs:attribute type="xs:float" name="x" use="optional"/>
-        <xs:attribute type="xs:float" name="y" use="optional"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="rootType">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="BasicBlockType" name="BasicBlock"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="ImplicitInBlockType" name="ImplicitInBlock"/>
-      <xs:element type="ImplicitOutBlockType" name="ImplicitOutBlock"/>
-      <xs:element type="SplitBlockType" name="SplitBlock"/>
-      <xs:element type="ImplicitLinkType" name="ImplicitLink"/>
-      <xs:element type="SuperBlockType" name="SuperBlock"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="CommandControlLinkType" name="CommandControlLink"/>
-      <xs:element type="ExplicitLinkType" name="ExplicitLink"/>
-      <xs:element type="TextBlockType" name="TextBlock"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="GroundBlockType" name="GroundBlock"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="GainBlockType" name="GainBlock"/>
-      <xs:element type="ExplicitOutBlockType" name="ExplicitOutBlock"/>
-      <xs:element type="ConstBlockType" name="ConstBlock"/>
-      <xs:element type="VoltageSensorBlockType" name="VoltageSensorBlock"/>
-      <xs:element type="AfficheBlockType" name="AfficheBlock"/>
-      <xs:element type="ExplicitInBlockType" name="ExplicitInBlock"/>
-      <xs:element type="BigSomType" name="BigSom"/>
-      <xs:element type="ProductType" name="Product"/>
-      <xs:element type="RoundBlockType" name="RoundBlock"/>
-      <xs:element type="EventInBlockType" name="EventInBlock"/>
-      <xs:element type="SummationType" name="Summation"/>
-      <xs:element type="PrintBlockType" name="PrintBlock"/>
-      <xs:element type="EventOutBlockType" name="EventOutBlock"/>
-    </xs:choice>
-  </xs:complexType>
-  <xs:complexType name="mxGraphModelType">
-    <xs:sequence>
-      <xs:element type="rootType" name="root"/>
-    </xs:sequence>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="SuperBlockDiagramType">
-    <xs:sequence>
-      <xs:element type="ArrayType" name="Array" minOccurs="0"/>
-      <xs:element type="mxGraphModelType" name="mxGraphModel"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-    </xs:sequence>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="background" use="optional"/>
-    <xs:attribute type="xs:float" name="finalIntegrationTime" use="optional"/>
-    <xs:attribute type="xs:float" name="solver" use="optional"/>
-    <xs:attribute type="xs:string" name="title" use="optional"/>
-    <xs:attribute type="xs:byte" name="gridEnabled" use="optional"/>
-    <xs:attribute type="xs:float" name="integratorRelativeTolerance" use="optional"/>
-    <xs:attribute type="xs:float" name="toleranceOnTime" use="optional"/>
-    <xs:attribute type="xs:float" name="integratorAbsoluteTolerance" use="optional"/>
-    <xs:attribute type="xs:float" name="maxIntegrationTimeInterval" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ScilabBooleanType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="dataType" name="data"/>
-      <xs:element type="addType" name="add"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxPointType" name="mxPoint"/>
-      <xs:element type="ScilabBooleanType" name="ScilabBoolean"/>
-      <xs:element type="ScilabIntegerType" name="ScilabInteger"/>
-    </xs:choice>
-    <xs:attribute type="xs:short" name="height" use="optional"/>
-    <xs:attribute type="xs:byte" name="width" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:string" name="scilabClass" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="SuperBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ExplicitInputPortType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ExplicitOutputPortType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="CommandPortType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ControlPortType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="CommandControlLinkType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="BasicBlockType" name="BasicBlock"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ExplicitLinkType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="mxGeometryType" name="mxGeometry" minOccurs="0"/>
-      <xs:element type="mxCellType" name="mxCell" minOccurs="0"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="TextBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="GroundBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="OrientationType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute type="xs:string" name="as" use="optional"/>
-        <xs:attribute type="xs:string" name="value" use="optional"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="XcosDiagramType">
-    <xs:sequence>
-      <xs:element type="ArrayType" name="Array" minOccurs="0"/>
-      <xs:element type="mxUndoManagerType" name="mxUndoManager" minOccurs="0"/>
-      <xs:element type="mxGraphModelType" name="mxGraphModel"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-    <xs:element type="mxPointType" name="mxPoint" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute type="xs:byte" name="background" use="optional"/>
-    <xs:attribute type="xs:float" name="finalIntegrationTime" use="optional"/>
-    <xs:attribute type="xs:float" name="solver" use="optional"/>
-    <xs:attribute type="xs:string" name="title" use="optional"/>
-    <xs:attribute type="xs:float" name="integratorAbsoluteTolerance" use="optional"/>
-    <xs:attribute type="xs:float" name="integratorRelativeTolerance" use="optional"/>
-    <xs:attribute type="xs:byte" name="opened" use="optional"/>
-    <xs:attribute type="xs:float" name="realTimeScaling" use="optional"/>
-    <xs:attribute type="xs:float" name="maxIntegrationTimeinterval" use="optional"/>
-    <xs:attribute type="xs:string" name="savedFile" use="optional"/>
-    <xs:attribute type="xs:float" name="toleranceOnTime" use="optional"/>
-    <xs:attribute type="xs:byte" name="modified" use="optional"/>
-    <xs:attribute type="xs:byte" name="debugLevel" use="optional"/>
-    <xs:attribute type="xs:byte" name="gridEnabled" use="optional"/>
-    <xs:attribute type="xs:float" name="maxIntegrationTimeInterval" use="optional"/>
-    <xs:attribute type="xs:float" name="maximumStepSize" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="mxUndoManagerType">
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute type="xs:string" name="as" use="optional"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="GainBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ExplicitOutBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ConstBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="VoltageSensorBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="AfficheBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:int" name="hashCode" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ExplicitInBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="BigSomType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ScilabIntegerType">
-    <xs:sequence>
-      <xs:element type="dataType" name="data" maxOccurs="unbounded" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute type="xs:byte" name="height" use="optional"/>
-    <xs:attribute type="xs:string" name="intPrecision" use="optional"/>
-    <xs:attribute type="xs:byte" name="width" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="ProductType">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="RoundBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="SummationType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="EventInBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="PrintBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-    <xs:attribute type="xs:float" name="initialState" use="optional"/>
-  </xs:complexType>
-  <xs:complexType name="EventOutBlockType" mixed="true">
-    <xs:choice maxOccurs="unbounded" minOccurs="0">
-      <xs:element type="ScilabStringType" name="ScilabString"/>
-      <xs:element type="ScilabDoubleType" name="ScilabDouble"/>
-      <xs:element type="ArrayType" name="Array"/>
-      <xs:element type="mxGeometryType" name="mxGeometry"/>
-      <xs:element type="mxCellType" name="mxCell"/>
-      <xs:element type="ImplicitOutputPortType" name="ImplicitOutputPort"/>
-      <xs:element type="ImplicitInputPortType" name="ImplicitInputPort"/>
-      <xs:element type="OrientationType" name="Orientation"/>
-      <xs:element type="ExplicitOutputPortType" name="ExplicitOutputPort"/>
-      <xs:element type="ExplicitInputPortType" name="ExplicitInputPort"/>
-      <xs:element type="CommandPortType" name="CommandPort"/>
-      <xs:element type="ControlPortType" name="ControlPort"/>
-      <xs:element type="SuperBlockDiagramType" name="SuperBlockDiagram"/>
-    </xs:choice>
-    <xs:attribute type="xs:string" name="blockType" use="optional"/>
-    <xs:attribute type="uidType" name="id" use="required"/>
-    <xs:attribute type="xs:byte" name="ordering" use="optional"/>
-    <xs:attribute type="uidType" name="parent" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionType" use="optional"/>
-    <xs:attribute type="xs:string" name="value" use="optional"/>
-    <xs:attribute type="xs:string" name="as" use="optional"/>
-    <xs:attribute type="xs:byte" name="connectable" use="optional"/>
-    <xs:attribute type="xs:string" name="dataType" use="optional"/>
-    <xs:attribute type="xs:string" name="style" use="optional"/>
-    <xs:attribute type="xs:short" name="angle" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnU" use="optional"/>
-    <xs:attribute type="xs:string" name="interfaceFunctionName" use="optional"/>
-    <xs:attribute type="xs:string" name="simulationFunctionName" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataLines" use="optional"/>
-    <xs:attribute type="xs:short" name="connectedLinkId" use="optional"/>
-    <xs:attribute type="xs:byte" name="dataColumns" use="optional"/>
-    <xs:attribute type="xs:byte" name="visible" use="optional"/>
-    <xs:attribute type="xs:byte" name="dependsOnT" use="optional"/>
-    <xs:attribute type="xs:byte" name="vertex" use="optional"/>
-    <xs:attribute type="xs:byte" name="edge" use="optional"/>
-    <xs:attribute type="xs:string" name="source" use="optional"/>
-  </xs:complexType>
 </xs:schema>