Examples For Object Representation In CML

Last modified by prodexa Admin on 23.02.2021, 15:26

The following examples illustrate how objects are represented in CML to be imported by Command Importer.

PRODUCT

<Command mode="insert-update">
<Product id="SAM-181T">
 <Status objectClass="PRODUCT" id="400"></Status>
  <UnitOfMeasure id="PCE" ></UnitOfMeasure>
 <SalesUnitOfMeasure id="PCE" ></SalesUnitOfMeasure>
 <Supplier id="Hardware" ></Supplier>
 <Catalog id="Hardware" ></Catalog>
 <ManufacturerName>Samsung</ManufacturerName>
 <Manufacturer id="10000"></Manufacturer>
 <MfgProductId>123456789</MfgProductId>
 <Keywords>Monitor Bildschirm</Keywords>
 <Ean>5600134578138</Ean>
 <ConvRateSales>1</ConvRateSales>
 <MinQuantity>1</MinQuantity>
 <QuantityInterval>1</QuantityInterval>
 <ClassificationGroupAssociations>
  <ClassificationGroupAssociation>
   <ClassificationGroup id="documents">
    <Classification id="jCatalog" ></Classification>
   </ClassificationGroup>
  <ClassificationGroup id="deprecated">
   <Classification id="jCatalog" ></Classification>
  </ClassificationGroup>
  </ClassificationGroupAssociation>
 </ClassificationGroupAssociations>
<!-- In the current version you don't need the <Value> tag. Just write your information in the <AttributeValue> tag -->  
<AttributeValues>
<!-- For current version -->
<AttributeValue attributeId="LongDescription" languageId="de">
    18,1" SyncMaster TFT-Display -  46cm sichtbare Bildschirmdiagonale -
           Helligkeit: 250 cd/m² -  Kontrast: 500:1 -  Betrachtungswinkel (h/v):
           170°/170° -  Pivotfunktion und höhenverstellbar -  Narrow Bezel:
           extra schmaler Rahmen
  </AttributeValue>
<!--  Older Versions < 7.8 GA -->
  <AttributeValue attributeId="LongDescription" languageId="de">
   <Value>18,1" SyncMaster TFT-Display -  46cm sichtbare Bildschirmdiagonale -
           Helligkeit: 250 cd/m² -  Kontrast: 500:1 -  Betrachtungswinkel (h/v):
           170°/170° -  Pivotfunktion und höhenverstellbar -  Narrow Bezel:
           extra schmaler Rahmen</Value>
  </AttributeValue>
 <AttributeValue attributeId="ShortDescription" languageId="de">
  <Value>18.1</Value>
  <Description languageId="de">18,1" SyncMaster TFT-Display</Description>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal1">
  <Value>Monitor/Samsung/Test/pc-magazin.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal2">
  <Value>Monitor/Samsung/Test/pc-business.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal3">
  <Value>Monitor/Samsung/Test/pc-direkt.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal4">
  <Value>Monitor/Samsung/Bild/Samsung_181T.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal5">
  <Value>Monitor/Samsung/Bild/Samsung_181T_front.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal6">
  <Value>Monitor/Samsung/Bild/Samsung_181T_back.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal7">
  <Value>Monitor/Siegel/TCO99.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal8">
  <Value>Monitor/Siegel/iso13406.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal9">
  <Value>Monitor/Samsung/PDF/SM_181T_Anleitung.pdf</Value>
 </AttributeValue>
 <AttributeValue attributeId="DocumentNormal10">
  <Value>Monitor/Samsung/Bild/Samsung_181T.jpg</Value>
 </AttributeValue>
 <AttributeValue attributeId="Aufl" languageId="de">
  <Value>(1280 * 1024) Pixel</Value>
 </AttributeValue>
 <AttributeValue attributeId="Diagonale" languageId="de">
  <Value>18,1"</Value>
 </AttributeValue>
 <AttributeValue attributeId="Helligk" languageId="de">
  <Value>250 cd/m²</Value>
 </AttributeValue>
 <AttributeValue attributeId="Horz" languageId="de">
  <Value>170°</Value>
 </AttributeValue>
 <AttributeValue attributeId="Kontrast" languageId="de">
  <Value>500:1</Value>
 </AttributeValue>
 <AttributeValue attributeId="Sdiagon" languageId="de">
  <Value>46,0 cm</Value>
 </AttributeValue>
