diff options
Diffstat (limited to 'xsd/ee.xsd')
-rw-r--r-- | xsd/ee.xsd | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/xsd/ee.xsd b/xsd/ee.xsd new file mode 100644 index 0000000..7c5c044 --- /dev/null +++ b/xsd/ee.xsd @@ -0,0 +1,106 @@ +<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="part-collection" type="PartCollection"/> + <xs:element name="part" type="Part"/> + + <xs:complexType name="PartCollection"> + <xs:sequence> + <xs:element name="parts" type="PartList" minOccurs="0"/> + </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="part-numbers" type="PartNumberList"/> + <xs:element name="distributor-info" type="DistributorInfo"/> + <xs:element name="facts" type="FactList"/> + <xs:element name="price-breaks" type="PriceBreakList"/> + </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="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:complexType name="Fact"> + <xs:sequence> + <xs:element name="key" type="xs:anyURI"/> + <xs:element name="label" type="xs:string"/> + <xs:element name="value" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FactList"> + <xs:sequence> + <xs:element name="fact" type="Fact" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DistributorInfo"> + <xs:sequence> + <xs:element name="state" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="Amount"> + <xs:attribute name="value" use="required"/> + <xs:attribute name="currency"/> + </xs:complexType> + + <xs:complexType name="PriceBreak"> + <xs:sequence> + <xs:element name="quantity" type="xs:anyURI"/> + <xs:element name="amount" type="Amount"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PriceBreakList"> + <xs:sequence> + <xs:element name="price-break" type="PriceBreak" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <!-- --> + + <xs:element name="file-index" type="IndexFile"/> + + <xs:complexType name="IndexFile"> + <xs:sequence> + <xs:element name="files" type="FileList" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="File"> + <xs:attribute name="path" use="required" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="FileList"> + <xs:sequence> + <xs:element name="file" type="File" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + +</xs:schema> |