]> AND Private Git Repository - blast.git/blobdiff - reference.xsd
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
started VHDL generation of GroupBlock
[blast.git] / reference.xsd
index 3fa3faaf4f4119ea85c2e356272e8a62f3ea2040..29f5d2821f7270e09ee8af42cd7b74732fe4c173 100644 (file)
@@ -4,8 +4,8 @@
     <!-- déclaration des groupes d'attributs -->
 
     <xs:attributeGroup name="parameterAttrGroup">
-       <xs:attribute ref="name" use="required"/>
-       <xs:attribute ref="type" use="required"/>
+      <xs:attribute ref="name" use="required"/>
+       <xs:attribute name="type" type="typeparam" use="required"/>
        <xs:attribute ref="wishbone" use="optional"/>
        <xs:attribute ref="value" use="optional"/>
        <xs:attribute ref="iface" use="optional"/>
     <xs:attributeGroup name="inOutAttrGroup">
        <xs:attribute ref="name" use="required"/>
        <xs:attribute ref="width" use="required"/>
-       <xs:attribute ref="type"/>
+       <xs:attribute name="type" type="typeiface"/>
        <xs:attribute ref="purpose"/>
        <xs:attribute ref="multiplicity"/>
+       <xs:attribute name="endian" type="typeendian" use="optional"/>  
     </xs:attributeGroup>
 
 
 
     <xs:attribute name="ids" type="xs:string"/>
     <xs:attribute name="name" type="xs:string"/>
-    <xs:attribute name="type" type="xs:string"/>
+
+    <xs:simpleType name="typeparam">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="string"/>
+       <xs:enumeration value="expression"/>
+       <xs:enumeration value="boolean"/>
+       <xs:enumeration value="integer"/>
+       <xs:enumeration value="natural"/>
+       <xs:enumeration value="positive"/>
+       <xs:enumeration value="real"/>
+       <xs:enumeration value="time"/>
+      </xs:restriction>
+    </xs:simpleType>
+
+    <xs:simpleType name="typeiface">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="expression"/>
+       <xs:enumeration value="boolean"/>
+       <xs:enumeration value="natural"/>
+      </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="typeendian">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="little"/>
+       <xs:enumeration value="big"/>
+      </xs:restriction>
+    </xs:simpleType>
+      
     <xs:attribute name="wishbone" type="xs:string"/>
     <xs:attribute name="context" type="xs:string" />
     <xs:attribute name="multiplicity" type="xs:string" />
     <!-- Racine du document -->
 
     <xs:element name="block">
-       <xs:complexType>
-           <xs:group ref="blockElmtGroup"/>
-       </xs:complexType>
+      <xs:complexType>
+       <xs:group ref="blockElmtGroup"/>
+       <xs:attribute name="version" type="xs:string" use="optional" />
+      </xs:complexType>
     </xs:element>
 
 </xs:schema>