</AttributeValues>
<ContractedProducts>
 <ContractedProduct>
  <Contract id="parentContract" ></Contract>
   <Prices>
     <!-- priceTypeID, validFromQuantity, currencyID are keys and required, ValidRange from and to are keys but may be null by default -->   
    <Price priceTypeId="default" validFromQuantity=1 currencyId="EUR">
     <NetPrice>879</NetPrice>
     <PriceUnit>1</PriceUnit>
     <ValidRange from="01.01.2010" to="31.12.2010">
     <Status objectClass="PRICE" id="400"></Status>
    </Price>
    <Price priceTypeId="default" validFromQuantity=1 currencyId="USD">
     <NetPrice>1145.86</NetPrice>
     <PriceUnit>1</PriceUnit>
     <ValidRange from="01.01.2010" to="31.12.2010">
    </Price>
    <Price priceTypeId="default" validFromQuantity=1 currencyId="GBP">
     <NetPrice>608.49</NetPrice>
     <PriceUnit>1</PriceUnit>
    </Price>
   </Prices>
  </ContractedProduct>
 </ContractedProducts>
</Product>
</Command>

PRODUCT RELATION

Based on PIM 6.0.2
 SyncTypeId available in PIM 6.1+

<Product id="123">
  <Catalog id="abc"></Catalog>
  <ProductRelations>
    <ProductRelation>
      <RelatedProduct id="xyz"></RelatedProduct>
      <Type>accessory</Type>
      <Quantity>2.0</Quantity>
      <Status id="400" objectClass="PRODUCTRELATION"></Status>
      <UdxInfo>
        <UdxNum1>123</UdxNum1>
        <UdxText1>abcdefgh</UdxText2>
      </UdxInfo>
      <SyncTypeId>WDVariant</SyncTypeId>
    </ProductRelation>
  </ProductRelations>
</Product>

Note the "UdxInfo"-Element that embrace the other Udx-Fields.
 CMP 2.9.1 can export the Udx-Fields to XML.

REVERSE PRODUCT RELATION

<Product id="{$variantProductID}">
    <Catalog id="{$variantCatalogID}"></Catalog>
    <Status id="400" objectClass="PRODUCT"></Status>

    <ReverseProductRelations>
      <ProductRelation>
        <Product id="{$masterProductID}">
           <Catalog id="{$masterCatalogID}"></Catalog>
           <Status id="400" objectClass="PRODUCT"></Status>
         </Product>
         <Type>variant</Type>
         <Status id="400" objectClass="PRODUCTRELATION"></Status>
         <!-- <SyncTypeId>masterVariant</SyncTypeId> -->
       </ProductRelation>
     </ReverseProductRelations>

 </Product>

ATTRIBUTES

<Command mode="insert-update">
<Attribute id="SpecialTreatmClass">
 <Description languageId="en">SpecialTreatmClass</Description>
 <Type class="StringType" ></Type>
</Attribute>
</Command>

<Command mode="insert-update">
<Attribute id="IsForPurchase">
 <Description languageId="en">IsForPurchase</Description>
 <Type class="BooleanType" ></Type>
</Attribute>
</Command>

<Command mode="insert-update">
<Attribute id="productImage">
 <Description languageId="en">Image</Description>
 <Type class="DocumentType"></Type>
    <maxLength>2000</maxLength>
 </Type>
</Attribute>
</Command>

<Command mode="insert-update">
<Attribute id="PackingUnit">
 <Description languageId="en">PackingUnit</Description>
 <Type class="IntegerType" ></Type>
</Attribute>
</Command>

