Document Properties
Kbid
2Y8191
Last Modified
22-Mar-2024
Added to KB
01-Mar-2017
Public Access
Everyone
Status
Online
Doc Type
References
Product
  • ICM 7.10
  • ICM 11
Reference - Category Data XML Import Specification

Introduction

This document describes the catalog category import XML format. The object which is processed by the category import is the CatalogCategory object, not the Catalog itself. During the import process, a catalog has to be chosen in order to proceed with the category import. So, the categories from the import file will be attached/assigned to this predefined catalog. It is important that all categories in the file have a parent, except for the root category. The root category does not have a parent and the database name of this category has to be equal to the database catalog ID.

The XSD schema that validates the XML content treats the category as object of the complexType.CatalogCategory type .

XML Definition

Root Elements

enfinity Element

This is the root element definition of the enfinity element. It shows what kind of objects are valid inside this element declaration.

<xsd:element name="enfinity">
    <xsd:complexType mixed="false">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="category" type="complexType.CatalogCategory" />
            <xsd:element name="product" type="complexType.Product" />
            <xsd:element name="offer" type="complexType.Product" />
            <xsd:element name="product-type" type="complexType.ProductType" />
            <xsd:element name="user-group-price" type="complexType.UserGroupPrice" />
            <xsd:element name="scaled-price" type="complexType.ScaledPrice" />
            <xsd:element name="variation-type" type="complexType.VariationType" />
        </xsd:choice>
        <xsd:attributeGroup ref="documentVersion" />
    </xsd:complexType>
</xsd:element>

In this reference only the category object id described:

<xsd:element name="category" type="complexType.CatalogCategory" />

This element has the complexType.CatalogCategory type and we will see the properties (content elements) of this type later.

Category

The element category contains all category specific attributes, custom category attributes and category relations.

The following category data attributes can be imported:

  • name
  • online
  • description
  • display name
  • root category flag
  • search query definition name

The following category relations can be imported:

  • parent category
  • category links
  • image set assignments
	<xsd:element name="category" type="complexType.CatalogCategory" />

	<xsd:complexType name="complexType.CatalogCategory" mixed="false">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="name" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
            <xsd:element name="product-assignment-query" type="simpleType.Generic.String.4000" minOccurs="0" maxOccurs="1" />
            <xsd:element name="template" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
            <xsd:element name="hotdeals-template" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
            <xsd:element name="online" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
            <xsd:element name="description" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="parent" type="complexType.CatalogCategory.Reference" minOccurs="0" maxOccurs="1" />
            <xsd:element name="images" type="complexType.Image.Images" minOccurs="0" maxOccurs="1" />    
			<xsd:element name="root" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
            <xsd:element name="public" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
            <xsd:element name="classification-system" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
            <xsd:element name="category-links" type="complexType.CatalogCategoryLinks" minOccurs="0" maxOccurs="1" />
            <xsd:element name="product-binding" type="complexType.CatalogCategory.ProductBinding" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="searchquery-definition-name" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
            <xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
            <xsd:element name="custom-data" type="complexType.CustomData" minOccurs="0" maxOccurs="1" />
            <xsd:element name="position" type="xsd:double" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="uuid" type="simpleType.UUID" minOccurs="0" maxOccurs="1" />
            <xsd:element name="image-set-assignments" type="complexType.Image.ImageSetAssignments" minOccurs="0" maxOccurs="1" />
        </xsd:choice>
        <xsd:attribute name="refid" type="simpleType.UUID" />
        <xsd:attribute name="import-mode" type="simpleType.ImportMode" />
        <xsd:attribute name="name" type="simpleType.Generic.String.256" />
    </xsd:complexType>

Elements of complexType.CatalogCategory

Name

The name tag specifies the name of the category. This is the unique identifier together with the catalog domain of this category. The category name acts as ID, similar to product's SKU, and is not localizable.

Example:

<name>Cameras-Camcorders</name>

	<xsd:element name="name" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Product Assignment Query

Note

Obsolete element. It is kept for backward compatibility only. Use Reference - Category Data XML Import Specification#Search Query Definition Name instead.

	<xsd:element name="product-assignment-query" type="simpleType.Generic.String.4000" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Generic.String.4000">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="4000" />
        </xsd:restriction>
    </xsd:simpleType>

Template

The template tag specifies the general category information ISML template. In most IS7 demo category data the same ISML template is used: category/CatalogCategory. Otherwise a template is not specified.

Examples:

<template>category/CatalogCategory</template>

<template></template>

	<xsd:element name="template" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Hotdeals Template

The hotdeals-template tag specifies the general category information ISML template for a related hotdeals category. In most IS7 demo category data the same ISML template is used: category/CatalogCategory. Otherwise a template is not specified.

Examples:

<hotdeals-template>category/CatalogCategory</hotdeals-template>

<hotdeals-template></hotdeals-template>

	<xsd:element name="hotdeals-template" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Online

The online tag specifies the online/offline status of the category.

Example:

<online>1</online>

	<xsd:element name="online" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Boolean">
    	<xsd:restriction base="xsd:string">
        	<xsd:enumeration value="0" />
        	<xsd:enumeration value="1" />
    	</xsd:restriction>
	</xsd:simpleType>

Description

The description tag specifies the localized description of the category. The locale attribute (xml:lang) should be provided with a valid locale value of type xs:language.

Examples:

<description xml:lang="de-DE">Samsung</description>

<description xml:lang="en-US">Samsung</description>

	<xsd:element name="description" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />

	<xsd:complexType name="complexType.Generic.Attribute.String" mixed="true">
    	<xsd:simpleContent>
        	<xsd:extension base="simpleType.Generic.Attribute.String.Value">
            	<xsd:attribute ref="xml:lang" />
        	</xsd:extension>
    	</xsd:simpleContent>
	</xsd:complexType>

Display Name

