<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gn="http://base.google.com/ns/1.0" targetNamespace="http://base.google.com/ns/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:group name="baseElementGroup">
<xs:annotation>
<xs:documentation>
The original group is broken in many ways: name-space, field
type and occurence. We overrule it.
Besides, many many fields are missing from base and other have
bugs. The list below is not complete. Contact me if you need
more.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<!-- kill a few options, which are defined in the wrong name-space -->
<xs:element ref="gn:id" minOccurs="0"/>
<!-- the following elements are missing from the spec -->
<xs:element name="gtin" type="gn:stringAttrValueType"
minOccurs="0" />
<xs:element name="mpn" type="gn:stringAttrValueType"
minOccurs="0" />
<xs:element name="availability" type="gn:availType"
minOccurs="0" />
<xs:element name="sale_price" type="gn:floatUnitType"
minOccurs="0" />
<xs:element name="additional_image_link" type="xs:anyURI"
minOccurs="0" maxOccurs="10" />
<xs:element name="sale_price_effective_date" type="gn:stringAttrValueType"
minOccurs="0" />
<xs:element name="age_group" type="gn:ageGroupEnumeration"
minOccurs="0" />
<xs:element name="item_group_id" type="gn:stringAttrValueType"
minOccurs="0" />
<xs:element name="material" type="gn:stringAttrValueType"
minOccurs="0" />
<xs:element name="pattern" type="gn:stringAttrValueType"
minOccurs="0" />
<xs:element name="shipping_weight" type="gn:floatUnitType"
minOccurs="0" />
<xs:element name="multipack" type="xs:int"
minOccurs="0" />
<xs:element name="adult" type="gn:boolEnumeration"
minOccurs="0" />
</xs:sequence>
</xs:group>
<xs:simpleType name="availType">
<xs:restriction base="xs:token">
<xs:enumeration value="in stock" />
<xs:enumeration value="available for order" />
<xs:enumeration value="out of stock" />
<xs:enumeration value="preorder" />
</xs:restriction>
</xs:simpleType>
<!-- unisex was missing as option in base -->
<xs:simpleType name="genderEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="male"/>
<xs:enumeration value="M"/>
<xs:enumeration value="female"/>
<xs:enumeration value="F"/>
<xs:enumeration value="unisex"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ageGroupEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="adult"/>
<xs:enumeration value="kids"/>
</xs:restriction>
</xs:simpleType>
<!-- the schema developer really had no clue what he was doing -->
<xs:simpleType name="boolEnumeration">
<xs:restriction base="xs:string">
<xs:enumeration value="TRUE"/>
<xs:enumeration value="FALSE"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>