<Command mode="insert-update">
<Attribute id="Breite">
 <Description languageId="de">Breite</Description>
 <Type class="NumericType" ></Type>
 <IsForPrint>true</IsForPrint>
 <UnitOfMeasure id="cm" ></UnitOfMeasure>
</Attribute>
</Command>

<Command mode="insert-update">
<Attribute id="DocumentNormal2">
 <Description languageId="en">Attribute for normal document No. 2</Description>
 <Type class="DocumentType" ></Type>
</Attribute>
</Command>

<Command mode="insert-update">
<Attribute id="1001">
 <Description languageId="de">Druckauflösung</Description>
 <Type class="StringType" ></Type>
 <IsForPrint>true</IsForPrint>
 <UnitOfMeasure id="pix" ></UnitOfMeasure>
 <IsMultivalued>true</IsMultivalued>
 <Options>
  <AttributeValueOption>
   <Value>1200 x 1200</Value>
   <OrderNo>1</OrderNo>
  </AttributeValueOption>
  <AttributeValueOption>
   <Value>1200 x 600</Value>
   <OrderNo>2</OrderNo>
  </AttributeValueOption>
  <AttributeValueOption>
   <Value>1440 x 720</Value>
   <OrderNo>3</OrderNo>
  </AttributeValueOption>
  <AttributeValueOption>
   <Value>2400 x 1200</Value>
   <OrderNo>4</OrderNo>
  </AttributeValueOption>
  <AttributeValueOption>
   <Value>2880 x 720</Value>
   <OrderNo>5</OrderNo>
  </AttributeValueOption>
  <AttributeValueOption>
   <Value>4800 x 1200</Value>
   <OrderNo>6</OrderNo>
  </AttributeValueOption>
  <AttributeValueOption>
   <Value>5760 x 1440</Value>
   <OrderNo>7</OrderNo>
  </AttributeValueOption>
 </Options>
</Attribute>
</Command>

<Command>
 <Attribute id="ADMRequest">
   <Type class="StringType">
     <MinLength>0</MinLength>
     <MaxLength>2000</MaxLength>
   </Type>
   <Layout class="TextareaLayout">
     <Rows>15</Rows>
     <Cols>60</Cols>
   </Layout>
   <IsVariable>true</IsVariable>
   <IsMultiLanguage>false</IsMultiLanguage>
   <IsMultivalued>false</IsMultivalued>
   <IsRequired>true</IsRequired>
   <IsForDetails>true</IsForDetails>
 </Attribute>
</Command>


<Command mode="insert-update">
<Attribute id="test">
 <Description languageId="de">Example</Description>
 <Type class="StringType" ></Type>
<Options>
 <AttributeValueOption>
     <Value>123</Value>
     <OrderNo>1</OrderNo>
  <Description languageId='de'>testDescription</Description>
 </AttributeValueOption>
</Options>   
</Attribute>
</Command>  

<Command mode="delete">
 <AttributeValue attributeId="test" languageId="de" productId="4711" catalogId="0815"></AttributeValue>
</Command>

ATTRIBUTE SECTIONS

Attribute sections are introduced in PIM 6.0.4.

<CML>
    <!-- create section -->
    <Command mode="{$mode}">
     <AttributeSection id="{$sectionId}">
       <Name languageId="de">Section_DE</Name>
       <Name languageId="en">Section_EN2</Name>
       <OrderNo>1</OrderNo>
     </AttributeSection>
    </Command>

    <!-- assign attribute to section -->
    <Command mode="{$mode}">
      <Attribute id="{$attributeId}">
          <Section id="{$sectionId}"></Section>
      </Attribute>
    </Command>
</CML> 

ATTRIBUTE VALUE OPTIONS

<Command>
 <AttributeValueOption>
 <Attribute id="color"></Attribute>
 <IsDefault>false</IsDefault>
 <Description languageId="de">Blau</Description>
 <Description languageId="en">Blue</Description>
 <Value>01</Value>
 </AttributeValueOption>
</Command> 

CLASSIFICATION