The display-name tag specifies the localized display name of the category. The locale attribute (xml:lang) should be provided with a valid locale value of type xs:language.

Examples:

<display-name xml:lang="de-DE">Samsung</display-name>

<display-name xml:lang="en-US">Samsung</display-name>

 	<xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />

	<xsd:complexType name="complexType.Generic.Attribute.String" mixed="true">
    	<xsd:simpleContent>
        	<xsd:extension base="simpleType.Generic.Attribute.String.Value">
            	<xsd:attribute ref="xml:lang" />
        	</xsd:extension>
    	</xsd:simpleContent>
	</xsd:complexType>

Parent

The parent tag specifies the parent category of the currently imported category.

Example:

<parent name="Specials" />

	<xsd:element name="parent" type="complexType.CatalogCategory.Reference" minOccurs="0" maxOccurs="1" />

	<xsd:complexType name="complexType.CatalogCategory.Reference" mixed="false">
        <xsd:attribute name="refid" type="simpleType.UUID" />
        <xsd:attribute name="name" type="simpleType.Generic.String.256" />
        <xsd:attribute name="domain" type="simpleType.Generic.String.256" />
    </xsd:complexType>

refid Attribute

The refid attribute can be used to determine the parent category. This is the UUID attribute of the parent category.

	<xsd:attribute name="refid" type="simpleType.UUID" />

	<xsd:simpleType name="simpleType.UUID">
    	<xsd:restriction base="xsd:string">
        	<xsd:pattern value="[A-Za-z0-9_\.]{24}" />
    	</xsd:restriction>
	</xsd:simpleType>

name Attribute

The name attribute specifies the parent category name and is used to determine the parent category. The domain can be skipped at this point because we assign a child category to a given parent in the same catalog domain.

Example:

<parent name="Telecommunication" />

	<xsd:attribute name="name" type="simpleType.Generic.String.256" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

domain Attribute

The domain attribute can be skipped at this point because we assign a child category to a given parent in the same catalog domain. However, if provided, the value of the domain attribute corresponds to the name of the catalog domain where this category is located.

Example:

<parent name="Cameras-Camcorders" domain="PrimeTech-PrimeTechSpecials-Cameras-Camcorders" />

	<xsd:attribute name="domain" type="simpleType.Generic.String.256" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Root

The root tag is used to specify if this category is a root category or not. If it is a root, the name of this category should match the catalog ID.

Examples:

<name>Cameras-Camcorders</name>

<root>1</root>

-----------------------------------------------------

<name>584</name>

<root>0</root>

<parent name="Cameras-Camcorders" />

	<xsd:element name="root" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Boolean">
    	<xsd:restriction base="xsd:string">
        	<xsd:enumeration value="0" />
        	<xsd:enumeration value="1" />
    	</xsd:restriction>
	</xsd:simpleType>

Public

Note

Obsolete element. It is kept for backward compatibility only. Use Reference - Category Data XML Import Specification#Online element instead of this one.

	<xsd:element name="public" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Boolean">
    	<xsd:restriction base="xsd:string">
        	<xsd:enumeration value="0" />
        	<xsd:enumeration value="1" />
    	</xsd:restriction>
	</xsd:simpleType>

Classification System

The classification-system tag specifies the name of the classification system this category belongs to. This element is used for import/export classification categories, but should be placed only at the root category side. The non-root categories do not need this tag.

Currently IS7 supports 4 classification systems:

  • System
  • UNSPSC
  • eCl@ss
  • Custom

Examples:

<name>ServiceTypes</name>

<root>1</root>

<classification-system>System</classification-system>

-------------------------------------------------------------------------

<name>ProductTypes</name>

<root>1</root>

<classification-system>Custom</classification-system>

	<xsd:element name="classification-system" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

The category-links tag specifies a list with category links. This tag is used when we import Category-Category links and inside this category-links tag we configure each category link.

Example:

<category-links>

    <category-link name="1584" />

    <category-link name="1344" />

</category-links>

	<xsd:element name="category-links" type="complexType.CatalogCategoryLinks" minOccurs="0" maxOccurs="1" />

	<xsd:complexType name="complexType.CatalogCategoryLinks" mixed="false">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="category-link" type="complexType.CatalogCategoryLink" minOccurs="1" maxOccurs="unbounded" />
        </xsd:choice>
    </xsd:complexType>

The category-link tag is used to configure one category-category link. All category links of the category should be placed in different category-link tags.

Example:

<category-link name="903" domain="PrimeTech-Computers">

    <category-link-type name="ES_CrossSelling_C"></category-link-type>

    <position>2.0</position>

</category-link>

	<xsd:element name="category-link" type="complexType.CatalogCategoryLink" minOccurs="1" maxOccurs="unbounded" />

	<xsd:complexType name="complexType.CatalogCategoryLink" mixed="false">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="category-link-type" type="complexType.CatalogCategoryLink.CatalogCategoryLinkType" minOccurs="1" maxOccurs="1" />
            <xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="description" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="position" type="xsd:double" minOccurs="0" maxOccurs="1" />
            <xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
        </xsd:choice>
        <xsd:attribute name="name" type="simpleType.Generic.String.256" />
        <xsd:attribute name="domain" type="simpleType.Generic.String.256" />
        <xsd:attribute name="incoming" type="simpleType.Boolean" />
    </xsd:complexType>
name Attribute

The name attribute specifies the name of the linked category. Also, this attribute can be set together with domain in order to point to a category from another catalog.

Example:

<category-link name="1584">    <!-- points to a category from the same catalog -->

...

</category-link>

	<xsd:attribute name="name" type="simpleType.Generic.String.256" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>
domain Attribute

The domain attribute should be set together with name in order to point to a category from another catalog. The value of domain attribute corresponds to the name of catalog domain where this category is located.

Examples:

<category-link name="903" domain="PrimeTech-Computers">     <!-- points to a category from another catalog -->

