aboutsummaryrefslogtreecommitdiff
path: root/xsd
diff options
context:
space:
mode:
Diffstat (limited to 'xsd')
-rw-r--r--xsd/ee-bom.xsd63
-rw-r--r--xsd/ee-catalog.xsd26
2 files changed, 89 insertions, 0 deletions
diff --git a/xsd/ee-bom.xsd b/xsd/ee-bom.xsd
new file mode 100644
index 0000000..a9a2cc1
--- /dev/null
+++ b/xsd/ee-bom.xsd
@@ -0,0 +1,63 @@
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://purl.org/ee/bom-file"
+ xmlns="http://purl.org/ee/bom-file">
+
+ <xs:attribute name="id" type="xs:string"/>
+
+ <xs:element name="bom-file" type="BomFile"/>
+
+ <xs:complexType name="BomFile">
+ <xs:sequence>
+ <xs:element name="parts" type="PartList" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Part">
+ <xs:sequence>
+ <xs:element name="schema-reference" type="xs:string"/>
+ <xs:element name="part-type" type="xs:anyURI"/>
+ <!--
+ <xs:element name="manufacturer-part-number" type="xs:string"/>
+ <xs:element name="distributor-part-numbers" type="DistributorPartNumberList"/>
+ -->
+ <xs:element name="part-numbers" type="PartNumberList"/>
+ </xs:sequence>
+ <xs:attribute ref="id" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="PartList">
+ <xs:sequence>
+ <xs:element name="part" type="Part" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!--
+ <xs:complexType name="DistributorPartNumber">
+ <xs:sequence>
+ <xs:element name="distributor" type="xs:anyURI"/>
+ <xs:element name="number" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="DistributorPartNumberList">
+ <xs:sequence>
+ <xs:element name="distributor-part-number" type="DistributorPartNumber" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ -->
+
+ <xs:complexType name="PartNumber">
+ <xs:sequence>
+ <xs:element name="value" type="xs:string"/>
+ <xs:element name="distributor" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="PartNumberList">
+ <xs:sequence>
+ <xs:element name="part-number" type="PartNumber" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/xsd/ee-catalog.xsd b/xsd/ee-catalog.xsd
new file mode 100644
index 0000000..6da3558
--- /dev/null
+++ b/xsd/ee-catalog.xsd
@@ -0,0 +1,26 @@
+<xsd:schema
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://purl.org/ee/bom-file"
+ xmlns="http://purl.org/ee/bom-file">
+
+ <xsd:element name="catalog-file" type="CatalogFile"/>
+
+ <xsd:complexType name="CatalogFile">
+ <xsd:sequence>
+ <xsd:element name="products" type="ProductList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Product">
+ <xsd:sequence>
+ <xsd:element name="ref" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ProductList">
+ <xsd:sequence>
+ <xsd:element name="product" type="Product" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>