Skip to content

Commit

Permalink
Merge pull request #17 from findologic/add_variants_to_schema
Browse files Browse the repository at this point in the history
add variants(FINDO-9595)
  • Loading branch information
nello1nello authored Oct 19, 2022
2 parents 7ee2276 + 53442b9 commit 7398748
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 21 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>com.findologic</groupId>
<artifactId>xml-export</artifactId>
<packaging>jar</packaging>
<version>2.0.0-SNAPSHOT</version>
<version>2.1.0-SNAPSHOT</version>
<name>xml-export</name>
<url>http://maven.apache.org</url>
</project>
71 changes: 51 additions & 20 deletions src/main/resources/findologic_20.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,28 @@
<xs:element type="bonusesType" name="bonuses" minOccurs="0" maxOccurs="1"/>
<xs:element type="sortsType" name="sorts" minOccurs="0" maxOccurs="1"/>
<xs:element type="visibilitiesType" name="visibilities" minOccurs="0" maxOccurs="1"/>
<xs:element type="variantsType" name="variants" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute type="nonEmptyString" name="id" use="required"/>
</xs:complexType>

<xs:complexType name="variantsType">
<xs:sequence>
<xs:element type="variantType" name="variant" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="variantType">
<xs:all>
<!-- Mandatory -->
<xs:element type="allOrdernumbersType" name="allOrdernumbers" minOccurs="1" maxOccurs="1"/>
<xs:element type="variantsAttributesType" name="allAttributes" minOccurs="1" maxOccurs="1"/>
<!-- Optional -->
<xs:element type="namesType" name="names" minOccurs="0" maxOccurs="1"/>
<xs:element type="pricesType" name="prices" minOccurs="0" maxOccurs="1"/>
<xs:element type="groupsType" name="groups" minOccurs="0" maxOccurs="1"/>
<xs:element type="allPropertiesType" name="allProperties" minOccurs="0" maxOccurs="1"/>
<xs:element type="overriddenPricesType" name="overriddenPrices" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute type="nonEmptyString" name="id" use="required"/>
</xs:complexType>
Expand Down Expand Up @@ -127,6 +149,17 @@
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="variantsAttributesType">
<xs:sequence>
<xs:element name="attributes" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element type="keyValuesPair" name="attribute" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>

<!-- URLs -->
<xs:complexType name="urlsType">
Expand All @@ -153,18 +186,18 @@
<!-- Prices -->
<xs:complexType name="pricesType">
<xs:sequence>
<xs:element name="price" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute type="nonEmptyString" name="usergroup" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="basePriceType" name="price" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="basePriceType">
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute type="nonEmptyString" name="usergroup" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

<!-- Ordernumber -->
<xs:complexType name="allOrdernumbersType">
<xs:sequence>
Expand All @@ -189,7 +222,7 @@
<!-- Simple type variations -->
<xs:simpleType name="httpURI">
<xs:restriction base="xs:anyURI">
<xs:pattern value="http[s]?://.*"/>
<xs:pattern value="(http[s]?:/)?/.*"/>
</xs:restriction>
</xs:simpleType>

Expand Down Expand Up @@ -299,15 +332,7 @@

<xs:complexType name="overriddenPricesType">
<xs:sequence>
<xs:element name="overriddenPrice" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute type="nonEmptyString" name="usergroup" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="basePriceType" name="overriddenPrice" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

Expand All @@ -316,7 +341,7 @@
<xs:element name="bonus" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:extension base="bonusRangeType">
<xs:attribute type="nonEmptyString" name="usergroup" use="optional"/>
</xs:extension>
</xs:simpleContent>
Expand All @@ -325,6 +350,12 @@
</xs:sequence>
</xs:complexType>

<xs:simpleType name="bonusRangeType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="-0.9"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="sortsType">
<xs:sequence>
<xs:element name="sort" minOccurs="0" maxOccurs="unbounded">
Expand Down

0 comments on commit 7398748

Please sign in to comment.