...

</category-link>

<category-link name="Cameras-Camcorders" domain="PrimeTech-PrimeTechSpecials-Cameras-Camcorders">    <!-- points to a category from another catalog -->

...

</category-link>

 	<xsd:attribute name="domain" type="simpleType.Generic.String.256" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>
incoming Attribute

The incoming attribute can be used if we want to set the category link as "incoming". If this attribute is not set, the category links are considered "outgoing".

Examples:

<category-link name="1290" incoming = "1">    <!-- Incoming Category link -->

...

</category-link>

<category-link name="32" domain="PrimeTech-Computers">    <!-- Outgoing Category link -->

...

</category-link>

 	<xsd:attribute name="incoming" type="simpleType.Boolean" />

	<xsd:simpleType name="simpleType.Boolean">
    	<xsd:restriction base="xsd:string">
        	<xsd:enumeration value="0" />
        	<xsd:enumeration value="1" />
    	</xsd:restriction>
	</xsd:simpleType>

The category-link-type tag should be placed to be able to set the category link type. The actual link type is specified using the name attribute. It specifies the link type code according to Concept - Product and Category Links. Several link types are available:

  • ES_CrossSelling_C
  • ES_Accessory_C
  • ES_ FollowUp_C
  • ES_UpSelling _C
  • etc

Examples:

<category-link name="1290">

    <category-link-type name="ES_Accessory_C"></category-link-type>

</category-link>

<category-link name="32" domain="PrimeTech-Computers">

    <category-link-type name="ES_CrossSelling_C"></category-link-type>

</category-link>

 	<xsd:element name="category-link-type" type="complexType.CatalogCategoryLink.CatalogCategoryLinkType" minOccurs="1" maxOccurs="1" />

	<xsd:complexType name="complexType.CatalogCategoryLink.CatalogCategoryLinkType" mixed="true">
        <xsd:attribute name="name" type="simpleType.Generic.String.256" />
    </xsd:complexType>

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>
display-name Element

The display-name tag specifies the localized display name of the category link. The locale attribute (xml:lang) should be provided with a valid locale value of type xs:language.

Example:

<display-name xml:lang="en-US">Camera Backpacks &amp; Cases</display-name>

<display-name xml:lang="de-DE">Kamerataschen und Rucksäcke</display-name>

 	<xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />

	<xsd:complexType name="complexType.Generic.Attribute.String" mixed="true">
    	<xsd:simpleContent>
        	<xsd:extension base="simpleType.Generic.Attribute.String.Value">
            	<xsd:attribute ref="xml:lang" />
        	</xsd:extension>
    	</xsd:simpleContent>
	</xsd:complexType>
description Element

The description tag specifies the localized description of the category link. The locale attribute (xml:lang) should be provided with a valid locale value of type xs:language.

Example:

<description xml:lang="de-DE">Spezielle Produkte und Services.</description>

<description xml:lang="en-US">Special products and services.</description>

	<xsd:element name="description" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="unbounded" />

	<xsd:complexType name="complexType.Generic.Attribute.String" mixed="true">
    	<xsd:simpleContent>
        	<xsd:extension base="simpleType.Generic.Attribute.String.Value">
            	<xsd:attribute ref="xml:lang" />
        	</xsd:extension>
    	</xsd:simpleContent>
	</xsd:complexType>
position Element

The position tag is used to set the position of the category link in the category's category link list.

Example:

<position>1.0</position>

 	<xsd:element name="position" type="xsd:double" minOccurs="0" maxOccurs="1" />
custom-attributes Element

The custom-attributes tag specifies that a list of custom attributes for the category link will be defined. For detailed information about custom attributes definition see Reference - Category Data XML Import Specification#Custom Attributes section.

 	<xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />

	<xsd:complexType name="complexType.CustomAttributes" mixed="false">
    	<xsd:sequence>
        	<xsd:element name="custom-attribute" type="complexType.CustomAttribute" minOccurs="0" maxOccurs="unbounded" />
    	</xsd:sequence>
	</xsd:complexType>

Product Binding

Note

Obsolete element. It is kept for backward compatibility only. Use Reference - Category Data XML Import Specification#Search Query Definition Name instead.

	<xsd:element name="product-binding" type="complexType.CatalogCategory.ProductBinding" minOccurs="0" maxOccurs="1"/>

	<xsd:complexType name="complexType.CatalogCategory.ProductBinding">
        <xsd:simpleContent>
            <xsd:extension base="simpleType.ProductBindingValue">
                <xsd:attribute name="attribute" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="30"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
                <xsd:attribute name="type" use="optional" default="explicit">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="explicit"/>
                            <xsd:enumeration value="implicit"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

	<xsd:simpleType name="simpleType.ProductBindingValue">
        <xsd:restriction base="xsd:token">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="4000"/>
        </xsd:restriction>
    </xsd:simpleType>

Search Query Definition Name

The searchquery-definition-name tag is used to specify the name of the search query definition (also known as Product Filter) responsible for retrieving the products which match the search query conditions. This tag is only used for categories with dynamic product binding/assignment. The dynamic binding is based on the available search index attributes and/or context category. The search query contains these attributes with values and/or context category reference and the search result is based on the information in the search index. The products resolved from this result are the products of this category with dynamic binding.

Examples:

<searchquery-definition-name>new_arrival_products</searchquery-definition-name>

<searchquery-definition-name>only_asus_tablets_filter</searchquery-definition-name>

	<xsd:element name="searchquery-definition-name" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Details - Search Query Definition

The search query definitions are also known as product filters. In IS7 backoffice a menu item "Predefined Product Filters" is shown to access the globally visible product filters. There is also import and export of all product filters, not only the global ones. Actually the product filter is in the UI, while in the database it is a search query definition.

As there are separate impex processes for search query definitions and categories, we will not describe in detail how to configure the import of a search query definition. Just some examples will illustrate the XML format/content of a particular search query.

