diff options
Diffstat (limited to 'xsd')
-rw-r--r-- | xsd/ee-bom.xsd | 63 | ||||
-rw-r--r-- | xsd/ee-catalog.xsd | 26 |
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> |