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 .
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.
The element category
contains all category specific attributes, custom category attributes and category relations.
The following category data attributes can be imported:
The following category relations can be imported:
<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>
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>
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>
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>
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>
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>
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>
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>
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
AttributeThe 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
AttributeThe 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
AttributeThe 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>
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>
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>
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:
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
AttributeThe 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
AttributeThe 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
AttributeThe 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>
category-link-type
ElementThe 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:
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
ElementThe 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 & 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
ElementThe 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
ElementThe 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
ElementThe 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>
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>
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>
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>
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>
<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
ElementThe 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" />
<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
AttributeThe 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" />
<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
AttributeThe 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" />
<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
AttributeThe 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" />
<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
AttributeThe 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" />
<xsd:attribute name="image-width" type="xsd:integer" />
image-height
AttributeThe 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" />
<xsd:attribute name="image-height" type="xsd:integer" />
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>
The custom-attribute
tag is used to describe one custom attribute in the following way:
xml:lang
attribute exists, the custom attribute is locale specific (localizable), if not provided - the attribute is considered non-localizabledt:dt
attributename
attributevalue
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
AttributeThe 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
AttributeThe 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
AttributeThe 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
AttributeThe 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
ElementThe 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>
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>
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" />
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>
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>
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>
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>
The import-mode
attribute at the
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.category
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.
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>
<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 & Home Entertainment products and services catalog.</description> <description xml:lang="de-DE">Der Produkt- und Servicekatalog für TV & Home Entertainment.</description> <display-name xml:lang="de-DE">TV & Zubehör</display-name> <display-name xml:lang="en-US">TV & Home Entertainment</display-name> <custom-attributes> <custom-attribute name="ShowInMenu" dt:dt="string">True</custom-attribute> </custom-attributes> </category> </enfinity>
<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>
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.
<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>
The category with dynamic product binding is recognized when <searchquery-definition-name>
tag exists.
<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.
<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>