Example 1: new_arrival_products

<searchquery-definition name="new_arrival_products">
	<custom-attributes>
		<custom-attribute name="displayName" dt:dt="string" xml:lang="en-US">New arrival Products</custom-attribute>
		<custom-attribute name="description" dt:dt="string" xml:lang="en-US">This demo filter selects products by their arrival date.</custom-attribute>
	</custom-attributes>
	<global-visible>true</global-visible>
	<type>product</type>
	<searchquery>
		<contextcategoryid>NewProducts@PrimeTech-PrimeTechSpecials-Specials</contextcategoryid>
		<range-conditions/>
		<rankings/>
		<sortings/>
		<value-conditions/>
	</searchquery>
</searchquery-definition>

Example 2: only_asus_tablets_filter

<searchquery-definition name="only_asus_tablets_filter">
	<custom-attributes>
		<custom-attribute name="displayName" dt:dt="string" xml:lang="en-US">Asus Tablet Products</custom-attribute>
		<custom-attribute name="description" dt:dt="string" xml:lang="en-US">This demo product filter selects tablet products of the manufacturer Asus</custom-attribute>
	</custom-attributes>
	<global-visible>false</global-visible>
	<type>product</type>
	<searchquery>
		<contextcategoryid></contextcategoryid>
		<range-conditions/>
		<rankings/>
		<sortings>
			<sorting>
				<attribute-name>name</attribute-name>
				<direction>ASCENDING</direction>
			</sorting>
		</sortings>
		<value-conditions>
			<value-condition>
				<attribute-name>ManufacturerName</attribute-name>
				<attribute-value>Asus</attribute-value>
			</value-condition>
			<value-condition>
				<attribute-name>IcecatCategoryID</attribute-name>
				<attribute-value>897</attribute-value>
			</value-condition>
		</value-conditions>
	</searchquery>
</searchquery-definition>

Example 3: sort_by_price

<searchquery-definition name="sort_by_price">
	<custom-attributes>
		<custom-attribute name="displayName" dt:dt="string" xml:lang="en-US">Sort by Price (ascending)</custom-attribute>
		<custom-attribute name="description" dt:dt="string" xml:lang="en-US">this demo filter sorts products by sales price</custom-attribute>
	</custom-attributes>
	<global-visible>true</global-visible>
	<type>product</type>
	<searchquery>
		<contextcategoryid></contextcategoryid>
		<range-conditions/>
		<rankings/>
		<sortings>
			<sorting>
				<attribute-name>ProductSalePriceNet</attribute-name>
				<direction>ASCENDING</direction>
			</sorting>
		</sortings>
		<value-conditions/>
	</searchquery>
</searchquery-definition>

Example 4: manufacturer_ranking

<searchquery-definition name="manufacturer_ranking">
	<custom-attributes>
		<custom-attribute name="displayName" dt:dt="string" xml:lang="en-US">Manufacturer Ranking</custom-attribute>
		<custom-attribute name="description" dt:dt="string" xml:lang="en-US">this demo filter sorts notebooks by manufacturer rank, rankings for acer and fujitsu defined</custom-attribute>
	</custom-attributes>
	<global-visible>true</global-visible>
	<type>product</type>
	<searchquery>
		<contextcategoryid></contextcategoryid>
		<range-conditions/>
		<rankings>
			<ranking>
				<attribute-name>ManufacturerName</attribute-name>
				<percentage>10</percentage>
				<attribute-value>fujitsu</attribute-value>
			</ranking>
			<ranking>
				<attribute-name>ManufacturerName</attribute-name>
				<percentage>5</percentage>
				<attribute-value>acer</attribute-value>
			</ranking>
		</rankings>
		<sortings/>
		<value-conditions/>
	</searchquery>
</searchquery-definition>

Images

The images tag specifies that a list with all image reference assignments and the primary image view is following. There is just one primary view for a category, while there c be many image references for the same category.

Example:

<images>

<primary-view />

<image-ref />

<image-ref />

...

</images>

images element
	<xsd:element name="images" type="complexType.Image.Images" minOccurs="0" maxOccurs="1" />

	<xsd:complexType name="complexType.Image.Images" mixed="false">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="image-ref" type="complexType.Image.ImageRef" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="primary-view" type="complexType.Image.PrimaryView" minOccurs="0" maxOccurs="1" />
        </xsd:choice>
    </xsd:complexType>

image-ref Element

The image-ref tag describes one image reference. The image is identified by image view, image type, image base name and domain. Optionally the size of the image can be specified - with image-width and image-height attributes.

Examples:

<image-ref image-view="front" image-type="2XL" image-base-name="3XL/6830671-1306.jpg" domain="PrimeTech-MasterRepository" />

<image-ref image-view="back" image-type="S" image-base-name="S/6830671_6768.jpg" domain="PrimeTech-MasterRepository" />

image-ref element
	<xsd:element name="image-ref" type="complexType.Image.ImageRef" minOccurs="0" maxOccurs="unbounded" />

	<xsd:complexType name="complexType.Image.ImageRef" mixed="false">
        <xsd:attribute name="image-type" type="simpleType.Generic.String.256" use="required" />
        <xsd:attribute name="image-view" type="simpleType.Generic.String.256" use="required" />
        <xsd:attribute name="image-base-name" type="simpleType.Generic.String.4000" />
        <xsd:attribute name="image-width" type="xsd:integer" />
        <xsd:attribute name="image-height" type="xsd:integer" />
        <xsd:attribute name="domain" type="simpleType.Generic.String.256" />
    </xsd:complexType>
image-type Attribute

The image-type attribute is used to specify the image type ID for the image.

Examples:

<image-ref image-type="2XS" />

<image-ref image-type="2XL" />

<image-ref image-type="L" />

<image-ref image-type="3XL" />

