Creating catalog data in XML format
You can create data that you want to upload into Management Center in
an XML formatted file. This XML file must follow a specific XML format,
which is similar in structure and content to the supported CSV format
for uploading catalog data.
Before you begin
Procedure
- Open an XML or text editor.
-
In the first line of your file, add the following code to define your file as an XML
file:
<?xml version="1.0" encoding="UTF-8"?>
- After the line that defines your file as an XML file, specify an element
for the business object type that you are loading information about. You must specify this object
type in the root element for your file by specifying the keyword for the business object. In this
element, you must include an element name that distinguishes your root element from other elements
within your file.
This root element must be specified with the following format:
Where elementName is the distinguishing name for the root element, and keyword is the keyword that is used to identify the business object type that you are loading.<?xml version="1.0" encoding="UTF-8"?> <elementName loadItemName="keyword"> </elementName>
For example, the following element is used to specify that a file contains catalog data.<?xml version="1.0" encoding="UTF-8"?> <CatalogObjects loadItemName="Catalog"> </CatalogObjects>
Note: TheloadItemName
declaration is required in files that are being upload with Management Center and optional for files that are loaded with the Data Load utility. As a best practice, include this declaration. By including theloadItemName
declaration, your file can be loaded with both the Data Load utility or Management Center without requiring you to add theloadItemName
declaration later.Choose one of the following keywords, type the keyword exactly as shown:Attachment
AttachmentAsset
Catalog
CatalogDescription
CatalogEntryRelationship
CatalogGroup
CatalogGroupAsset
CatalogGroupAssociation
CatalogGroupAttachment
CatalogGroupCalculationCode
CatalogGroupDescription
CatalogGroupRelationship
CatalogGroupSEO
CatalogEntry
CatalogEntryAsset
CatalogEntryAssociation
CatalogEntryAttachment
CatalogEntryCalculationCode
CatalogEntryComponent
CatalogEntryDescription
CatalogEntryDescriptionOverride
CatalogEntryDescriptiveAttributeAndValue
CatalogEntryInventory
CatalogEntryATPInventory
CatalogEntryOfferPrice
CatalogEntryParentCatalogGroupRelationship
CatalogEntryParentProductRelationship
CatalogEntrySEO
CatalogEntryUpdate
CatalogEntryDescriptionUpdate
CatalogFilter
CatalogFilterCategory
CatalogFilterCatentry
CatalogFilterCondition
CatalogFilterConditionGroup
ListPriceList
ProductDefiningAttributeAndAllowedValues
SKUDefiningAttributeValue
AttributeDictionaryAttributeAndAllowedValues
AttributeDictionaryAttributeAllowedValues
CatalogEntryAttributeDictionaryAttributeRelationship
AttributeDictionaryAttributeFolderRelationship
-
Following the line that defines the object type that your loading, specify the object that you
are loading. Specify the object within an element that is nested within your root element.
For example,
<?xml version="1.0" encoding="UTF-8"?> <CatalogObjects loadItemName="Catalog">
<Catalog>
</Catalog>
</CatalogObjects> -
Add the information for the object that you are loading. You can add this information as
elements or as attributes in the element that specifies the object that you are loading.
These attributes or elements must use the specific XML element name for the object. These names are the same as the CSV column names and are case-sensitive. You must enter these names exactly as they appear in the appropriate CSV column and XML element definitions topic. If you are adding custom information, you must enter the attribute or element names to be the same as the name in the corresponding mediator that maps the information to the correct location in the business object noun.
- If you are adding your object information in XML elements, nest these elements within the object
element you defined in the previous step. For
example:
<Catalog>
<Identifier>Spring Fashions</Identifier>
<MasterCatalog>FALSE</MasterCatalog>
<Description>Spring Fashions</Description>
<Name>Spring Fashions</Name>
<ShortDescription>Spring Fashions</ShortDescription>
<LongDescription>Fashions for the Spring season</LongDescription>
</Catalog> - If you are adding your object information as attributes, these XML attributes must be included
in the following format:
Where<object attribute="attribute_value">
object
is the object that you are loading, andattribute
is the name of the attribute that you are loading. For example,<Catalog Identifier="Spring Fashions">
You can also include an element or attribute that specifies the sequence or delete value for the object. For example,- Attribute
<CatalogEntry Sequence="1.0" Delete="0">
- Element
<Delete>0</Delete>
You can set the delete value to be
1
or0
. If you set the value to1
, then the object is deleted. If you specify the value as0
, or omit the value, the value defaults to0
and no deletion occurs.Note: Working with element and attribute values:For more information, see Configuring the XML data reader.You can use either elements or attributes to add data to be loaded. Typically, they are loaded the same by using either method. However, they are loaded differently when the value is empty.
For example, for a catalog entry, you can specify the Name use element:
Or, you can use an attribute:<CatalogEntry> <Name>Spring Fashions</Name> </CatalogEntry>
The preceding samples are equivalent when loading. However, if the value for the Name is empty, it is handled differently by the XML handler. That is, the following samples are handled differently:<CatalogEntry Name="Spring Fashions"> </CatalogEntry>
<CatalogEntry> <Name></Name> </CatalogEntry>
<CatalogEntry Name=""> </CatalogEntry>
By default, all elements with empty values are treated as null. However, attributes with empty values are treated as empty values. That is, the value is null in the database if you use an element for Name, and the value is empty in the database if you use an attribute for Name. This default behavior can be changed by using the following optional configuration properties.- ignoreEmptyElementText
- If set to false, empty elements are treated as empty values. The default value is true.
- ignoreEmptyAttributeValue
- If set it to true, empty attribute values are treated as null. The default value is false.
<DataReader>
element,<LoadItem>
element, or<LoadOrder>
element as:<_config:property name="ignoreEmptyElementText" value="false" />
- If you are adding your object information in XML elements, nest these elements within the object
element you defined in the previous step. For
example:
- Optional:
Repeat steps 4 and 5 to add information for more objects within your file. Each object must be
specified within a separate XML element. Do not nest your objects deeply. Nest the element for each
object you are including directly within your root element.
For example, to include three catalog objects within a file, your file can resemble the following code:
<CatalogObjects loadItemName="Catalog"> <Catalog> <Identifier>Spring Fashions</Identifier> <MasterCatalog>FALSE</MasterCatalog> <Description>Spring Fashions</Description> <Name>Spring Fashions</Name> <ShortDescription>Spring Fashions</ShortDescription> <LongDescription>Fashions for the Spring season</LongDescription> </Catalog> <Catalog Delete="0"> <Identifier>Summer Fashions</Identifier> <MasterCatalog>FALSE</MasterCatalog> <Description>Summer Fashions</Description> <Name>Spring Fashions</Name> <ShortDescription>Summer Fashions</ShortDescription> <LongDescription>Fashions for the Summer season</LongDescription> </Catalog> <Catalog Delete="0"> <Identifier>Fall Fashions</Identifier> <MasterCatalog>FALSE</MasterCatalog> <Description>Fall Fashions</Description> <Name>Spring Fashions</Name> <ShortDescription>Fall Fashions</ShortDescription> <LongDescription>Fashions for the Fall season</LongDescription> </Catalog> </CatalogObjects>
- Save and close your file.
- Optional: Create data files for different business object types. Repeat steps 1-7.
- Optional: You can compress one or more XML
files into a compressed file using a compression utility; password-encrypted
compressed files are not supported.If you choose to compress your XML files into a compressed file, be aware of the following:
- Catalog object types must be unique across all the XML files in the compressed file, that is, you cannot have more than one XML file that uses the same keyword. If you want to upload multiple objects of the same object type, include the information for the multiple objects within the same file.
- Catalog object types are uploaded in the following order:
Catalog Upload feature catalog object type load order Priority Keyword 1 Catalog 2 CatalogDescription 3 CatalogGroup 4 CatalogGroupAssociation, CatalogGroupDescription, CatalogGroupRelationship, CatalogGroupCalculationCode 5 CatalogEntry 6 ProductDefiningAttributeAndAllowedValues, CatalogEntryDescriptiveAttributeAndValue, AttributeDictionaryAttributeAndAllowedValues 7 CatalogEntryAssociation, CatalogEntryComponent, CatalogEntryDescription, CatalogEntryCalculationCode, CatalogEntryInventory, CatalogEntryATPInventory, CatalogEntryOfferPrice, CatalogEntryParentCatalogGroupRelationship, CatalogEntryParentProductRelationship, AttributeDictionaryAttributeAllowedValues, CatalogEntryDescriptionOverride 8 SKUDefiningAttributeValue, CatalogEntryAttributeDictionaryAttributeRelationship, AttributeDictionaryAttributeFolderRelationship
Note: By default, the maximum file size for uploads is 10 MB.