<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:import schemaLocation="http://www.w3.org/2001/xml.xsd" namespace="http://www.w3.org/XML/1998/namespace"/>
<xs:element name="catalog">
<xs:complexType>
<xs:sequence>
<xs:element ref="document_types" minOccurs="0"/>
<xs:element ref="x_object_types" minOccurs="0"/>
<xs:element ref="attribute_sets" minOccurs="0"/>
<xs:element ref="eav_attributes" minOccurs="0"/>
<xs:element ref="catalog_views" minOccurs="0"/>
<xs:element ref="documents" minOccurs="0"/>
<xs:element ref="medias" minOccurs="0"/>
<xs:element ref="skus" minOccurs="0"/>
<xs:element ref="classification_assignments" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="datetime" use="optional" type="xs:NMTOKEN"/>
<xs:attribute name="mode" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="document_types">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="document_type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="x_object_types">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="x_object_type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="x_object_type">
<xs:complexType>
<xs:sequence>
<xs:element ref="name" minOccurs="0"/>
<xs:element ref="owner_linked_class"/>
<xs:element ref="target_linked_class"/>
<xs:element ref="owner_document_type"/>
<xs:element ref="target_document_type"/>
<xs:element ref="maximum"/>
<xs:element ref="sequence"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="owner_linked_class" type="xs:NCName"/>
<xs:element name="target_linked_class" type="xs:NCName"/>
<xs:element name="owner_document_type" type="xs:string"/>
<xs:element name="target_document_type" type="xs:string"/>
<xs:element name="maximum">
<xs:complexType/>
</xs:element>
<xs:element name="eav_attributes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="eav_attribute"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="eav_attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="document_type"/>
<xs:element ref="eav_attribute_group"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="name"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="description"/>
<xs:element minOccurs="0" ref="helptext"/>
<xs:element minOccurs="0" ref="values"/>
<xs:element minOccurs="0" ref="attribute_sets"/>
<xs:element minOccurs="0" ref="control_type"/>
<xs:element minOccurs="0" ref="datatype"/>
<xs:element minOccurs="0" ref="textsize"/>
<xs:element minOccurs="0" ref="decimal_after_digit"/>
<xs:element minOccurs="0" ref="mandatory"/>
<xs:element minOccurs="0" ref="regex_validation"/>
<xs:element minOccurs="0" ref="searchable"/>
<xs:element minOccurs="0" ref="filterable"/>
<xs:element minOccurs="0" ref="internal_view"/>
<xs:element minOccurs="0" ref="internal_edit"/>
<xs:element minOccurs="0" ref="sequence"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="values">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="helptext">
<xs:complexType mixed="true">
<xs:attribute ref="xml:lang" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="control_type" type="xs:string"/>
<xs:element name="datatype" type="xs:NCName"/>
<xs:element name="textsize" type="xs:string"/>
<xs:element name="decimal_after_digit" type="xs:string"/>
<xs:element name="mandatory" type="xs:boolean"/>
<xs:element name="regex_validation" type="xs:string"/>
<xs:element name="searchable" type="xs:boolean"/>
<xs:element name="filterable" type="xs:boolean"/>
<xs:element name="internal_view" type="xs:boolean"/>
<xs:element name="internal_edit" type="xs:boolean"/>
<xs:element name="catalog_views">
<xs:complexType>
<xs:sequence>
<xs:element ref="catalog_view"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="catalog_view">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="name"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="description"/>
<xs:element ref="classifications"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="classifications">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="classification"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="classification">
<xs:complexType>
<xs:sequence>
<xs:element ref="active"/>
<xs:element ref="parent" minOccurs="0" />
<xs:element ref="name" minOccurs="0" />
<xs:element ref="description" minOccurs="0" />
<xs:element ref="custom_eav_attribute" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:NMTOKEN"/>
</xs:complexType>
</xs:element>
<xs:element name="parent" type="xs:string"/>
<xs:element name="documents">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="document"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="document">
<xs:complexType>
<xs:sequence>
<xs:element ref="document_type"/>
<xs:element ref="active"/>
<xs:element minOccurs="0" ref="attribute_set_code"/>
<xs:element minOccurs="0" ref="name"/>
<xs:element minOccurs="0" ref="description"/>
<xs:element maxOccurs="unbounded" ref="custom_eav_attribute"/>
<xs:element minOccurs="0" ref="x_objects"/>
<xs:element minOccurs="0" ref="sku_links" />
<xs:element minOccurs="0" ref="workflow_statuses"/>
</xs:sequence>
<xs:attribute name="code" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="attribute_set_code" type="xs:string"/>
<xs:element name="description">
<xs:complexType mixed="true">
<xs:attribute ref="xml:lang" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="x_objects">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="x_object"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="x_object">
<xs:complexType>
<xs:sequence>
<xs:element ref="owner_code"/>
<xs:element ref="target_code"/>
<xs:element minOccurs="0" ref="active"/>
<xs:element minOccurs="0" ref="filename"/>
<xs:element minOccurs="0" ref="url"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="media_url"/>
<xs:element minOccurs="0" ref="original_filename"/>
<xs:element minOccurs="0" ref="mime_type"/>
<xs:element minOccurs="0" ref="checksum"/>
<xs:element ref="sequence"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="custom_eav_attribute"/>
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="x_object_type_code" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="owner_code" type="xs:string"/>
<xs:element name="target_code" type="xs:string"/>
<xs:element name="sku_links">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="sku_link"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sku_link">
<xs:complexType>
<xs:attribute name="code" use="required" type="xs:string"/>
<xs:attribute name="sequence" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="workflow_statuses">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="skus">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="sku"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sku">
<xs:complexType>
<xs:sequence>
<xs:element ref="active"/>
<xs:element minOccurs="0" ref="name"/>
<xs:element maxOccurs="unbounded" ref="custom_eav_attribute"/>
<xs:element minOccurs="0" ref="x_objects"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="medias">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="media"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="media">
<xs:complexType>
<xs:sequence>
<xs:element ref="active"/>
<xs:element ref="name"/>
<xs:element ref="url"/>
<xs:element ref="filename"/>
<xs:element ref="original_filename"/>
<xs:element ref="mime_type"/>
<xs:element ref="checksum"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="media_url">
<xs:complexType mixed="true">
<xs:attribute name="type" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="filename" type="xs:string"/>
<xs:element name="original_filename" type="xs:string"/>
<xs:element name="mime_type" type="xs:string"/>
<xs:element name="checksum" type="xs:string"/>
<xs:element name="classification_assignments">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="classification_assignment"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="classification_assignment">
<xs:complexType>
<xs:attribute name="classification_code" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="document_code" use="required"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="document_type">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="eav_attribute_groups"/>
<xs:element ref="name"/>
<xs:element ref="entity"/>
<xs:element ref="use_sku"/>
</xs:choice>
<xs:attribute name="code"/>
</xs:complexType>
</xs:element>
<xs:element name="entity" type="xs:NCName"/>
<xs:element name="use_sku" type="xs:boolean"/>
<xs:element name="name">
<xs:complexType mixed="true">
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
<xs:element name="label">
<xs:complexType mixed="true">
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
<xs:element name="sequence" />
<xs:element name="attribute_sets">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="attribute_set"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attribute_set">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="document_type"/>
<xs:element ref="name"/>
</xs:choice>
<xs:attribute name="code" />
</xs:complexType>
</xs:element>
<xs:element name="eav_attribute_group">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="name"/>
</xs:sequence>
<xs:attribute name="code"/>
</xs:complexType>
</xs:element>
<xs:element name="value">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="label"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="name"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="description"/>
</xs:sequence>
<xs:attribute name="code"/>
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
<xs:element name="active" type="xs:boolean"/>
<xs:element name="custom_eav_attribute">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="value"/>
</xs:sequence>
<xs:attribute name="code" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="url" type="xs:string"/>
<xs:element name="eav_attribute_groups">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="eav_attribute_group"/>
<xs:element ref="eav_attribute_groups"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>