<image-ref image-type="1XS" />

image-type attribute
	<xsd:attribute name="image-type" type="simpleType.Generic.String.256" use="required" />

	<xsd:simpleType name="simpleType.Generic.String.256">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="256" />
        </xsd:restriction>
    </xsd:simpleType>
image-view Attribute

The image-view attribute is used to specify the image view ID for the image.

Examples:

<image-ref image-view="front" />

<image-ref image-view="back" />

image-view attribute
 	<xsd:attribute name="image-view" type="simpleType.Generic.String.256" use="required" />

	<xsd:simpleType name="simpleType.Generic.String.256">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="256" />
        </xsd:restriction>
    </xsd:simpleType>
image-base-name Attribute

The image-base-name attribute is used to specify the path to the actual image.

Examples:

<image-ref image-view="back" image-type="L" image-base-name="L/6830671_6768.jpg" domain="PrimeTech-MasterRepository" />

<image-ref image-view="front" image-type="M" image-base-name="M/6830671-1306.jpg" domain="PrimeTech-MasterRepository" />

image-base-name attribute
 	<xsd:attribute name="image-base-name" type="simpleType.Generic.String.4000" />

	<xsd:simpleType name="simpleType.Generic.String.4000">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="4000" />
        </xsd:restriction>
    </xsd:simpleType>
image-width Attribute

The image-width attribute is used to specify the width of the image in pixels.

Example:

<image-ref image-view="front" image-type="1XS" image-base-name="1XS/6830671-1306.jpg"image-width="400" domain="PrimeTech-MasterRepository" />

image-width attribute
 	<xsd:attribute name="image-width" type="xsd:integer" />
image-height Attribute

The image-height attribute is used to specify the height of the image in pixels.

Example:

<image-ref image-view="front" image-type="1XS" image-base-name="1XS/6830671-1306.jpg"image-height="550" domain="PrimeTech-MasterRepository" />

image-height attribute
 	<xsd:attribute name="image-height" type="xsd:integer" />

Custom Attributes

The custom-attributes tag specifies that a list with all custom attributes is following. This tag can be used not only to setup the category custom attributes but also the custom attributes of all other objects. Each custom attribute should be defined in a different custom-attribute tag.

Example:

<custom-attributes>

    <custom-attribute />

    <custom-attribute />

...

</custom-attributes>

	<xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
 
	<xsd:complexType name="complexType.CustomAttributes" mixed="false">
    	<xsd:sequence>
        	<xsd:element name="custom-attribute" type="complexType.CustomAttribute" minOccurs="0" maxOccurs="unbounded" />
    	</xsd:sequence>
	</xsd:complexType>

Custom Attribute

The custom-attribute tag is used to describe one custom attribute in the following way:

  • defines if the custom attribute is localizable or not - if the xml:lang attribute exists, the custom attribute is locale specific (localizable), if not provided - the attribute is considered non-localizable
  • defines the type of the custom attribute - using the dt:dt attribute
  • defines the name of the custom attribute - using the name attribute
  • defines the value element (tag) for multiple types - multiple integer, multiple double, multiple string, etc.

Examples:

<custom-attribute name="ShowInMenu" dt:dt="string" xml:lang="en-US">True</custom-attribute>     <!-- localizable (en-US) of type string -->

<custom-attribute name="PRODUCT_BINDING_ATTRIBUTE" dt:dt="string">ProductTypes</custom-attribute>    <!-- non-localizable of type string -->

<custom-attribute name="PRODUCT_BINDING_TYPE" dt:dt="int">1</custom-attribute>     <!-- non-localizable of type int -->

	<xsd:element name="custom-attribute" type="complexType.CustomAttribute" minOccurs="0" maxOccurs="unbounded" />
 
	<xsd:complexType name="complexType.CustomAttribute" mixed="true">
    	<xsd:sequence>
        	<xsd:element name="value" type="complexType.Multiple.Custom.Attribute.Value" minOccurs="0" maxOccurs="unbounded" />
    	</xsd:sequence>
    	<xsd:attribute name="name" type="simpleType.Generic.String.256" use="required" />
    	<xsd:attribute name="import-mode">
        	<xsd:simpleType>
            	<xsd:restriction base="simpleType.ImportMode">
                	<xsd:enumeration value="REPLACE" />
                	<xsd:enumeration value="UPDATE" />
            	</xsd:restriction>
        	</xsd:simpleType>
    	</xsd:attribute>
    	<xsd:attribute ref="dt:dt" />
    	<xsd:attribute ref="xml:lang" />
	</xsd:complexType>
name Attribute

The name attribute defines the name of the custom attribute. It should be unique for a given type and locale (if the attribute is localizable).

Examples:

<custom-attribute name="META_TITLE_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>

<custom-attribute name="META_TITLE_GENERATE" dt:dt="string" xml:lang="de-DE">Automatisch</custom-attribute>

<custom-attribute name="META_KEYWORDS_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>

<custom-attribute name="META_KEYWORDS_GENERATE" dt:dt="string" xml:lang="de-DE">Automatisch</custom-attribute>

	<xsd:attribute name="name" type="simpleType.Generic.String.256" use="required" />
 
	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>
import-mode Attribute

The import-mode attribute in the custom-attribute tag is used to additionally specify the import mode of this custom attribute. For example, we may run the import in UPDATE mode, but we always need to replace a custom attribute, so we may use this attribute to specify the desired mode. The only valid import modes for a custom attribute are UPDATE and REPLACE.

Example:

<custom-attribute name="ShowInMenu" dt:dt="string" xml:lang="en-US" import-mode="REPLACE">True</custom-attribute>

	<xsd:attribute name="import-mode">
    	<xsd:simpleType>
        	<xsd:restriction base="simpleType.ImportMode">
            	<xsd:enumeration value="REPLACE" />
            	<xsd:enumeration value="UPDATE" />
        	</xsd:restriction>
    	</xsd:simpleType>
	</xsd:attribute>
