<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <!-- déclaration des groupes d'attributs -->
-
- <xs:attributeGroup name="group_itemAttrGroup">
- <xs:attribute ref="id"/>
- <xs:attribute ref="name"/>
- <xs:attribute ref="upper_group"/>
- <xs:attribute ref="upper_item"/>
- <xs:attribute ref="position"/>
- <xs:attribute ref="dimension"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="group_ifaceAttrGroup">
- <xs:attribute ref="id"/>
- <xs:attribute ref="name"/>
- <xs:attribute ref="direction"/>
- <xs:attribute ref="orientation"/>
- <xs:attribute ref="position"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="block_itemsAttrGroup">
- <xs:attribute ref="functional_count" />
- <xs:attribute ref="group_count" />
- </xs:attributeGroup>
-
- <xs:attributeGroup name="bi_functionalAttrGroup">
- <xs:attribute ref="id" />
- <xs:attribute ref="ref_xml" />
- <xs:attribute ref="ref_md5" />
- <xs:attribute ref="name" />
- <xs:attribute ref="position" />
- <xs:attribute ref="dimension" />
- </xs:attributeGroup>
-
- <xs:attributeGroup name="bif_parameterAttrGroup">
- <xs:attribute ref="name" />
- <xs:attribute ref="value" />
- <xs:attribute ref="context" />
- <xs:attribute ref="type" />
-
- </xs:attributeGroup>
-
- <xs:attributeGroup name="bif_ifaceAttrGroup">
- <xs:attribute ref="id" />
- <xs:attribute ref="name" />
- <xs:attribute ref="ref_name" />
- <xs:attribute ref="orientation" />
- <xs:attribute ref="position" />
- </xs:attributeGroup>
-
- <xs:attributeGroup name="bi_groupAttrGroup">
- <xs:attribute ref="id" />
- <xs:attribute ref="inside_group" />
- <xs:attribute ref="position" />
- <xs:attribute ref="dimension" />
- </xs:attributeGroup>
-
- <xs:attributeGroup name="big_ifaceAttrGroup">
- <xs:attribute ref="id" />
- <xs:attribute ref="ref_name" />
- <xs:attribute ref="orientation" />
- <xs:attribute ref="position" />
- </xs:attributeGroup>
-
- <xs:attributeGroup name="connectionAttrGroup">
- <xs:attribute ref="from" />
- <xs:attribute ref="to" />
- </xs:attributeGroup>
-
-
- <!-- déclaration des attributs -->
-
- <xs:attribute name="count">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="id">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="upper_scene">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="-1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="upper_group">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="-1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="upper_item">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="-1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="inside_group">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="functional_count">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="group_count">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="value" type="xs:string"/>
-
- <xs:attribute name="from">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="to">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="position" type="xs:string"/>
- <xs:attribute name="dimension" type="xs:string"/>
- <xs:attribute name="direction" type="xs:string"/>
- <xs:attribute name="orientation" type="xs:string"/>
- <xs:attribute name="name" type="xs:string"/>
- <xs:attribute name="ref_name" type="xs:string"/>
- <xs:attribute name="ref_xml" type="xs:string"/>
- <xs:attribute name="ref_md5" type="xs:string"/>
- <xs:attribute name="context" type="xs:string"/>
- <xs:attribute name="type" type="xs:string"/>
-
-
- <!-- déclaration des groupes d'éléments -->
-
- <xs:group name="rootElmtGroup">
- <xs:sequence>
- <xs:element ref="scenes"/>
- <xs:element ref="connections"/>
- </xs:sequence>
- </xs:group>
-
- <xs:group name="sceneElmtGroup">
- <xs:sequence>
- <xs:element ref="group_item"/>
- <xs:element ref="block_items"/>
- </xs:sequence>
- </xs:group>
-
- <xs:group name="block_itemsElmtGroup">
+ <!-- déclaration des groupes d'attributs -->
+
+ <xs:attributeGroup name="group_itemAttrGroup">
+ <xs:attribute ref="id"/>
+ <xs:attribute ref="name"/>
+ <xs:attribute ref="upper_group"/>
+ <xs:attribute ref="upper_item"/>
+ <xs:attribute ref="position"/>
+ <xs:attribute ref="dimension"/>
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="group_ifaceAttrGroup">
+ <xs:attribute ref="id"/>
+ <xs:attribute ref="name"/>
+ <xs:attribute ref="purpose"/>
+ <xs:attribute ref="direction"/>
+ <xs:attribute ref="orientation"/>
+ <xs:attribute ref="position"/>
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="source_itemsAttrGroup">
+ <xs:attribute ref="count" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="block_itemsAttrGroup">
+ <xs:attribute ref="functional_count" />
+ <xs:attribute ref="group_count" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="source_itemAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="ref_xml" />
+ <xs:attribute ref="ref_md5" />
+ <xs:attribute ref="name" />
+ <xs:attribute ref="position" />
+ <xs:attribute ref="dimension" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="bi_functionalAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="ref_xml" />
+ <xs:attribute ref="ref_md5" />
+ <xs:attribute ref="name" />
+ <xs:attribute ref="position" />
+ <xs:attribute ref="dimension" />
+ <xs:attribute ref="visible" use="optional"/>
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="source_parameterAttrGroup">
+ <xs:attribute ref="name" />
+ <xs:attribute ref="value" />
+ <xs:attribute ref="context" />
+ <xs:attribute ref="type" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="bif_parameterAttrGroup">
+ <xs:attribute ref="name" />
+ <xs:attribute ref="value" />
+ <xs:attribute ref="context" />
+ <xs:attribute ref="type" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="source_ifaceAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="name" />
+ <xs:attribute ref="ref_name" />
+ <xs:attribute ref="orientation" />
+ <xs:attribute ref="position" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="bif_ifaceAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="name" />
+ <xs:attribute ref="ref_name" />
+ <xs:attribute ref="orientation" />
+ <xs:attribute ref="position" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="bi_groupAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="inside_group" />
+ <xs:attribute ref="position" />
+ <xs:attribute ref="dimension" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="big_ifaceAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="ref_name" />
+ <xs:attribute ref="orientation" />
+ <xs:attribute ref="position" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="connectionAttrGroup">
+ <xs:attribute ref="from" />
+ <xs:attribute ref="to" />
+ <xs:attribute ref="visible" use="optional" />
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="modifierAttrGroup">
+ <xs:attribute ref="id" />
+ <xs:attribute ref="type" />
+ <xs:attribute ref="params" />
+ </xs:attributeGroup>
+
+
+ <!-- déclaration des attributs -->
+
+ <xs:attribute name="count">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="id">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="upper_scene">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="-1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="upper_group">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="-1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="upper_item">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="-1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="visible">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="inside_group">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="functional_count">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="group_count">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="value" type="xs:string"/>
+
+ <xs:attribute name="from">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="to">
+ <xs:simpleType>
+ <xs:restriction base="xs:nonNegativeInteger">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="purpose">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="data"/>
+ <xs:enumeration value="clock"/>
+ <xs:enumeration value="reset"/>
+ <xs:enumeration value="wishbone"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="direction">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="input"/>
+ <xs:enumeration value="output"/>
+ <xs:enumeration value="inout"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="orientation">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="west"/>
+ <xs:enumeration value="east"/>
+ <xs:enumeration value="north"/>
+ <xs:enumeration value="south"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="position" type="xs:string"/>
+ <xs:attribute name="dimension" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="ref_name" type="xs:string"/>
+ <xs:attribute name="ref_xml" type="xs:string"/>
+ <xs:attribute name="ref_md5" type="xs:string"/>
+ <xs:attribute name="context" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="params" type="xs:string"/>
+ <xs:attribute name="project_path" type="xs:string"/>
+
+
+ <!-- déclaration des groupes d'éléments -->
+
+ <xs:group name="rootElmtGroup">
+ <xs:sequence>
+ <xs:element ref="scenes"/>
+ <xs:element ref="connections"/>
+ <xs:element ref="modifiers"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="sceneElmtGroup">
+ <xs:sequence>
+ <xs:element ref="group_item"/>
+ <xs:element ref="source_items" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="block_items"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="source_itemsElmtGroup">
+ <xs:sequence>
+ <xs:element ref="source_item" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="block_itemsElmtGroup">
+ <xs:sequence>
+ <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="bi_group" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="source_itemElmtGroup">
+ <xs:sequence>
+ <xs:element ref="source_parameters"/>
+ <xs:element ref="source_ifaces"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="bi_functionalElmtGroup">
+ <xs:sequence>
+ <xs:element ref="bif_parameters"/>
+ <xs:element ref="bif_ifaces"/>
+ </xs:sequence>
+ </xs:group>
+
+
+ <!-- déclaration des éléments -->
+
+ <xs:element name="scenes">
+ <xs:complexType>
<xs:sequence>
- <xs:element ref="bi_group" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:group name="bi_functionalElmtGroup">
- <xs:sequence>
- <xs:element ref="bif_parameters"/>
- <xs:element ref="bif_ifaces"/>
- </xs:sequence>
- </xs:group>
-
-
- <!-- déclaration des éléments -->
-
- <xs:element name="scenes">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="scene" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute ref="count"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="scene">
- <xs:complexType>
- <xs:group ref="sceneElmtGroup"/>
- <xs:attribute ref="id"/>
- <xs:attribute ref="upper_scene"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="group_item">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="group_ifaces" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attributeGroup ref="group_itemAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="group_ifaces">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute ref="count"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="group_iface">
- <xs:complexType>
- <xs:attributeGroup ref="group_ifaceAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="block_items">
- <xs:complexType>
- <xs:group ref="block_itemsElmtGroup"/>
- <xs:attributeGroup ref="block_itemsAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bi_functional">
- <xs:complexType>
- <xs:group ref="bi_functionalElmtGroup"/>
- <xs:attributeGroup ref="bi_functionalAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bif_parameters">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bif_parameter">
- <xs:complexType>
- <xs:attributeGroup ref="bif_parameterAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bif_ifaces">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute ref="count"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bif_iface">
- <xs:complexType>
- <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bi_group">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="big_ifaces"/>
- </xs:sequence>
- <xs:attributeGroup ref="bi_groupAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="big_ifaces">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute ref="count" />
- </xs:complexType>
- </xs:element>
-
- <xs:element name="big_iface">
- <xs:complexType>
- <xs:attributeGroup ref="big_ifaceAttrGroup" />
- </xs:complexType>
- </xs:element>
-
- <xs:element name="connections">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute ref="count" />
- </xs:complexType>
- </xs:element>
-
- <xs:element name="connection">
- <xs:complexType>
- <xs:attributeGroup ref="connectionAttrGroup"/>
- </xs:complexType>
- </xs:element>
-
- <!-- racine du document -->
-
- <xs:element name="blast_project">
- <xs:complexType>
- <xs:group ref="rootElmtGroup"/>
- </xs:complexType>
- </xs:element>
+ <xs:element ref="scene" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute ref="count"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="scene">
+ <xs:complexType>
+ <xs:group ref="sceneElmtGroup"/>
+ <xs:attribute ref="id"/>
+ <xs:attribute ref="upper_scene"/>
+ <xs:attribute name="clklist" type="xs:string" use="optional" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="group_item">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="group_ifaces" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="group_itemAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="group_ifaces">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute ref="count"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="group_iface">
+ <xs:complexType>
+ <xs:attributeGroup ref="group_ifaceAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="source_items">
+ <xs:complexType>
+ <xs:group ref="source_itemsElmtGroup"/>
+ <xs:attributeGroup ref="source_itemsAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="block_items">
+ <xs:complexType>
+ <xs:group ref="block_itemsElmtGroup"/>
+ <xs:attributeGroup ref="block_itemsAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="source_item">
+ <xs:complexType>
+ <xs:group ref="source_itemElmtGroup"/>
+ <xs:attributeGroup ref="source_itemAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="bi_functional">
+ <xs:complexType>
+ <xs:group ref="bi_functionalElmtGroup"/>
+ <xs:attributeGroup ref="bi_functionalAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="source_parameters">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="source_parameter" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="source_parameter">
+ <xs:complexType>
+ <xs:attributeGroup ref="source_parameterAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="bif_parameters">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="bif_parameter">
+ <xs:complexType>
+ <xs:attributeGroup ref="bif_parameterAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="source_ifaces">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="source_iface" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute ref="count"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="source_iface">
+ <xs:complexType>
+ <xs:attributeGroup ref="source_ifaceAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="bif_ifaces">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute ref="count"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="bif_iface">
+ <xs:complexType>
+ <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="bi_group">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="big_ifaces"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="bi_groupAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="big_ifaces">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute ref="count" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="big_iface">
+ <xs:complexType>
+ <xs:attributeGroup ref="big_ifaceAttrGroup" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="connections">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute ref="count" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="connection">
+ <xs:complexType>
+ <xs:attributeGroup ref="connectionAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="modifiers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="modifier" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="modifier">
+ <xs:complexType>
+ <xs:attributeGroup ref="modifierAttrGroup"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- racine du document -->
+
+ <xs:element name="blast_project">
+ <xs:complexType>
+ <xs:group ref="rootElmtGroup"/>
+ <xs:attribute ref="project_path" />
+ </xs:complexType>
+ </xs:element>
</xs:schema>