This is an appendix to the Product Catalog Implementation Guidelines.
This Appendix contains the XML Schema and the XML Document Type Definition that specify the XML-formatted file; click the + to view:
<xsd:element name="url">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="product"/>
<xsd:element ref="productImage"/>
<xsd:element ref="buy"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="amount" type="xsd:string"/>
<xsd:element name="attribute1" type="xsd:string"/>
<xsd:element name="attributeClass">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" ref="attribute1"/>
</xsd:sequence>
<xsd:attribute name="class_id" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="availability" type="xsd:string"/>
<xsd:element name="/pand" type="xsd:string"/>
<xsd:element name="buy" type="xsd:string"/>
<xsd:element name="category">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="primary"/>
<xsd:element ref="secondary"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="cost">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="amount"/>
</xsd:sequence>
<xsd:attribute name="currency" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="createdOn" type="xsd:string"/>
<xsd:element name="description">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="short"/>
<xsd:element ref="long"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="discount">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="amount"/>
<xsd:element ref="type"/>
</xsd:sequence>
<xsd:attribute name="currency" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="header">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="merchantId"/>
<xsd:element ref="merchantName"/>
<xsd:element ref="createdOn"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="information" type="xsd:string"/>
<xsd:element name="keywords" type="xsd:string"/>
<xsd:element name="long" type="xsd:string"/>
<xsd:element name="m1" type="xsd:string"/>
<xsd:element name="modification" type="xsd:string"/>
<xsd:element name="merchandiser">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="header"/>
<xsd:element ref="product"/>
<xsd:element ref="trailer"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="merchantId" type="xsd:string"/>
<xsd:element name="merchantName" type="xsd:string"/>
<xsd:element name="numberOfProducts" type="xsd:string"/>
<xsd:element name="pixel" type="xsd:string"/>
<xsd:element name="price">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="sale"/>
<xsd:element ref="retail"/>
</xsd:sequence>
<xsd:attribute name="currency" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="primary" type="xsd:string"/>
<xsd:element name="product">
<xsd:complexType mixed="true">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="category"/>
<xsd:element ref="/pand"/>
<xsd:element ref="shipping"/>
<xsd:element ref="keywords"/>
<xsd:element ref="upc"/>
<xsd:element ref="m1"/>
<xsd:element ref="pixel"/>
<xsd:element ref="attributeClass"/>
<xsd:element ref="modification"/>
</xsd:choice>
<xsd:attribute name="manufacturer_name" type="xsd:string" use="optional"/>
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="part_number" type="xsd:string" use="optional"/>
<xsd:attribute name="product_id" type="xsd:string" use="optional"/>
<xsd:attribute name="sku_number" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="productImage" type="xsd:string"/>
<xsd:element name="retail" type="xsd:string"/>
<xsd:element name="sale">
<xsd:complexType>
<xsd:attribute name="begin_date" type="xsd:string" use="optional"/>
<xsd:attribute name="end_date" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="secondary" type="xsd:string"/>
<xsd:element name="shipping">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="cost"/>
<xsd:element ref="information"/>
<xsd:element ref="availability"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="short" type="xsd:string"/>
<xsd:element name="trailer">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="numberOfProducts"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="type" type="xsd:string"/>
<xsd:element name="upc" type="xsd:string"/>
</xsd:schema>
<!ELEMENT Actor ( #PCDATA ) >
<!ELEMENT Age ( #PCDATA ) >
<!ELEMENT Album ( #PCDATA ) >
<!ELEMENT APY ( #PCDATA ) >
<!ELEMENT Artist ( #PCDATA ) >
<!ELEMENT ATM_Surcharge ( #PCDATA ) >
<!ELEMENT Author ( #PCDATA ) >
<!ELEMENT Bonus_Other ( #PCDATA ) >
<!ELEMENT Card_Type ( #PCDATA ) >
<!ELEMENT CashAdvance_APR ( #PCDATA ) >
<!ELEMENT CashAdvance_Fee ( #PCDATA ) >
<!ELEMENT Category ( #PCDATA ) >
<!ELEMENT Color ( #PCDATA ) >
<!ELEMENT Dimensions ( #PCDATA ) >
<!ELEMENT Director ( #PCDATA ) >
<!ELEMENT Drive ( #PCDATA ) >
<!ELEMENT Features_Specs ( #PCDATA ) >
<!ELEMENT ForeignTrans_Fee ( #PCDATA ) >
<!ELEMENT Format ( #PCDATA ) >
<!ELEMENT Gender ( #PCDATA ) >
<!ELEMENT Genre ( #PCDATA ) >
<!ELEMENT Hard_Drive ( #PCDATA ) >
<!ELEMENT Intro_Annual_Fee ( #PCDATA ) >
<!ELEMENT Intro_Annual_Fee_Duration ( #PCDATA ) >
<!ELEMENT Intro_BalanceTransfer_APR ( #PCDATA ) >
<!ELEMENT Intro_BalanceTransfer_APR_Duration ( #PCDATA ) >
<!ELEMENT ISBN ( #PCDATA ) >
<!ELEMENT Label ( #PCDATA ) >
<!ELEMENT Make ( #PCDATA ) >
<!ELEMENT Marketing_Bullets ( #PCDATA ) >
<!ELEMENT Material ( #PCDATA ) >
<!ELEMENT Min_Balance_To_Open ( #PCDATA ) >
<!ELEMENT Miscellaneous ( #PCDATA ) >
<!ELEMENT Model ( #PCDATA ) >
<!ELEMENT Modem ( #PCDATA ) >
<!ELEMENT Monitor_Size ( #PCDATA ) >
<!ELEMENT Monthly_Service_Fee ( #PCDATA ) >
<!ELEMENT NSF_Fee ( #PCDATA ) >
<!ELEMENT Occasion ( #PCDATA ) >
<!ELEMENT Ongoing_Annual_Fee ( #PCDATA ) >
<!ELEMENT Ongoing_Balance_Transfer_ARP ( #PCDATA ) >
<!ELEMENT Ongoing_BalanceTransfer_Fee ( #PCDATA ) >
<!ELEMENT Ongoing_Purchase_APR ( #PCDATA ) >
<!ELEMENT Ongoing_Purch_APR_Duration ( #PCDATA ) >
<!ELEMENT Part_Number ( #PCDATA ) >
<!ELEMENT Penalty_APR ( #PCDATA ) >
<!ELEMENT Pet_Type ( #PCDATA ) >
<!ELEMENT Platform ( #PCDATA ) >
<!ELEMENT Power_Type ( #PCDATA ) >
<!ELEMENT Processor ( #PCDATA ) >
<!ELEMENT Product_Type ( #PCDATA ) >
<!ELEMENT Publish_Date ( #PCDATA ) >
<!ELEMENT Publisher ( #PCDATA ) >
<!ELEMENT Ram ( #PCDATA ) >
<!ELEMENT Rating ( #PCDATA ) >
<!ELEMENT Recipient ( #PCDATA ) >
<!ELEMENT Region ( #PCDATA ) >
<!ELEMENT Release_Date ( #PCDATA ) >
<!ELEMENT Rewards_Earned ( #PCDATA ) >
<!ELEMENT Size ( #PCDATA ) >
<!ELEMENT Song_Title ( #PCDATA ) >
<!ELEMENT Studio ( #PCDATA ) >
<!ELEMENT Style ( #PCDATA ) >
<!ELEMENT Teaser_Copy ( #PCDATA ) >
<!ELEMENT Theme ( #PCDATA ) >
<!ELEMENT Title ( #PCDATA ) >
<!ELEMENT URL ( product, productImage, buyLink ) >
<!ELEMENT Warranty ( #PCDATA ) >
<!ELEMENT amount ( #PCDATA ) >
<!ELEMENT attributes ( Actor | Age | Album | APY | Artist | ATM_Surcharge | Author | Bonus_Other | Card_Type | CashAdvance_APR | CashAdvance_Fee | Category | Color | Dimensions | Director | Drive | Features_Specs | ForeignTrans_Fee | Format | Gender | Genre | Hard_Drive | Intro_Annual_Fee | Intro_Annual_Fee_Duration | Intro_BalanceTransfer_APR| Intro_BalanceTransfer_APR_Duration | Intro_BalanceTransfer_Fee | Intro_Purchase_APR| Intro_Purch_APR_Duration | ISBN | Label | Make | Marketing_Bullets | Material | Min_Balance_To_Open | Miscellaneous | Model | Modem | Monitor_Size | Monthly_Service_Fee | NSF_Fee | Occasion | Ongoing_Annual_Fee | Ongoing_Balance_Transfer_ARP | Ongoing_BalanceTransfer_Fee | Ongoing_Purchase_APR | Ongoing_Purch_APR_Duration | Part_Number | Penalty_APR | Pet_Type | Platform | Power_Type | Processor | Product_Type | Publish_Date | Publisher | Ram | Rating | Recipient | Region | Release_Date | Rewards_Earned | Size | Song_Title | Studio | Style | Teaser_Copy | Terms URL | Theme | Title | Warranty )* >
<!ATTLIST attributes class_id NMTOKEN #REQUIRED >
<!ELEMENT availability ( #PCDATA ) >
<!ELEMENT /pand EMPTY >
<!ELEMENT buyLink ( #PCDATA ) >
<!ELEMENT category ( primary, secondary ) >
<!ELEMENT cost ( amount ) >
<!ATTLIST cost currency NMTOKEN #REQUIRED>
<!ELEMENT createdOn ( #PCDATA ) >
<!ELEMENT description ( short, long ) >
<!ELEMENT discount ( amount, type ) >
<!ATTLIST discount currency NMTOKEN #REQUIRED>
<!ELEMENT header ( merchantId, merchantName, createdOn ) >
<!ELEMENT information EMPTY >
<!ELEMENT keywords ( #PCDATA ) >
<!ELEMENT long ( #PCDATA ) >
<!ELEMENT m1 EMPTY >
<!ELEMENT modification (#PCDATA) >
<!ELEMENT merchandiser ( header, product+, trailer ) >
<!ELEMENT merchantId ( #PCDATA ) >
<!ELEMENT merchantName ( #PCDATA ) >
<!ELEMENT numberOfProducts ( #PCDATA ) >
<!ELEMENT pixel ( #PCDATA ) >
<!ELEMENT price ( sale, retail ) >
<!ATTLIST price currency NMTOKEN #REQUIRED>
<!ELEMENT primary ( #PCDATA ) >
<!ELEMENT product ( category, URL, description, discount, price, /pand, shipping, keywords, upc, m1, pixel, attributes, modification? ) >
<!ATTLIST product manufacturer_name CDATA #FIXED "" >
<!ATTLIST product name CDATA #REQUIRED >
<!ATTLIST product part_number CDATA #FIXED "" >
<!ATTLIST product product_id NMTOKEN #REQUIRED >
<!ATTLIST product sku_number ID #REQUIRED >
<!ELEMENT productImage ( #PCDATA ) >
<!ELEMENT product ( #PCDATA ) >
<!ELEMENT retail ( #PCDATA ) >
<!ELEMENT sale EMPTY >
<!ATTLIST sale begin_date CDATA #FIXED "" >
<!ATTLIST sale end_date CDATA #FIXED "" >
<!ELEMENT secondary ( #PCDATA ) >
<!ELEMENT shipping ( cost, information, availability ) >
<!ELEMENT short ( #PCDATA ) >
<!ELEMENT trailer ( numberOfProducts ) >
<!ELEMENT type ( #PCDATA ) >
<!ELEMENT upc EMPTY >
Comments
Please sign in to leave a comment.