dt:dt Attribute

The dt:dt attribute defines the type of the custom attribute. It refers to the type of the value that this custom attribute contains.

Examples:

<custom-attribute name="ExcludeFromShipping" dt:dt="boolean">true</custom-attribute>

<custom-attribute name="PRODUCT_BINDING_TYPE" dt:dt="int">1</custom-attribute>

<custom-attribute name="Depth" dt:dt="quantity" xml:lang="de-DE">39.9 mm</custom-attribute>

	<xsd:attribute ref="dt:dt" />
	<!-- namespace="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt"
     	schemaLocation="dt.xsd" -->
 
	<xsd:attribute name="dt">
    	<xsd:simpleType>
        	<xsd:restriction base="xsd:string">
            	<xsd:enumeration value="int" />
            	<xsd:enumeration value="double" />
            	<xsd:enumeration value="string" />
            	<xsd:enumeration value="long" />
            	<xsd:enumeration value="boolean" />
            	<xsd:enumeration value="date" />
            	<xsd:enumeration value="decimal" />
            	<xsd:enumeration value="money" />
            	<xsd:enumeration value="quantity" />
            	<xsd:enumeration value="text" />
        	</xsd:restriction>
    	</xsd:simpleType>
	</xsd:attribute>
xml:lang Attribute

The xml:lang attribute defines if the custom attribute is localizable or not. If the xml:lang attribute exists, the custom attribute is locale specific (localizable), if not provided - the attribute is considered non-localizable (one value for all locales).

Examples:

<custom-attribute name="PRODUCT_BINDING_ATTRIBUTE" dt:dt="string">ProductTypes</custom-attribute> <!-- non-localizable -->

<custom-attribute name="META_TITLE_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute> <!-- localizable, locale en-US -->

<custom-attribute name="META_TITLE_GENERATE" dt:dt="string" xml:lang="de-DE">Automatisch</custom-attribute>   <!-- localizable, locale de-DE -->

	<xsd:attribute ref="xml:lang" />
	<!-- namespace="http://www.w3.org/XML/1998/namespace"
     	schemaLocation="xml.xsd" -->
 
	<xs:attribute name="lang" type="xs:language">
    	<xs:annotation>
        	<xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
            	codes as the enumerated possible values . . .</xs:documentation>
    	</xs:annotation>
	</xs:attribute>
 
	<xs:simpleType id="language" name="language">
    	<xs:annotation>
        	<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#language"/>
    	</xs:annotation>
    	<xs:restriction base="xs:token">
        	<xs:pattern id="language.pattern" value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*">
            	<xs:annotation>
                	<xs:documentation source="http://www.ietf.org/rfc/rfc3066.txt">
                    	pattern specifies the content of section 2.12 of XML 1.0e2
                    	and RFC 3066 (Revised version of RFC 1766).
                	</xs:documentation>
            	</xs:annotation>
        	</xs:pattern>
    	</xs:restriction>
	</xs:simpleType>
value Element

The value element is used to specify different values for one custom attribute if we want to import this attribute of multiple types. Such multiple types can be multiple int, multiple decimal, multiple string, multiple quantity, etc.

For each value there is an option how these values to be imported. That's why the update-mode attribute was introduced for value tag in order to add additional import behavior for multiple type values. The update-mode attribute should be set to ADD, DELETE or UPDATE.

Examples:

<custom-attribute name="MDAtt" dt:dt="decimal">

    <value>1.0</value>

    <value>2.0</value>

    <value update-mode="DELETE">3.0</value>

</custom-attribute>

<custom-attribute name="MIAtt" dt:dt="int" xml:lang="en-US">

    <value>25</value>

</custom-attribute>

	<xsd:element name="value" type="complexType.Multiple.Custom.Attribute.Value" minOccurs="0" maxOccurs="unbounded" />
 
	<xsd:complexType name="complexType.Multiple.Custom.Attribute.Value">
    	<xsd:simpleContent>
        	<xsd:extension base="simpleType.Generic.String.4000">
            	<xsd:attribute name="update-mode" type="simpleType.Generic.Attribute.Value.UpdateMode" />
        	</xsd:extension>
    	</xsd:simpleContent>
	</xsd:complexType>
 
	<xsd:simpleType name="simpleType.Generic.String.4000">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="4000" />
    	</xsd:restriction>
	</xsd:simpleType>
 
	<xsd:simpleType name="simpleType.Generic.Attribute.Value.UpdateMode">
  		<xsd:restriction base="xsd:string">
    		<xsd:enumeration value="DELETE" />
    		<xsd:enumeration value="ADD" />
    		<xsd:enumeration value="UPDATE" />
  		</xsd:restriction>
	</xsd:simpleType>

Custom Data

The custom-data tag allows to add any other information that a custom import process may need and this information will not be validated according to the XSD.

Example:

<custom-data>

    <age>18</age>

    <eyes>blue</eyes>

    <abcdef>abcdef</abcdef>

</custom-data>

	<xsd:element name="custom-data" type="complexType.CustomData" minOccurs="0" maxOccurs="1" />
 
	<xsd:complexType name="complexType.CustomData" mixed="false">
    	<xsd:sequence>
        	<xsd:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded" />
    	</xsd:sequence>
	</xsd:complexType>

Position

The position tag is used to set the position of the category in the parent category's subcategory list. Usually the position needs to be set if manual subcategory sorting is applied.

Example:

<position>1.0</position>

	<xsd:element name="position" type="xsd:double" minOccurs="0" maxOccurs="unbounded" />

UUID

The uuid tag can be used to set an UUID for this category if it is still not in the database. Recommendation: do not use this element.

	<xsd:element name="uuid" type="simpleType.UUID" minOccurs="0" maxOccurs="1" />

	<xsd:simpleType name="simpleType.UUID">
    	<xsd:restriction base="xsd:string">
        	<xsd:pattern value="[A-Za-z0-9_\.]{24}" />
    	</xsd:restriction>
	</xsd:simpleType>