<Command mode="insert-update">
<Classification id="jCatalog">
 <DescShort languageId="en">Classification Descshort</DescShort>
</Classification>
</Command>

CLASSIFICATION GROUP

<Command mode="insert-update">
<ClassificationGroup id="deprecated">
 <Classification id="jCatalog" ></Classification>
 <DescShort languageId="en">Deprecated fields</DescShort>
 <DescLong languageId="en">Attributes for fields, that deprecated in schema v6</DescLong>
 <Attributes>
  <Attribute id="PackingUnit" ></Attribute>
  <Attribute id="MasterProductId" ></Attribute>
  <Attribute id="SpecialTreatmClass" ></Attribute>
  <Attribute id="StatisticalProdId" ></Attribute>
  <Attribute id="Eccn" ></Attribute>
  <Attribute id="EuExportClassific" ></Attribute>
  <Attribute id="Country" ></Attribute>
   ...
 </Attributes>
</ClassificationGroup>
</Command>
<Command mode="insert-update">
<ClassificationGroup id="2101">
 <Classification id="ProductGroup" ></Classification>
 <Parent id="21">
  <Classification id="ProductGroup" ></Classification>
 </Parent>
 <Status objectClass="CLASSIFICATIONGROUP" id="400"></Status>
 <DescShort languageId="de">Zerspannung</DescShort>
 <DescLong languageId="de" ></DescLong>
 <DocumentUrl1>image1.jpg</DocumentUrl1>
 <DocumentUrl2>image2.jpg</DocumentUrl2>
 <DocumentUrl3>image3.jpg</DocumentUrl3>
</ClassificationGroup>
</Command>

CLASSIFICATION ATTRIBUTES

<Command mode="insert-update">
     <Classification id="TecDocEngine">
        <DescShort languageId="de">Motor</DescShort>
         ...
        <Attributes>
           <Classification2Attribute attributeId="td_country" orderNo="3"></Classification2Attribute>
            ...
        </Attributes>
     </Classification>
  </Command>

CLASSIFICATION GROUP ATTRIBUTE VALUE

<Command mode="insert-update">
 <ClassificationGroup id="my_classificationgroup_id" >
   <Classification id="my_classification_id"></Classification>
   <Status objectClass="CLASSIFICATIONGROUP" id="400"></Status>
   <AttributeValues>
     <ClassificationGroupAttributeValue attributeId="myAttributeId">2</ClassificationGroupAttributeValue>
   </AttributeValues>
 </ClassificationGroup>
</Command>

COMPATIBILITY ATTRIBUTES

<Command mode="insert-update">
     <Classification id="TecDocEngine">
        <DescShort languageId="de">Motor</DescShort>
         ...
        <CompatibilityAttributes>
           <Classification2CompatibilityAttribute attributeId="td_forBorHead" orderNo="1"></Classification2CompatibilityAttribute>
           <Classification2CompatibilityAttribute attributeId="td_country" orderNo="2"></Classification2CompatibilityAttribute>
            ...
        </CompatibilityAttributes>
     </Classification>
  </Command>

SUPPLIER

<Command mode="insert-update">
<Supplier id="Hardware">
 <AddressAssociations>
   <Supplier2Address>
     <Address id="Tarox_dl"></Address>
     <Type>delivery</Type>
   </Supplier2Address>
   <Supplier2Address>
     <Address id="Tarox"></Address>
     <Type>invoice</Type>
   </Supplier2Address>
 </AddressAssociations>
 <Language id="de" ></Language>
 <Currency id="EUR" ></Currency>
</Supplier>
</Command>
Warning

Previous to jcatalog-base 3.8 (see PIM-1783) use following syntax:

<Command mode="insert-update">
<Supplier id="Hardware">
 <Addresses>
  <Address key="default">
   <Name1>Hardware AG</Name1>
   <Street>Zum Schrauber 13</Street>
   <ZipCode>44137</ZipCode>
   <City>Dortmund</City>
   <IsCompany>true</IsCompany>
  </Address>
 </Addresses>
 <Language id="de" ></Language>
 <Currency id="EUR" ></Currency>
