aboutsummaryrefslogtreecommitdiff
path: root/xsd
diff options
context:
space:
mode:
Diffstat (limited to 'xsd')
-rw-r--r--xsd/ee.xsd37
1 files changed, 30 insertions, 7 deletions
diff --git a/xsd/ee.xsd b/xsd/ee.xsd
index 3e0d024..64d0f11 100644
--- a/xsd/ee.xsd
+++ b/xsd/ee.xsd
@@ -31,7 +31,7 @@ TODO: rename 'id' to 'url'.
targetNamespace="http://purl.org/ee/bom-file"
xmlns="http://purl.org/ee/bom-file">
- <xs:attribute name="id" type="xs:string"/>
+ <xs:attribute name="uri" type="xs:anyURI"/>
<xs:element name="part-db" type="PartDb"/>
<xs:element name="part" type="Part"/>
@@ -44,14 +44,14 @@ TODO: rename 'id' to 'url'.
<xs:complexType name="Part">
<xs:sequence>
- <xs:element name="schema-reference" type="xs:string"/>
+ <!-- TODO: this should be a fact -->
<xs:element name="part-type" type="xs:anyURI"/>
- <xs:element name="part-numbers" type="PartNumberList"/>
+ <xs:element name="references" type="ReferencesList"/>
<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:attribute ref="uri"/>
</xs:complexType>
<xs:complexType name="PartList">
@@ -60,16 +60,39 @@ TODO: rename 'id' to 'url'.
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="PartUri">
+ <xs:sequence>
+ <xs:element name="value" type="xs:anyURI"/>
+ </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:complexType name="SupplierPartNumber">
+ <xs:sequence>
+ <xs:element name="value" type="xs:string"/>
+ <xs:element name="supplier" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="SchematicReference">
+ <xs:sequence>
+ <xs:element name="reference" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="ReferencesList">
<xs:sequence>
- <xs:element name="part-number" type="PartNumber" maxOccurs="unbounded"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="schematic-reference" type="SchematicReference"/>
+ <xs:element name="part-uri" type="PartUri"/>
+ <xs:element name="part-number" type="PartNumber"/>
+ <xs:element name="supplier-part-number" type="SupplierPartNumber"/>
+ </xs:choice>
</xs:sequence>
</xs:complexType>