Image Set Assignments

The image-set-assignments tag specifies that a list with all image set assignments is following. This tag should be used for import of classification categories only, because image sets are assigned to classification categories and image view + image type. Each image set assignment of the current classification category should be placed in a different image-set-assignment tag.

Example:

<image-set-assignments>

    <image-set-assignment />

    <image-set-assignment />

    <image-set-assignment />

...

</image-set-assignments>

	<xsd:element name="image-set-assignments" type="complexType.Image.ImageSetAssignments" minOccurs="0" maxOccurs="1" />

	<xsd:complexType name="complexType.Image.ImageSetAssignments">
        <xsd:choice>
            <xsd:element name="image-set-assignment" type="complexType.Image.ImageSetAssignment" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:choice>
    </xsd:complexType>

Image Set Assignment

The image-set-assignment tag is used to describe one image set assignment of a classification category. It is enough to specify the image set ID in order to identify the actual image set. The attribute image-set is used to specify the ID of the related image set.

Examples:

<image-set-assignment image-set="default"/>

<image-set-assignment image-set="front"/>

	<xsd:element name="image-set-assignment" type="complexType.Image.ImageSetAssignment" minOccurs="1" maxOccurs="unbounded"/>

	<xsd:complexType name="complexType.Image.ImageSetAssignment">
        <xsd:attribute name="image-set" type="simpleType.Generic.String.256" />
    </xsd:complexType>

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Attributes of complexType.CatalogCategory

RefID

The refid attribute can be used to determine the category. This is the UUID attribute of the category.

	<xsd:attribute name="refid" type="simpleType.UUID" />

	<xsd:simpleType name="simpleType.UUID">
    	<xsd:restriction base="xsd:string">
        	<xsd:pattern value="[A-Za-z0-9_\.]{24}" />
    	</xsd:restriction>
	</xsd:simpleType>

Import Mode

The import-mode attribute at the category tag is used to specify the import mode of this category. For example, we may run the import in UPDATE mode but we always need to replace this category, so we may use this attribute to specify the desired mode.

Example:

<category name="TV-Home-Entertainment" import-mode="REPLACE">

...

</category>

 	<xsd:attribute name="import-mode" type="simpleType.ImportMode" />

	<xsd:simpleType name="simpleType.ImportMode">
    	<xsd:restriction base="xsd:string">
        	<xsd:enumeration value="OMIT" />
        	<xsd:enumeration value="IGNORE" />
        	<xsd:enumeration value="INITIAL" />
        	<xsd:enumeration value="DELETE" />
        	<xsd:enumeration value="REPLACE" />
        	<xsd:enumeration value="UPDATE" />
    	</xsd:restriction>
	</xsd:simpleType>

Note

The 'DELETE' Import Mode will only delete the corresponding category. The children of this category will not be deleted and will stay in the system without a parent category. If any subcategories should also be deleted, it is required to have an explicit complexType.CatalogCategory element with the 'DELETE' Import Mode for each in the XML import file.

Name

The name attribute can be used to determine the category. This is the recommended way to determine the category.

Example:

<category name="Telecommunication">

...

</category>

 	<xsd:attribute name="name" type="simpleType.Generic.String.256" />

	<xsd:simpleType name="simpleType.Generic.String.256">
    	<xsd:restriction base="xsd:string">
        	<xsd:minLength value="0" />
        	<xsd:maxLength value="256" />
    	</xsd:restriction>
	</xsd:simpleType>

Sample XML

Root Category

Import file for root category
<enfinity xsi:schemaLocation="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex catalog.xsd http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt dt.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dt="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" major="6" minor="1" family="enfinity" branch="enterprise" build="build">
<category name="TV-Home-Entertainment" import-mode="UPDATE">
<name>TV-Home-Entertainment</name>
<root>1</root>
<product-assignment-query></product-assignment-query>
<template>category/CatalogCategory</template>
<online>1</online>
<category-links>
<category-link name="1584">
<category-link-type name="ES_CrossSelling_C"></category-link-type>
<position>1.0</position>
</category-link>
<category-link name="903" domain="PrimeTech-Computers">
<category-link-type name="ES_CrossSelling_C"></category-link-type>
<position>2.0</position>
</category-link>
</category-links>
<description xml:lang="en-US">The TV &amp; Home Entertainment products and services catalog.</description>
<description xml:lang="de-DE">Der Produkt- und Servicekatalog für TV &amp; Home Entertainment.</description>
<display-name xml:lang="de-DE">TV &amp; Zubehör</display-name>
<display-name xml:lang="en-US">TV &amp; Home Entertainment</display-name>
<custom-attributes>
<custom-attribute name="ShowInMenu" dt:dt="string">True</custom-attribute>
</custom-attributes>
</category>
</enfinity>

Subcategory

Import file for subcategory
<enfinity xsi:schemaLocation="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex catalog.xsd http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt dt.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dt="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" major="6" minor="1" family="enfinity" branch="enterprise" build="build">
<category name="1893">
<name>1893</name>
<root>0</root>
<product-assignment-query></product-assignment-query>
<template>category/CatalogCategory</template>
<online>1</online>
<position>2.0</position>
<category-links>
<category-link name="1584" domain="PrimeTech-TV-Home-Entertainment">
<category-link-type name="ES_Accessory_C"></category-link-type>
<position>1.0</position>
</category-link>
</category-links>
<display-name xml:lang="de-DE">Smartphones</display-name>
<display-name xml:lang="en-US">Smartphones</display-name>
<description xml:lang="en-US">Smartphones</description>
<description xml:lang="de-DE">Smartphones</description>
<parent name="Telecommunication" />
<custom-attributes>
<custom-attribute name="META_DESCRIPTION_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>
<custom-attribute name="ShowInMenu" dt:dt="string" xml:lang="en-US">True</custom-attribute>
<custom-attribute name="META_KEYWORDS_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>
<custom-attribute name="META_TITLE_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>
</custom-attributes>
</category>
</enfinity>