</Supplier>
</Command>

CUSTOMER

<Command mode="insert-update">
<Customer id="Tarox">
 <AddressAssociations>
   <Customer2Address>
     <Address id="Tarox"></Address>
     <Type>invoice</Type>
   </Customer2Address>
   <Customer2Address>
     <Address id="Tarox_dl"></Address>
     <Type>delivery</Type>
   </Customer2Address>
 </AddressAssociations>
 <Language id="de" ></Language>
 <WithVAT>false</WithVAT>
</Customer>
</Command>
Warning

Previous to jcatalog-base 3.8 (see PIM-1783) use following syntax:

<Command mode="insert-update">
<Customer id="Tarox">
 <Addresses>
  <Address key="invoice">
   <Name1>Tarox GmbH</Name1>
   <City>Dortmund</City>
  </Address>
 </Addresses>
 <Language id="de" ></Language>
 <WithVAT>false</WithVAT>
</Customer>
</Command>

MANUFACTURER]

<Manufacturer id="10000">
 <Logo>filename.jpg</Logo>
 <Name>xxx GmbH</Name>
</Manufacturer>

 
<!-- in Version 7.9 -->
<Manufacturer>
<Logo>manufacturerLogos/Logo.jpg</Logo>
  <ManufacturerId>10000</ManufacturerId>
   <Name>Hersteller Name</Name>
</Manufacturer>

CONTRACTS

<Command mode="insert-update">
 <Contract id="parentContract" ></Contract>
</Command>

<Command mode="insert-update">
<Contract id="Sanitaer">
 <ParentContract id="parentContract" ></ParentContract>
</Contract>
</Command>
<Command mode="insert-update">
 <Contract id="xxx">
   <Description>abc</Description>
   <Status objectClass="CONTRACT" id="400"></Status>
   <Provisionings>
    <ContractProvisioning>
     <Supplier id="xxx"></Supplier>
    </ContractProvisioning>
   </Provisionings>
   <Usages>
    <ContractUsage>
     <Customer id="xxx"></Customer>
    </ContractUsage>
   </Usages>
   <ContractedCatalogs>
    <ContractedCatalog>
     <ProductCatalog id="xxx"></ProductCatalog>
    </ContractedCatalog>
   </ContractedCatalogs>
 </Contract>
</Command>

PRODUCT CATALOG

<Command mode="insert-update">
<ProductCatalog id="world">
 <Currencies>
  <Currency id="EUR" ></Currency>
 </Currencies>
 <Languages>
  <Language id="en" ></Language>
 </Languages>
</ProductCatalog>
</Command>
<Command mode="insert-update">
<ProductCatalog id="xxx">
 <Description>abc</Description>
 <Status objectClass="PRODUCTCATALOG" id="400"></Status>
 <Currencies>
  <Currency id="EUR"></Currency>
 </Currencies>
 <Languages>
  <Language id="de"></Language>
 </Languages>
 <Provisionings>
  <CatalogProvisioning>
   <Supplier id="xxx"></Supplier>
  </CatalogProvisioning>
 </Provisionings>
 <Usages>
  <CatalogUsage>
   <Customer id="xxx"></Customer>
  </CatalogUsage>
 </Usages>
 <AttributeValues>
   <CatalogAttributeValue attributeId="xxx" languageId="de">some value</CatalogAttributeValue>
 </AttributeValues>
 </ProductCatalog>
</Command>

PROVISIONING

<Command mode="insert-update">
<CatalogProvisioning>
 <Supplier id="Hardware" ></Supplier>
 <Catalog id="Hardware" ></Catalog>
</CatalogProvisioning>
</Command>

ADDRESS

<Command mode="insert-update">
<Address id="jCatalog_Main"> // id introduced with jcatalog-base 3.8 (see PIM-1783)
 <Name1>jCatalog</Name1>
 <Name2>Software AG</Name2>
 <Street>Lindemannstr. 79</Street>
 <ZipCode>44137</ZipCode>
 <City>Dortmund</City>
 <IsCompany>true</IsCompany>