Classification Category

The classification category is recognized when <classification-system> tag exists. This tag has to be placed only at the root category side. Subcategories of this classification root category are also classification categories.

Import file for classification category
<enfinity xsi:schemaLocation="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex catalog.xsd http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt dt.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dt="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" major="6" minor="1" family="enfinity" branch="enterprise" build="build">
<!-- The root classification category "ProductTypes" -->
<category name="ProductTypes" import-mode="UPDATE">
<name>ProductTypes</name>
<root>1</root>
<product-assignment-query></product-assignment-query>
<template></template>
<online>1</online>
<classification-system>Custom</classification-system>
<category-links>
</category-links>
<description xml:lang="en-US">The classification catalog used to define product types.</description>
<description xml:lang="de-DE">Der Klassifikationskatalog für die Definition von Produkttypen.</description>
<display-name xml:lang="en-US">Product Types</display-name>
<display-name xml:lang="de-DE">Produkttypen</display-name>
</category>
<!-- Subcategory of the classification category "ProductTypes" -->
<category name="K - Audio">
<name>K - Audio</name>
<root>0</root>
<product-assignment-query></product-assignment-query>
<template>category/CatalogCategory</template>
<online>1</online>
<position>3.0</position>
<category-links>
</category-links>
<display-name xml:lang="de-DE">Audio</display-name>
<description xml:lang="en-US">Audio</description>
<display-name xml:lang="en-US">Audio</display-name>
<description xml:lang="de-DE">Audio</description>
<parent name="ProductTypes" />
<image-set-assignments>
<image-set-assignment image-set="default"/>
</image-set-assignments>
<custom-attributes>
<custom-attribute name="PRODUCT_BINDING_TYPE" dt:dt="int">1</custom-attribute>
<custom-attribute name="PRODUCT_BINDING_ATTRIBUTE" dt:dt="string">ProductTypes</custom-attribute>
<custom-attribute name="PRODUCT_BINDING_VALUE" dt:dt="string">K - Audio</custom-attribute>
</custom-attributes>
</category>
</enfinity>

Category with Dynamic Product Binding

The category with dynamic product binding is recognized when <searchquery-definition-name> tag exists.

Import file for category with dynamic product binding
<enfinity xsi:schemaLocation="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex catalog.xsd http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt dt.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dt="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" major="6" minor="1" family="enfinity" branch="enterprise" build="build">
<category name="897_Fujitsu">
<name>897_Fujitsu</name>
<root>0</root>
<product-assignment-query></product-assignment-query>
<template>category/CatalogCategory</template>
<online>1</online>
<position>3.0</position>
<category-links>
<category-link name="897_Samsung">
<category-link-type name="ES_UpSelling_C"></category-link-type>
<position>1.0</position>
</category-link>
</category-links>
<description xml:lang="de-DE">Fujitsu</description>
<display-name xml:lang="de-DE">Fujitsu</display-name>
<display-name xml:lang="en-US">Fujitsu</display-name>
<description xml:lang="en-US">Fujitsu</description>
<parent name="897" />
<searchquery-definition-name>only_fujitsu_tablets_filter</searchquery-definition-name>
<custom-attributes>
<custom-attribute name="META_KEYWORDS_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>
<custom-attribute name="META_DESCRIPTION_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>
<custom-attribute name="META_TITLE_GENERATE" dt:dt="string" xml:lang="en-US">automatic</custom-attribute>
<custom-attribute name="ShowInMenu" dt:dt="string" xml:lang="en-US">True</custom-attribute>
</custom-attributes>
</category>
</enfinity>

Example XML for importing the product filter (search query definition) only_fujitsu_tablets_filter.

Import file for product filter (search query definition)
<enfinity xsi:schemaLocation="http://www.intershop.com/xml/ns/enfinity/6.5/bc_search/impex searchquerydefinition.xsd" xmlns="http://www.intershop.com/xml/ns/enfinity/6.5/bc_search/impex" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dt="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt">
<searchquery-definitions>
<searchquery-definition name="only_fujitsu_tablets_filter">
<custom-attributes>
<custom-attribute name="displayName" dt:dt="string" xml:lang="en-US">Fujitsu Tablet Products</custom-attribute>
<custom-attribute name="description" dt:dt="string" xml:lang="en-US">This demo product filter selects tablet products of the manufacturer Fujitsu</custom-attribute>
</custom-attributes>
<global-visible>false</global-visible>
<type>product</type>
<searchquery>
<contextcategoryid></contextcategoryid>
<multi-value-conditions/>
<range-conditions/>
<rankings/>
<sortings>
<sorting>
<attribute-name>name</attribute-name>
<direction>ASCENDING</direction>
</sorting>
</sortings>
<value-conditions>
<value-condition>
<attribute-name>ManufacturerName</attribute-name>
<attribute-value>Fujitsu</attribute-value>
</value-condition>
<value-condition>
<attribute-name>IcecatCategoryID</attribute-name>
<attribute-value>897</attribute-value>
</value-condition>
</value-conditions>
</searchquery>
</searchquery-definition>
</searchquery-definitions>
</enfinity>
Disclaimer
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.
The Intershop Knowledge Portal uses only technically necessary cookies. We do not track visitors or have visitors tracked by 3rd parties. Please find further information on privacy in the Intershop Privacy Policy and Legal Notice.
Home
Knowledge Base
Product Releases
Log on to continue
This Knowledge Base document is reserved for registered customers.
Log on with your Intershop Entra ID to continue.
Write an email to supportadmin@intershop.de if you experience login issues,
or if you want to register as customer.