</Address>
</Command>

CURRENCIES

<Command mode="insert-update">
<Currency id="CZK">
 <Description>Czech koruna</Description>
</Currency>
</Command>

The currency description not translateable.

UNIT OF MEASURE

<Command mode="insert-update">
<UnitOfMeasure id="ATM">
 <Description languageId="en">standard atmosphere</Description>
</UnitOfMeasure>
</Command>

<Command mode="insert-update">
 <UnitOfMeasure id="VLT">
   <Description languageId="de">Volt</Description>
   <Description languageId="en">Volt</Description>
   <Symbol>V</Symbol>
 </UnitOfMeasure>
</Command>

The length of the UoM-ID is limited to 3 characters.

LANGUAGES

<Command mode="insert-update">
<Language id="sk">
 <LanguageName>Slovak</LanguageName>
</Language>
</Command>

The language name is not translateable.

PRICETYPES

  <Command mode="insert-update">
   <PriceType id="UVP">
     <Description languageId="de">UVP</Description>
     <Description languageId="en">UVP</Description>
   </PriceType>
 </Command>

Use PriceType in ProductPrices:

<Command mode="insert-update">
<Product id="...">
    ...
     <Price currencyId="EUR">
      <PriceType id="UVP"></PriceType>
      <NetPrice>123</NetPrice>
     </Price>
   ...
</Product>

PRODUCTRELATIONTYPE

  <Command mode="insert-update">
   <ProductRelationType>
     <ProductRelationTypeId>accessories</ProductRelationTypeId>
     <IsSystemDefined>false</IsSystemDefined>
     <Description languageId="de">Zubehör</Description>
     <Description languageId="en">accessories</Description>
     <SourceTargetName languageId="de">besitzt das Zubehör</SourceTargetName>
     <TargetSourceName languageId="de">ist Zubehör für</TargetSourceName>
     <SourceTargetName languageId="en">is accessories for</SourceTargetName>
     <TargetSourceName languageId="en">is accessories of</TargetSourceName>
   </ProductRelationType>
 </Command>

PUBLICATIONS

<?xml version="1.0" encoding="UTF-8"?>
<CML>
 <!-- Sample for CML-bases Import of a publication -->
 <!-- Store this file in: workarea\publication\import\ -->

 <Context>
  <Header></Header>
 </Context>

 <!-- Publication -->
 <Command mode="insert">
   <Publication id="Publication1">
         <Language id="de"></Language>
         <Description languageId="de">Meine Publikation</Description>
   </Publication>
 </Command>

 <!-- Chapter -->
 <Command mode="insert-update">
   <Chapter id="Chapter1">
      <Publication id="Publication1"></Publication>
      <!--
       <Parent id="ChapterXY">
          <Publication id="Publication1"></Publication>
       </Parent>
       -->

      <Title languageId="de">Title_de</Title>
      <Title languageId="en">Title_en</Title>
      <SeqNo>1</SeqNo>
   </Chapter>
 </Command>

 <!-- Section -->
 <Command mode="insert-update">
   <Section id="Section1">
      <Publication id="Publication1" ></Publication>
      <Chapter id="Chapter1">
         <Publication id="Publication1" ></Publication>
      </Chapter>
      <Description>Description</Description>
      <SeqNoInChapter>1</SeqNoInChapter>
   </Section>
 </Command>

 <!-- PublicationElement for Product -->
 <Command mode="insert-update">
   <FormattedProduct>
     <Section id="Section1">
       <Publication id="Publication1" ></Publication>
     </Section>
     <Product id="Samsung ML-2510">
       <Catalog id="Printer"></Catalog>
     </Product>
     <SeqNo>1</SeqNo>
     <Commentary></Commentary>
   </FormattedProduct>
 </Command>

 <!-- PublicationElement for Classification Group -->
 <Command mode="insert-update">
   <FormattedClassificationGroup>
      <Section id="Section1">
         <Publication id="Publication1" ></Publication>
      </Section>
      <ClassificationGroup id="Monitors">
         <Classification id="jcatDemo"></Classification>
      </ClassificationGroup>
     <SeqNo>1</SeqNo>
     <Commentary></Commentary>
   </FormattedClassificationGroup>
 </Command>

 <!-- PublicationElement for Boilerplate -->
 <Command mode="insert-update">
   <FormattedBoilerplate>
     <Boilerplate id="Vorwort"></Boilerplate>
     <Section id="Section1">
       <Publication id="Publication1"></Publication>
     </Section>
     <Commentary>comment to this element</Commentary>
   </FormattedBoilerplate>
 </Command>

 <!-- PublicationElement for Document -->
 <Command mode="insert-update">
   <FormattedDocument>
     <DocumentURL>jCatalog.jpg</DocumentURL>
     <Section id="Section1">
       <Publication id="Publication1"></Publication>
     </Section>
     <Commentary>comment to this element</Commentary>
   </FormattedDocument>
 </Command>  

 <!-- linked list of the sections -->
 <!--
  <Command mode="update">
     <Section id="Section2">
        <Publication id="Publication1"></Publication>
        <NextSection id="Section3">
           <Publication id="Publication1"></Publication>
        </NextSection>
        <PreviousSection id="Section1">
          <Publication id="Publication1"></Publication>
        </PreviousSection>
      </Section>
  </Command>
  -->

</CML>

CatalogUser

<Command mode="insert-update">
  <CatalogUser id="admin">
    <FirstName>Sellside Admin</FirstName>
    <MayChangeCustomer>true</MayChangeCustomer>
    <MayChangeSupplier>true</MayChangeSupplier>
    <PasswordHash>21232f297a57a5a743894a0e4a801fc3</PasswordHash>
    <PasswordChangedOn>2010-12-21 00:00:00.0</PasswordChangedOn>
    <PasswordReminder>admin</PasswordReminder>
    <Surname></Surname>
    <Roles>
      <UserRole id="SellsideAdmin"></UserRole>
    </Roles>
    <Suppliers>
      <Supplier id="cor001"></Supplier>
    </Suppliers>
    <Customers>
      <Customer id="jcat001"></Customer>
    </Customers>
 </CatalogUser>
</Command>

Role

<Command mode="insert-update">
  <UserRole id="SellsideAdmin">
    <Description>Sellside Administrator</Description>
  </UserRole>
</Command>

Responsibility

<Command mode="insert-update">
  <Responsibility>
    <RoleName>SysAdmin</RoleName>
    <ResponsibilityLevel id="15">
      <ResponsibilityType id="Product"></ResponsibilityType>
    </ResponsibilityLevel>
    <ResponsibilityType id="Product"></ResponsibilityType>
  </Responsibility>
</Command>

Permission

<CML>
  <Context></Context>
  <!-- Type: APP -->
  <Command mode="insert-update">
    <Permission>
      <Actions>1</Actions>
      <AuthorityName>ROLE_SellsideAdmin</AuthorityName>
      <SecuredResource>
        <Actions>1</Actions>
        <ResourceId>/product/portal.faces</ResourceId>
        <ResourceRealm>PIM</ResourceRealm>
        <ResourceType>APP</ResourceType>
      </SecuredResource>
    </Permission>
  </Command>

  <!-- Type: DOMAINCLS -->
  <Command mode="insert-update">
    <Permission>
      <!-- Create: 2
           Edit:   4
           Delete: 8
           View:   16  
          
           Add the numbers to get more than one action, example:  
           30 = 2+4+8+16, meaning Create,Edit,Delete and View are allowed -->
      <Actions>30</Actions>
      <AuthorityName>ROLE_SellsideAdmin</AuthorityName>
      <SecuredResource>
        <ResourceId>ATTRIBUTE</ResourceId>
        <ResourceRealm>COMMON</ResourceRealm>
        <ResourceType>DOMAINCLS</ResourceType>
      </SecuredResource>
    </Permission>
  </Command>
</CML>

Tags: