Du befindest Dich hier: Feedengine -> Exporte -> In Deinem eigenen Export -> Erweiterte Exporteinstellungen -> Exportformat konfigurieren
Mittels Velocity Template kannst Du Deine Exportformate individuell anpassen. Du bist nicht auf die Standardstruktur angewiesen, sondern kannst alles selbst bestimmen.
Hier findest Du verschiedene Vorlagen für spezielle Exportformate. Alle Vorlagen enthalten grundlegende Informationen über Struktur und Kopfzeile im verwendeten Format.
Um Velocity Template im Export zu verwenden, muss diese Option explizit aktiviert werden.
Diese Option ist standardmäßig nicht aktiviert! Bei Fragen wende Dich bitte an Deinen Account-Manager.
Um wieder zu CSV, XML oder YML zurückzukehren, musst Du eines dieser Formate auswählen. Der Code der bereits geschrieben wurde bleibt erhalten, wird jedoch nicht weiter genutzt.
Zusätzliche Informationen sind als Kommentar direkt in den Beispieldateien vorhanden. Diese können problemlos gelöscht werden. Die Beispiele sind nach bestem Wissen und Gewissen erstellt und arbeiten stabil, basierend auf laufenden Exporten von bestehenden Kunden.
Weitere Informationen über Velocity Template findest Du auf der offizielle Seite:
https://velocity.apache.org/engine/2.2/
Unterstützte Datenformate
Wir unterstützen zur Zeit die folgenden Formate:
CSV
Standard-Struktur: 1 Header-Line, 1 Value-Line für jedes Produkt
individuelle Struktur kann mit Velocity erstellt werden
XML
Standard-Struktur:
<catalog><shop><offers><offer>...</offer>(1 Eintrag für jedes Produkt)</offers></shop></catalog>Individuelle Struktur kann mit Velocity erstellt werden
JSON
nur über Velocity verfügbar
Die Struktur würde wie folgt aussehen:
[ { "tags": "values", "arrays": { "subtag": "subvalue" }, "arrays2": [ "subvalue", "subvalue" ] } ]
Wir unterstützen keine .XSLX (Excel) Dateien
Du musst den korrekten "Content Type" einstellen. Das Format dazu muss von Hand geschrieben werden.
xml - <?xml version="1.0" encoding="UTF-8" standalone="no"?>
csv - keine Vorgaben
JSON - keine Vorgaben
Potentieller Header (Für alle Artikel identisch)
#foreach( $article in $articleList )#end
Content (Einzelne Artikel)
#end
Diese Zeile muss in jedem Velocity Template vorhanden sein. Achte auf die korrekte Schreibweise und die korrekte Positionierung innerhalb des Codes.
Sobald Velocity Template aktiviert wurde, wird nur noch das beachtet, was im Codeblock steht. Ein normaler Export wird nicht mehr generiert.
Allgemeine Vorlagen für den CSV-Export
Wenn ein spezielles Format für den CSV-Export benötigt wird, kann dies in Velocity Template festgelegt werden. Die Standardstruktur entspricht der einer normalen CSV-Datei:
Kopfzeile + 1 Zeile pro Produkt
id;category;title;description;brand;picture;colour;material
#foreach( $article in $articleList ) $article.id;$article.category;$article.title;$article.description;$article.brand;$article.picture;$article.colour;$article.material
#end
Dessen Export sieht wie folgt aus:
id | category | title | description | brand | picture | colour | material |
product_id1 |
|
|
|
|
|
|
|
product_id2 |
|
|
|
|
|
|
|
Wenn Du zum Beispiel eine CSV-Datei benötigst, in der jedes Produkt mehrere Zeilen erhält, sollte diese so aussehen:
id;category;title;country;sellable
#foreach( $article in $articleList ) "$article.id";"$article.category";"$article.title";"$article.country1";"$article.sellable" "$article.id";"$article.category";"$article.title";"$article.country2";"$article.sellable" "$article.id";"$article.category";"$article.title";"$article.country3";"$article.sellable"
#end
In diesem Fall würde jedes Produkt so viele Zeilen erzeugen, wie z. B. als Land definiert sind, wie im unten gezeigten Beispiel:
id | category | title | country | sellable |
product_id1 |
|
| country1 |
|
product_id1 |
|
| country2 |
|
product_id1 |
|
| country3 |
|
product_id2 |
|
| country1 |
|
product_id2 |
|
| country2 |
|
product_id2 |
|
| country3 |
|
Es kann so viele Schleifen oder Unterstrukturen geben wie nötig. Wenn Du zum Beispiel die manuelle Arbeit zum Ändern des Trennzeichens oder der Textbegrenzung minimieren möchtest, kannst Du Variablen verwenden, um diese zu symbolisieren.
#set ($S = ";")
#set ($D = '"')
${S}id${S}category${S}title${S}country${S}sellable
#foreach( $article in $articleList ) ${D}$article.id${D}${S}${D}$article.category${D}${S}${D}$article.title${D}${S}${D}$article.country${D}${S}${D}$article.sellable${D}
#end
Allgemeine Vorlagen für den XML-Export
Die Kernstruktur jeder XML-Datei muss die gleiche sein und sollte enthalten:
XML-Versions-Kopfzeile
Wurzel-Element (um die Rahmenstruktur für den Export zu definieren)
Artikel-Element (um einen einzelnen Artikel zu definieren)
Artikelinformationen je nach Anwendungsfall (normalerweise wird mindestens eine ID ausgegeben)
Beispiel:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
#foreach( $article in $articleList )
<product>
<id>$article.sku</id>
<!-- additional Information provided in simple or nested tags -->
</product>
#end
</root>
Für Element-Namen (root, product, id...) gelten folgende einfache Regeln:
nur Buchstaben und Zahlen
mit einem Buchstaben beginnen
Erlaubte Sonderzeichen sind: - _
wenn "Namespaces" verwendet werden (siehe unten), kannst Du ":" im Element-Namen verwenden
Andere Zeichen als diese führen zu einem Fehler und brechen den Export ab.
Für einige Kanäle (wie Google) ist es notwendig, sogenannte "Namespaces" zu verwenden. Diese müssen wie <namespace:tag> geschrieben werden und müssen der Überschrift xmlns:namespace="link" hinzugefügt werden.
Beispiel:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns:g="http://base.google.com/ns/1.0" version="2.0" xmlns:pm="https://profitmetrics.io" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xml="http://www.w3.org/XML/1998/namespace">
#foreach( $article in $articleList )
<article>
<g:id>$article.id</g:id>
<link><![CDATA[$article.link]]></link>
<title><![CDATA[$article.title]]></title>
<g:image_link><![CDATA[$article.image_link]]></g:image_link>
<g:price>$article.price</g:price>
</article>
#end
</catalog>
Allgemeine Vorlagen für den JSON-Export
Die Kernstruktur jeder JSON-Datei muss die gleiche sein und sollte enthalten:
Wurzelelement welches durch
[ ]angezeigt wird (um die Rahmenstruktur für den Export zu definieren)Produkt-Element innerhalb von
{ }(um ein einzelnes Produkt zu definieren)Produktinformationen je nach Anwendungsfall in einzelnen Elementen oder Arrays (normalerweise wird mindestens eine ID ausgegeben)
Nach dem schließenden
#endder Produktschleife ist es notwendig ein „leeres“ Produkt zu simulieren durch ein weiteres{}(siehe unten)
Beispiel:
[
#foreach( $article in $articleList )
{
"id": "$article.sku",
"…": "$article. ",
<!—additional Information provided in simple elements or nested arrays -->
},
#end
{}
]
Für Element-Namen gelten keine gesonderten Regeln.
Es muss jedoch beachtet werden das Element-Werte einen der folgenden Typen haben kann:
Zahlen (number) ->
„ELEMENT“: ELEMENT-WERT, (keine „ “ um den ELEMENT-WERT)Text (string) ->
„ELEMENT“: „ELEMENT-WERT“, (der ELEMENT-WERT muss mit „ “ umschlossen sein)Verschachtelte Elemente ->
„ELEMENT“: { "SUBELEMENT1": „SUBELEMENT-WERT“, "SUBELEMENT2": SUBELEMENT-WERT }Arrays ->
„ELEMENT“: [ ARRAYWERT1, ARRAYWERT2, „ARRAYWERT3“ ](es gibt in diesem Fall kein SUBELEMENT sondern nur ELEMENTE-WERTE)
Sonderfälle (XML, CSV und JSON)
Erstellen von Schleifen-Datenlisten, die als einzelne Datenfelder exportiert werden sollen
Der Export kann einige Datenfelder mit mehr als einer Information enthalten, die durch ein Trennzeichen getrennt sind. Um auf diese Informationen zuzugreifen und sie in einzelne Datenfelder zu exportieren, könnte eine zweite Schleife hilfreich sein, insbesondere wenn nicht bekannt ist, wie viele Informationen Du erfassen musst.
Im folgenden Beispiel sind diese Informationen durch einen ":" getrennt und die Schleife läuft so lange, wie die Abfrage Einträge hat.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
#foreach( $article in $articleList )
<product>
<id>$article.sku</id>
<!-- additional Information provided in simple or nested tags -->
#set ($informationlist = $article.information.split(':'))
#set ($loopEnd = $informationlist.size() - 1)
#foreach($i in [0..$loopEnd])
<info>$informationlist.get($i)</info>
#end
</product>
#end
</root>
Prüfen, ob ein Eintrag allgemein vorhanden oder leer ist
Es ist nicht immer klar, ob ein Datenfeld Informationen enthält oder nicht. In manchen Fällen muss der Export diese Datenfelder nur ausfüllen, wenn Informationen vorhanden sind.
Es gibt zwei Möglichkeiten, solche Informationen zu überprüfen:
existiert das Datenfeld →
#if($article.datafield)ist das Datenfeld vorhanden, aber leer →
#if($article.datafield != "")
In beiden Fällen werden die Informationen nur dann exportiert, wenn sie vorhanden sind.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
#foreach( $article in $articleList )
<product>
<id>$article.sku</id>
<!-- additional Information provided in simple or nested tags -->
#if($article.datafield1)
<info1>$article.datafield1</info1>
#end
#if($article.datafield2 != "")
<info2>$article.datafield2</info2>
#end
</product>
#end
</root>
Export mit unbekannten Sonderzeichen
Einige Datenfelder können Sonderzeichen enthalten, die mit der Velocity-Vorlagen nicht korrekt funktionieren. Um einen Fehler beim Export zu vermeiden, kannst Du <![CDATA[…]]> verwenden, das diese Sonderzeichen abdeckt und sie in lesbarer Form bereitstellt.
Wenn Datenfelder leer sein können, ist es empfehlenswert, diese mit einer einfachen #if(...)-Abfrage abzudecken. Andernfalls wird der Export nur den CDATA-Block ohne Informationen enthalten.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
#foreach( $article in $articleList )
<product>
<id>$article.sku</id>
<!-- additional Information provided in simple or nested tags -->
#if($article.datafield1)
<info1><![CDATA[$article.datafield1]]></info1>
#end
#if($article.datafield2 != "")
<info2><![CDATA[$article.datafield2]]></info2>
#end
</product>
#end
</root>
Separate Informationen in einem Header-Block
Wenn ein separater Informationsblock im Kopfbereich benötigt wird (z. B. als Marken- oder Kategoriebaum), kannst Du diese Vorlage verwenden. Dieses Beispiel stammt aus einem Bazaarvoice-Export-Feed.
<?xml version="1.0" encoding="utf-8"?>
<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/ProductFeed/14.7" name="CUSTOMERNAME-de" incremental="false" extractDate="$VelocityUtils.getDate('yyyy-MM-dd HH:mm:ss').replace(' ', 'T')">
<!-- Brands List -->
<Brands>
#set ( $Brands= {} )
#foreach( $article in $articleList )
#if( $article.BrandName != "" &&
$Brands.containsKey($article.BrandName) == false )
#set ( $brandHash = $article.BrandName.hashCode() )
#if( $brandHash <= 0 )
#set ( $brandHash = $brandHash * -1 )
#end
#set ( $dummy = $Brands.put($article.BrandName, $brandHash) )
<Brand>
<ExternalId>$brandHash</ExternalId>
<Name><![CDATA[$article.BrandName]]></Name>
</Brand>
#end
#end
</Brands>
<!-- Brands List End -->
<!-- Categories List -->
<Categories>
#set ( $Categories = [] )
#foreach( $article in $articleList )
#if( $article.CategoryId != "" &&
$Categories.contains($article.CategoryId) == false )
#set ( $dummy = $Categories.add($article.CategoryId) )
<Category>
<ExternalId><![CDATA[$article.CategoryId]]></ExternalId>
<Name><![CDATA[$article.FirstCategory]]></Name>
</Category>
#end
#if( $article.SecondCategoryID != "" &&
$Categories.contains($article.SecondCategoryID) == false )
#set ( $dummy = $Categories.add($article.SecondCategoryID) )
<Category>
<ExternalId>$article.SecondCategoryID</ExternalId>
#if( $article.FirstCategoryID != "" )
<ParentExternalId>$article.FirstCategoryID</ParentExternalId>
#end
<Name><![CDATA[$article.SecondCategory]]></Name>
</Category>
#end
#if( $article.SubCategoryID != "" &&
$article.SubCategoryID != "1308217050" &&
$Categories.contains($article.SubCategoryID) == false)
#set ( $dummy = $Categories.add($article.CategoryIdWebFamille) )
<Category>
<ExternalId>$article.SubCategoryID</ExternalId>
#if( $article.SecondCategoryID != "" )
<ParentExternalId>$article.SecondCategoryID</ParentExternalId>
#end
<Name><![CDATA[$article.SubCategory]]></Name>
</Category>
#end
#end
</Categories>
<!-- Categories List End -->
<!-- Products List -->
<Products>
#foreach( $article in $articleList )
<Product>...</Product>
#end
</Products>
<!-- Products List End -->
</Feed>
Exportiere Produktinformationen eines anderen Produktes als die des exportierten Produkts (Cross-Mapping)
In manchen Fällen kann es notwendig sein, im Export Produktinformationen von einem anderen Produkt als dem ausgewählten zu erhalten. Normalerweise liefert der Export die Informationen aus dem gewählten Produkt.
Um andere Informationen zu erhalten (z.B. "übergeordnetes Produkt, aber untergeordnete Informationen"), musst Du einen temporären Artikel-Cache erstellen, der verwendet werden kann, um die Informationen aus dem Cache anstelle des Standard-Exports zu erhalten.
Das folgende ist nur ein Beispiel und muss für jeden Einzelfall angepasst werden.
Dieses Beispiel exportiert eine CSV-Datei mit einem Header und abhängig von den angegebenen IDs eine Artikelliste aus dem Cache. Die Struktur der Daten muss im Cache (hier "datamap") definiert werden und nicht wie üblich in der Exportschleife.
#set ( $datamap= {} )
#foreach( $article in $articleList )
#if( $datamap.containsKey($article.product_id) == false )
#set ( $dummy = $datamap.put($article.product_id, $article.product_id+":"+$article.title+":"+$article.deeplink+":"+$article.currency+":"+$article.price+":"+$article.price_old+":"+$article.base_price) )
#end
#end
#if($datamap)
"product_id":"title":"deeplink":"currency":"price":"price_old":"base_price"
#end
#foreach( $article in $articleList )
#set ($varID = $article.varID.split(':'))
#set ($loopEnd = $varID.size() - 1)
#foreach($i in [0..$loopEnd])
$datamap[$varID.get($i)]
#end
#end
Vorlagen für bestimmte Kanäle (XML und JSON)
Alle Beispielvorlagen sind als Codeblock angehängt. Zur besseren Lesbarkeit kopiere den Code bitte in ein externes Programm oder direkt in Ihren Export in Channel Pilot Pro.
Google / CJ Google (XML)
Diese Vorlage zeigt die Struktur für Google mit RSS 2.0. Die Standardvorlage wurde zum besseren Verständnis mit einigen Kommentaren versehen und die vollständige Vorlage enthält alle möglichen Datenfelder (werden ausgeschlossen, wenn nicht vorhanden).
Der Export für CJ Google ist standardmäßig ein CSV-Export, kann aber auch als XML bereitgestellt werden. Es muss klar sein, dass die Versand- und Steuerinformationen im Export in diesem Format vorliegen müssen:
Versand → COUNTRYCODE-ISO2::Standard:PRICE CURRENCY (Beispiel für Spanien ES::Standard:0 EUR)
Es können mehrere Versandarten definiert werden, aber jeder Eintrag muss in einem separaten <shipping>…</shipping>-Block stehen.
Steuer → COUNTRYCODE-ISO2:TAXVALUE (Beispiel für Spanien ES:21)
Ausführliche Informationen zu beiden Vorlagen findest Du hier:
File formats for product data - Google Merchant Center Help
Code Beispiel - Google Standard
Code Beispiel - Google Standard
<?xml version="1.0" encoding="UTF-16"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
<!-- The information above are the minimum required header for google if we use RSS 2.0 -->
<!-- This is the shop-header which Google uses to identify the shop which is sending these products.
You can add here fix values or you can use some datafields from the export.
It is recommended to use the query #if($articleList.size() > 0) so the header is only created if the datafeed is filled with products.
-->
#if($articleList.size() > 0)
<title></title>
<link></link>
<desc></desc>
#end
<!-- // -->
#foreach( $article in $articleList )
<item>
<!-- These informations are from the Google XML guide.
The informations are required from id till shipping, all information below are only recommended or optional.
All lines contain "$article." which has to be added by the datafieldname from the export (Imagedatafield = picture -> $article.picture). If you use fix values, delete the $article.
All datafields which could include special characters are written in CDATA to make shure that these characters are processes correctly.
The CDATA is included in a #if-else-end too. This will provide an empty datafield if the data is not available, otherwise the export will send <![CDATA[]]> instead.
-->
<g:id>$article.id</g:id>
<g:title>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:title>
<g:description>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:description>
<g:link>#if($article.link == "") #{else} <![CDATA[$article.]]> #{end}</g:link>
<g:image_link>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:image_link>
<g:condition>$article.</g:condition>
<g:availability>$article.</g:availability>
<g:price>$article.</g:price>
<g:brand>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:brand>
<g:gtin>$article.</g:gtin>
<!-- One of these - gtin or mpn - is recommended, if available export both -->
<g:mpn>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:mpn>
<g:google_product_category>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:google_product_category>
<g:product_type>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:product_type>
<!-- You can use as many shipping types as you need. For every shipping type you have to define the country (e.g. USA),
service (e.g. Standart, DHL) and price (e.g. 4.50) like below. The whole block <g:shipping>...</g:shipping> is necessary. -->
<g:shipping>
<g:country>$article.</g:country>
<g:service>$article.</g:service>
<g:price>$article.</g:price>
</g:shipping>
<!-- From this point the information are recommended or optional. This depends on the type of products or the category where they are listet.
If available it is recommended to deliver all information in the export to get the best result on Google.
-->
<!-- You can export to Google more then one picture. To do so you can use the <g:additional_image_link> tag. You have to add 1 line for every picture. -->
<g:additional_image_link>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:additional_image_link>
<!-- These datafields you can use to create a saleprice and a timespan from-till the sale price will be available -->
<g:sale_price>$article.</g:sale_price>
<g:sale_price_effective_date>$article.</g:sale_price_effective_date> <!-- You can use an datafield from the export or fix values like 2011-09-01T16:00-08:00/2011-09-03T16:00-08:00 -->
<!-- These datafields are necessary some categories like apparel, but they are recommended -->
<g:color>$article.</g:color>
<g:gender>$article.</g:gender>
<g:age_group>$article.</g:age_group>
<g:material>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:material>
<g:size>$article.</g:size>
<!-- This datafield is required if the product has variants -->
<g:item_group_id>$article.</g:item_group_id>
<!-- If there is a specific promotion, you have to use this datafield -->
<g:promotion_id>#if($article. == "") #{else}$article.#{end}</g:promotion_id>
<!-- There can be custom-labels on Google. For every label to have to export one datafield as <g:custom_label_N></g:custom_label_N> where N is a ongoing number. -->
<g:custom_label_0>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:custom_label_0>
<g:custom_label_1>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:custom_label_1>
<g:custom_label_2>#if($article. == "") #{else} <![CDATA[$article.]]> #{end}</g:custom_label_2>
</item>
#end
</channel>
</rss>
Code Beispiel - Google Full
Code Beispiel - Google Full
<?xml version="1.0" encoding="UTF-16"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
#if($articleList.size() > 0)
<title></title> #* Shop-Title *#
<link></link> #* Shop-URL *#
<desc></desc> #* Shop-Description *#
#end
#foreach( $article in $articleList )
<item>
<g:id>$article.id</g:id>
<g:title>#if($article.title == "") #{else} <![CDATA[$article.title]]> #{end}</g:title>
<g:description>#if($article.description == "") #{else} <![CDATA[$article.description]]> #{end}</g:description>
<g:link>#if($article.link == "https://www.galerieslafayette.com") #{else} <![CDATA[$article.link]]> #{end}</g:link>
<g:image_link>#if($article.image_link == "") #{else} <![CDATA[$article.image_link]]> #{end}</g:image_link>
#if($article.image_link == "") #{else} <g:additional_image_link><![CDATA[$article.image_link]]></g:additional_image_link> #{end}
#if($article.image_link == "") #{else} <g:mobile_link><![CDATA[$article.image_link]]></g:mobile_link> #{end}
<g:availability>#if($article.id == "") #{else}$article.availability#{end}</g:availability>
#if($!article.availability_date) <g:availability_date>$article.availability_date</g:availability_date> #{end}
#if($!article.expiration_date) <g:expiration_date>$article.expiration_date</g:expiration_date> #{end}
<g:price>#if($!article.price) #{else} $article.price #{end}</g:price>
<g:sale_price>#if($article.id == "") #{else}$article.sale_price#{end}</g:sale_price>
#if($article.id == "") #{else}<g:sale_price_effective_date>$article.sale_price_effective_date</g:sale_price_effective_date>#{end}
<g:google_product_category>#if($article.google_product_category == "") #{else} <![CDATA[$article.google_product_category]]> #{end}</g:google_product_category>
<g:product_type>#if($article.product_type == "") #{else} <![CDATA[$article.product_type]]> #{end}</g:product_type>
<g:brand>#if($article.brand == "") #{else} <![CDATA[$article.brand]]> #{end}</g:brand>
<g:gtin>$article.gtin</g:gtin>
<g:mpn>#if($article.mpn == "") #{else} <![CDATA[$article.mpn]]> #{end}</g:mpn>
<g:condition>#if($article.id == "") #{else}$article.condition#{end}</g:condition>
<g:age_group>$article.age_group</g:age_group>
<g:color>$article.color</g:color>
<g:gender>#if($article.id == "") #{else}$article.gender#{end}</g:gender>
<g:material>#if($article.material == "") #{else} <![CDATA[$article.material]]> #{end}</g:material>
<g:size>$article.size</g:size>
#if($!article.size_type) <g:size_type>$article.size_type</g:size_type> #{end}
#if($!article.size_system) <g:size_system>$article.size_system</g:size_system> #{end}
<g:item_group_id>$article.item_group_id</g:item_group_id>
<g:custom_label_0>#if($article.custom_label_0 == "") #{else} <![CDATA[$article.custom_label_0]]> #{end}</g:custom_label_0>
<g:custom_label_1>#if($article.custom_label_1 == "") #{else} <![CDATA[$article.custom_label_1]]> #{end}</g:custom_label_1>
<g:custom_label_2>#if($article.custom_label_2 == "") #{else} <![CDATA[$article.custom_label_2]]> #{end}</g:custom_label_2>
<g:custom_label_3>#if($article.id == "") #{elseif}($article.custom_label_3 == "") #{else} <![CDATA[$article.custom_label_3]]> #{end}</g:custom_label_3>
<g:custom_label_4>#if($article.custom_label_4 == "") #{else} <![CDATA[$article.custom_label_4]]> #{end}</g:custom_label_4>
<g:promotion_id>#if($article.id == "") #{else}$article.promotion_id#{end}</g:promotion_id>
<g:shipping>
<g:country>#if($article.id == "") #{else}FR#{end}</g:country> #* $article.shipping_country *#
<g:service>#if($article.id == "") #{else}Standard#{end}</g:service> #* $article.shipping_service *#
<g:price>#if($article.id == "") #{elseif}(($article.sale_price > 0) && ($article.sale_price < 75))0.00 EUR#{else}4.50 EUR#{end}</g:price> #* $article.shipping_price *#
</g:shipping>
#if($!article.shipping_label) <g:shipping_label>$article.shipping_label</g:shipping_label> #{end}
#if($!article.shipping_weight) <g:shipping_weight>$article.shipping_weight</g:shipping_weight> #{end}
#if($!article.shipping_length) <g:shipping_length>$article.shipping_length</g:shipping_length> #{end}
#if($!article.shipping_width) <g:shipping_width>$article.shipping_width</g:shipping_width> #{end}
#if($!article.shipping_height) <g:shipping_height>$article.shipping_height</g:shipping_height> #{end}
#if($!article.max_handling_time) <g:max_handling_time>$article.max_handling_time</g:max_handling_time> #{end}
#if($!article.min_handling_time) <g:min_handling_time>$article.min_handling_time</g:min_handling_time> #{end}
#if($!article.unit_pricing_measure) <g:unit_pricing_measure>$article.unit_pricing_measure</g:unit_pricing_measure> #{end}
#if($!article.unit_pricing_base_measure) <g:unit_pricing_base_measure>$article.unit_pricing_base_measure</g:unit_pricing_base_measure> #{end}
#if($!article.installment) <g:installment>$article.installment</g:installment> #{end}
#if($!article.loyalty_points) <g:loyalty_points>$article.loyalty_points</g:loyalty_points> #{end}
#if($!article.identifier_exists) <g:identifier_exists>$article.identifier_exists</g:identifier_exists> #{end}
#if($!article.adult) <g:adult>$article.adult</g:adult> #{end}
#if($!article.multipack) <g:multipack>$article.multipack</g:multipack> #{end}
#if($!article.is_bundle) <g:is_bundle>$article.is_bundle</g:is_bundle> #{end}
#if($!article.energy_efficiency_class) <g:energy_efficiency_class>$article.energy_efficiency_class</g:energy_efficiency_class> #{end}
#if($!article.pattern) <g:pattern>$article.pattern</g:pattern> #{end}
#if($!article.adwords_redirect) <g:adwords_redirect>$article.adwords_redirect</g:adwords_redirect> #{end}
#if($!article.excluded_destinations) <g:excluded_destinations>$article.excluded_destinations</g:excluded_destinations> #{end}
#if($!article.tax) <g:tax>$article.tax</g:tax> #{end}
#if($!article.display_ads_id) <g:display_ads_id>$article.display_ads_id</g:display_ads_id> #{end}
#if($!article.display_ads_similiar_id) <g:display_ads_similiar_id>$article.display_ads_similiar_id</g:display_ads_similiar_id> #{end}
if($!article.display_ads_title) <g:display_ads_title>#$article.display_ads_title</g:display_ads_title> #{end}
#if($!article.display_ads_link) <g:display_ads_link>$article.display_ads_link</g:display_ads_link> #{end}
#if($!article.display_ads_value) <g:display_ads_value>$article.display_ads_value</g:display_ads_value> #{end}
#if($!article.adwords_label) <g:adwords_label>$article.adwords_label</g:adwords_label> #{end}
#if($!article.adwords_group) <g:adwords_group>$article.adwords_group</g:adwords_group> #{end}
</item>
#end
</channel>
</rss>
Code Beispiel - CJ Google
Code Beispiel - CJ Google
<?xml version="1.0" encoding="UTF-8"?>
<feed>
#foreach( $article in $articleList )
<item>
<id>$article.id</id>
<title><![CDATA[$article.title]]></title>
<description><![CDATA[$article.description]]></description>
<google_product_category><![CDATA[$article.google_product_category]]></google_product_category>
<product_type>$article.product_type</product_type>
<link><![CDATA[$article.link]]></link>
<image_link><![CDATA[$article.image_link]]></image_link>
<additional_image_link><![CDATA[$article.additional_image_link]]></additional_image_link>
<condition>$article.condition</condition>
<availability>$article.availability</availability>
<availability_date></availability_date>
<expiration_date></expiration_date>
<price>$article.price</price>
<sale_price>$article.sale_price</sale_price>
<sale_price_effective_date></sale_price_effective_date>
<unit_pricing_measure></unit_pricing_measure>
<unit_pricing_base_measure></unit_pricing_base_measure>
<gtin></gtin>
<brand><![CDATA[$article.brand]]></brand>
<mpn>$article.mpn</mpn>
<identifier_exists></identifier_exists>
<adult>no</adult>
<multipack></multipack>
<item_group_id></item_group_id>
<gender></gender>
<age_group></age_group>
<color></color>
<material></material>
<pattern></pattern>
<size></size>
<size_type></size_type>
<size_system></size_system>
<shipping>
#if(($article.shipping != "ES:::")&&($article.shipping != ":::")&&($article.shipping != ""))#set( $shipping = $article.shipping.split("[:]") )#else#set( $shipping = "NULL" )#end
<country>#if($shipping != "NULL")$shipping[0]#end</country>
<region>#if($shipping != "NULL")$shipping[1]#end</region>
<service>#if($shipping != "NULL")$shipping[2]#end</service>
<price>#if($shipping != "NULL")$shipping[3]#end</price>
</shipping>
<shipping_weight></shipping_weight>
<max_handling_time></max_handling_time>
<tax>
#set( $tax = $article.tax.split("[:]") )
<country>#if($tax[0] != "")$tax[0]#end</country>
<rate>#if($tax[1] != "")$tax[1]#end</rate>
</tax>
<adwords_redirect><![CDATA[$article.adwords_redirect]]></adwords_redirect>
</item>
#end
</feed>
Bazaar Voice (XML)
Diese Vorlage zeigt die Struktur für Bazaarvoice in XML (Velocity). Bazaarvoice benötigt eine separate Marken- und Kategorieliste oberhalb des normalen Artikelbereiches, stelle also sicher, dass die benötigten Informationen vorliegen.
Code Beispiel
Code Beispiel
<?xml version="1.0" encoding="utf-8"?>
<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/ProductFeed/14.7" name="CUSTOMERNAME-de" incremental="false" extractDate="$VelocityUtils.getDate('yyyy-MM-dd HH:mm:ss').replace(' ', 'T')">
<!-- Brands -->
<Brands>
#set ( $Brands= {} )
#foreach( $article in $articleList )
#if( $article.BrandName != "" && $Brands.containsKey($article.BrandName) == false )
#set ( $brandHash = $article.BrandName.hashCode() )
#if( $brandHash <= 0 )
#set ( $brandHash = $brandHash * -1 )
#end
#set ( $dummy = $Brands.put($article.BrandName, $brandHash) )
<Brand>
<ExternalId>$brandHash</ExternalId>
<Name><![CDATA[$article.BrandName]]></Name>
</Brand>
#end
#end
</Brands>
<!-- Categories -->
<Categories>
#set ( $Categories = [] )
#foreach( $article in $articleList )
#if( $article.CategoryId != "" && $Categories.contains($article.CategoryId) == false )
#set ( $dummy = $Categories.add($article.CategoryId) )
<Category>
<ExternalId><![CDATA[$article.CategoryId]]></ExternalId>
<Name><![CDATA[$article.FirstCategory]]></Name>
</Category>
#end
#if( $article.SecondCategoryID != "" && $Categories.contains($article.SecondCategoryID) == false )
#set ( $dummy = $Categories.add($article.SecondCategoryID) )
<Category>
<ExternalId>$article.SecondCategoryID</ExternalId>
#if( $article.FirstCategoryID != "" )
<ParentExternalId>$article.FirstCategoryID</ParentExternalId>
#end
<Name><![CDATA[$article.SecondCategory]]></Name>
</Category>
#end
#if( $article.SubCategoryID != "" && $article.SubCategoryID != "1308217050" && $Categories.contains($article.SubCategoryID) == false)
#set ( $dummy = $Categories.add($article.CategoryIdWebFamille) )
<Category>
<ExternalId>$article.SubCategoryID</ExternalId>
#if( $article.SecondCategoryID != "" )
<ParentExternalId>$article.SecondCategoryID</ParentExternalId>
#end
<Name><![CDATA[$article.SubCategory]]></Name>
</Category>
#end
#end
</Categories>
<!-- Products -->
<Products>
#foreach( $article in $articleList )
<Product>
<ExternalId>$article.ExternalId</ExternalId>
<Names>
<Name locale="de_DE"><![CDATA[$article.Name]]></Name>
<Name locale="de_AT"><![CDATA[$article.Name]]></Name>
</Names>
<Descriptions>
<Description locale="de_DE"><![CDATA[$article.Description]]></Description>
<Description locale="de_AT"><![CDATA[$article.Description]]></Description>
</Descriptions>
#if( $article.BrandName != "" )
<BrandExternalId><![CDATA[$Brands.get($article.BrandName)]]></BrandExternalId>
#end
#if( $article.SubCategoryID != "" )
<CategoryExternalId>$article.SubCategoryID</CategoryExternalId>
#end
<ProductPageUrls>
<ProductPageUrl locale="de_DE"><![CDATA[$article.ProductPageUrl]]></ProductPageUrl>
<ProductPageUrl locale="de_AT"><![CDATA[$article.ProductPageUrlAT]]></ProductPageUrl>
</ProductPageUrls>
<ImageUrl><![CDATA[$article.ImageUrl]]></ImageUrl>
#if(($article.bvFeFamily != "" || $article.bvFeExpand != "") && $article.SubCategoryID !="1308217489" && $article.SecondCategoryID != "1308217018" && $article.FirstCategoryID != "1308217019")
<Attributes>
#if( $article.bvFeFamily != "" )
<Attribute id="BV_FE_FAMILY">
<Value>$article.bvFeFamily</Value>
</Attribute>
#end
#if( $article.bvFeExpand != "" )
<Attribute id="BV_FE_EXPAND">
<Value>$article.bvFeExpand</Value>
</Attribute>
#end
</Attributes>
#end
#if( $article.EAN != "" )
<EANs>
#set($EANlist = $article.EAN)
#foreach($EAN in $EANlist.split("[,]"))
<EAN>$EAN</EAN>
#end
</EANs>
#end
#if( $article.UPC != "" )
<UPCs>
<UPC>$article.UPC</UPC>
</UPCs>
#end
#if( $article.ManufacturerPartNumbers != "")
<ManufacturerPartNumbers>
<ManufacturerPartNumber>$article.ManufacturerPartNr</ManufacturerPartNumber>
</ManufacturerPartNumbers>
#end
</Product>
#end
</Products>
</Feed>
Tradedoubler (XML)
Diese Vorlage zeigt die Struktur für Tradedoubler in XML (Velocity).
Code Beispiel
Code Beispiel
<?xml version="1.0" encoding="UTF-8"?>
<productFeed version="2.0">
#foreach( $article in $articleList )
<product id="$article.parentProductId">
<name><![CDATA[$article.name]]></name>
<productURL><![CDATA[$article.productURL]]></productURL>
<imageURL><![CDATA[$article.imageURL]]></imageURL>
<price>$article.price</price>
<description><![CDATA[$article.description]]></description>
<fields>
#if($article.fields != "")<field name="fields" value="$article.fields"/>#end
#if($material != "")<field name="material" value="$article.field_material"/>#end
#if($article.field_color != "")<field name="color" value="$article.field_color"/>#end
#if($article.gender != "")<field name="gender" value="$article.gender"/>#end
#if($article.sale_discount_percent != "")<field name="sale_discount_percent" value="$article.sale_discount_percent"/>#end
#if($article.base_price != "")<field name="base_price" value="$article.base_price"/>#end
#if($article.unit_pricing_base_measure != "")<field name="unit_pricing_base_measure" value="$article.unit_pricing_base_measure"/>#end
#if($article.unit_pricing_measure != "")<field name="unit_pricing_measure" value="$article.unit_pricing_measure"/>#end
#if($article.sales_drivers != "")<field name="sales_drivers" value="$article.sales_drivers"/>#end
#if($article.total_reviews != "")<field name="total_reviews" value="$article.total_reviews"/>#end
#if($article.price_label != "")<field name="price_label" value="$article.price_label"/>#end
#if($article.average_score != "")<field name="average_score" value="$article.average_score"/>#end
</fields>
<categories>
<category name="$article.categories_name" tdCategoryId="$article.tdCategoryId"/>
</categories>
<sku><![CDATA[$article.sku]]></sku>
<previousPrice><![CDATA[$article.previousPrice]]></previousPrice>
<availability><![CDATA[$article.availability]]></availability>
<shippingCost><![CDATA[$article.shippingCost]]></shippingCost>
<deliveryTime><![CDATA[$article.deliveryTime]]></deliveryTime>
<condition><![CDATA[$article.condition]]></condition>
#if($article.size != "")<size><![CDATA[$article.size]]></size>#end
<brand><![CDATA[$article.brand]]></brand>
#if($article.ean != "")<ean><![CDATA[$article.ean]]></ean>#end
#if(($article.shortDescription) && ($article.shortDescription != ""))<shortDescription></shortDescription>#end
#if(($article.promoText) && ($article.promoText != ""))<promoText><![CDATA[$article.promoText]]></promoText>#end
#if(($article.warranty) && ($article.warranty != ""))<warranty><![CDATA[$article.warranty]]></warranty>#end
#if(($article.inStock) && ($article.inStock != ""))<inStock><![CDATA[$article.inStock]]></inStock>#end
#if(($article.weight) && ($article.weight != ""))<weight><![CDATA[$article.weight]]></weight>#end
#if(($article.model) && ($article.model != ""))<model><![CDATA[$article.model]]></model>#end
</product>
#end
</productFeed>
BMEcat (XML)
Diese Vorlage zeigt die Struktur für einen BMEcat als XML. Derzeit ist nur eine Vorlage ohne Informationen über Gefahrgutstoffe verfügbar.
Code Beispiel
Code Beispiel
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BMECAT xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog">
<HEADER>
<CATALOG>
<LANGUAGE>DEU</LANGUAGE>
<CATALOG_ID>CATALOGID</CATALOG_ID>
<CATALOG_VERSION>CATALOGVERSION</CATALOG_VERSION>
<DATETIME>
<DATE>2008-05-26</DATE>
<TIME>14:29:46</TIME>
</DATETIME>
<CURRENCY>EUR</CURRENCY>
</CATALOG>
<BUYER>
<BUYER_NAME>Unite</BUYER_NAME>
</BUYER>
<SUPPLIER>
<SUPPLIER_NAME>SUPPLIERNAME</SUPPLIER_NAME>
</SUPPLIER>
</HEADER>
<T_NEW_CATALOG>
<CATALOG_GROUP_SYSTEM>
<GROUP_SYSTEM_ID>1</GROUP_SYSTEM_ID>
<GROUP_SYSTEM_NAME>Generator 3.0 Group System</GROUP_SYSTEM_NAME>
<CATALOG_STRUCTURE type="root">
<GROUP_ID>3-1</GROUP_ID>
<GROUP_NAME>SAMPLEPARENTGROUP</GROUP_NAME>
<PARENT_ID>0</PARENT_ID>
</CATALOG_STRUCTURE>
<CATALOG_STRUCTURE type="node">
<GROUP_ID>3-01-00-00</GROUP_ID>
<GROUP_NAME>SAMPLECHILDGROUP</GROUP_NAME>
<PARENT_ID>3-1</PARENT_ID>
</CATALOG_STRUCTURE>
<!-- Add as many structure entries as needed, it should contain the whole structure tree, it can be variable too, if all information are in the export (see "Separate Informations in a header block") -->
</CATALOG_GROUP_SYSTEM>
#foreach( $article in $articleList )
<ARTICLE mode="new">
<SUPPLIER_AID>$article.sku</SUPPLIER_AID>
<ARTICLE_DETAILS>
<DESCRIPTION_SHORT>$article.DescriptionShort</DESCRIPTION_SHORT>
<DESCRIPTION_LONG>$article.DescriptionLong</DESCRIPTION_LONG>
<EAN>$article.EAN</EAN>
<MANUFACTURER_AID>$article.Manufacturernumber</MANUFACTURER_AID>
<MANUFACTURER_NAME>$article.ManufacturerName</MANUFACTURER_NAME>
<DELIVERY_TIME>2</DELIVERY_TIME>
#foreach($Keyword in $article.Keywords.split("[|]"))
<KEYWORD>$Keyword</KEYWORD>
#end
<ARTICLE_ORDER>1</ARTICLE_ORDER>
</ARTICLE_DETAILS>
#if($article.Features)
<ARTICLE_FEATURES>
#foreach($articlefeature in $article.Features.split("[|]"))
#set($features = $articlefeature.split("_"))
#set($featurename = $features[0])
#set($featurevaluelist = $features[1])
<FEATURE>
<FNAME>$featurename</FNAME>
#foreach($featurevalue in $featurevaluelist.split("[;]"))
<FVALUE>$featurevalue</FVALUE>
#end
</FEATURE>
#end
</ARTICLE_FEATURES>
#end
<ARTICLE_FEATURES>
<REFERENCE_FEATURE_SYSTEM_NAME>ECLASS-5.1.4</REFERENCE_FEATURE_SYSTEM_NAME>
<REFERENCE_FEATURE_GROUP_ID>$article.ECLASS</REFERENCE_FEATURE_GROUP_ID>
</ARTICLE_FEATURES>
<ARTICLE_ORDER_DETAILS>
<ORDER_UNIT>$article.UnitDescription</ORDER_UNIT>
<CONTENT_UNIT>C62</CONTENT_UNIT>
<NO_CU_PER_OU>$article.ContentPerUnit</NO_CU_PER_OU>
<QUANTITY_MIN>1</QUANTITY_MIN>
<QUANTITY_INTERVAL>1</QUANTITY_INTERVAL>
</ARTICLE_ORDER_DETAILS>
<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="net_customer">
<PRICE_AMOUNT>$article.price1</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<TAX>$article.tax</TAX>
<LOWER_BOUND>1</LOWER_BOUND>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="net_list">
<PRICE_AMOUNT>$article.price2</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<LOWER_BOUND>1</LOWER_BOUND>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>
<MIME_INFO>
#foreach($mediaentry in $media.split("[|]"))
<MIME>
#set( $mediadetail = $mediaentry.split("[::]"))
<MIME_TYPE>$mediadetail[0]</MIME_TYPE>
<MIME_SOURCE>$mediadetail[1]</MIME_SOURCE>
<MIME_DESCR>$mediadetail[2]</MIME_DESCR>
<MIME_PURPOSE>$mediadetail[3]</MIME_PURPOSE>
<MIME_ORDER>$mediadetail[4]</MIME_ORDER>
</MIME>
#end
</MIME_INFO>
<ARTICLE_REFERENCE type="similar">
#foreach($articleIdTo in $ArticleStructureId.split("[|]"))
<ART_ID_TO>$articleIdTo</ART_ID_TO>
#end
</ARTICLE_REFERENCE>
</ARTICLE>
#end
</T_NEW_CATALOG>
</BMECAT>
GDSN (XML)
Diese Vorlage zeigt die Struktur einer GDSN-Datei in XML (Velocity). Sie wird für Produkte mit oder ohne Informationen über Gefahrgutstoffe erstellt.
Code Beispiel
Code Beispiel
<?xml version="1.0" encoding="UTF-8"?>
<catalogue_item_notification:catalogueItemNotificationMessage xmlns:sh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:catalogue_item_notification="urn:gs1:gdsn:catalogue_item_notification:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:catalogue_item_notification:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/CatalogueItemNotification.xsd">
<sh:StandardBusinessDocumentHeader>
<sh:HeaderVersion>1.0</sh:HeaderVersion>
<sh:Sender>
<sh:Identifier Authority="GS1">4006209000007</sh:Identifier>
</sh:Sender>
<sh:Receiver>
<sh:Identifier Authority="GS1">4049111100007</sh:Identifier>
</sh:Receiver>
<sh:DocumentIdentification>
<sh:Standard>GS1</sh:Standard>
<sh:TypeVersion>3.1</sh:TypeVersion>
<sh:InstanceIdentifier>932ed18b-6cad-4e31-9af6-74982c64b24a</sh:InstanceIdentifier>
<sh:Type>catalogueItemNotification</sh:Type>
<sh:MultipleType>false</sh:MultipleType>
<sh:CreationDateAndTime>$VelocityUtils.getDate('yyyy-MM-dd HH:mm:ss').replace(' ', 'T').000Z</sh:CreationDateAndTime>
</sh:DocumentIdentification>
</sh:StandardBusinessDocumentHeader>
<transaction>
<transactionIdentification>
<entityIdentification>7f0f922e-5cc5-49de-8a49-1904615f769f</entityIdentification>
<contentOwner>
<gln>4006209000007</gln>
</contentOwner>
</transactionIdentification>
<documentCommand>
<documentCommandHeader type="CORRECT">
<documentCommandIdentification>
<entityIdentification>7f0f922e-5cc5-49de-8a49-1904615f769f</entityIdentification>
<contentOwner>
<gln>4006209000007</gln>
</contentOwner>
</documentCommandIdentification>
</documentCommandHeader>
#foreach( $article in $articleList )
<catalogue_item_notification:catalogueItemNotification>
<creationDateTime>$VelocityUtils.getDate('yyyy-MM-dd HH:mm:ss').replace(' ', 'T').000Z</creationDateTime>
<documentStatusCode>ORIGINAL</documentStatusCode>
<documentStructureVersion>3.1</documentStructureVersion>
<lastUpdateDateTime>$VelocityUtils.getDate('yyyy-MM-dd HH:mm:ss').replace(' ', 'T').000Z</lastUpdateDateTime>
<catalogueItemNotificationIdentification>
<entityIdentification>7f0f922e-5cc5-49de-8a49-1904615f769f</entityIdentification>
<contentOwner>
<gln>$article.GLN</gln>
</contentOwner>
</catalogueItemNotificationIdentification>
<isReload>false</isReload>
<catalogueItem>
<catalogueItemState>
<catalogueItemStateCode>REGISTERED</catalogueItemStateCode>
</catalogueItemState>
<tradeItem>
<gtin>$article.GTIN</gtin>
<additionalTradeItemIdentification additionalTradeItemIdentificationTypeCode="SUPPLIER_ASSIGNED">$article.supplierItemID</additionalTradeItemIdentification>
<isTradeItemABaseUnit>$article.istradeItemBaseUnit</isTradeItemABaseUnit>
<isTradeItemAConsumerUnit>$article.istradeItemConsumerUnit</isTradeItemAConsumerUnit>
<isTradeItemADespatchUnit>$article.istradeItemDespatchUnit</isTradeItemADespatchUnit>
<isTradeItemAnInvoiceUnit>$article.istradeItemInvoiceUnit</isTradeItemAnInvoiceUnit>
<isTradeItemAnOrderableUnit>$article.istradeItemOrderableUnit</isTradeItemAnOrderableUnit>
<tradeItemUnitDescriptorCode>$article.tradeItemUnitDescriptorCode</tradeItemUnitDescriptorCode>
<tradeItemTradeChannelCode>$article.tradeItemTradeChannelCode</tradeItemTradeChannelCode>
<informationProviderOfTradeItem>
<gln>$article.providerGLN</gln>
<partyName>$article.partyNameLong</partyName>
</informationProviderOfTradeItem>
<manufacturerOfTradeItem>
<gln>$article.manufacturerGLN</gln>
<partyName>$article.partyNameShort</partyName>
</manufacturerOfTradeItem>
<gdsnTradeItemClassification>
<gpcCategoryCode>$article.gpcCategoryCode</gpcCategoryCode>
<gpcCategoryDefinition><![CDATA[$article.gpcCategoryDefinition]]></gpcCategoryDefinition>
<gpcCategoryName><![CDATA[$article.gpcCategoryName]]></gpcCategoryName>
</gdsnTradeItemClassification>
<targetMarket>
<targetMarketCountryCode>$article.targetMarketCountryCode</targetMarketCountryCode>
</targetMarket>
<tradeItemContactInformation>
<contactTypeCode>CXC</contactTypeCode>
<targetMarketCommunicationChannel>
<communicationChannel>
<communicationChannelCode>TELEPHONE</communicationChannelCode>
<communicationValue>+49(0)7443 12-6000</communicationValue>
</communicationChannel>
</targetMarketCommunicationChannel>
<targetMarketCommunicationChannel>
<communicationChannel>
<communicationChannelCode>WEBSITE</communicationChannelCode>
<communicationValue>https://www.fischer.de/p/$article.supplierItemID</communicationValue>
</communicationChannel>
</targetMarketCommunicationChannel>
</tradeItemContactInformation>
<tradeItemContactInformation>
<contactTypeCode>BZL</contactTypeCode>
<contactAddress><![CDATA[$article.contactAddress]]></contactAddress>
<contactName><![CDATA[$article.contactName]]></contactName>
</tradeItemContactInformation>
<tradeItemInformation>
<extension>
<delivery_purchasing_information:deliveryPurchasingInformationModule xmlns:delivery_purchasing_information="urn:gs1:gdsn:delivery_purchasing_information:xsd:3" xsi:schemaLocation="urn:gs1:gdsn:delivery_purchasing_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/DeliveryPurchasingInformationModule.xsd">
<deliveryPurchasingInformation>
<startAvailabilityDateTime>$article.startAvailDateTime</startAvailabilityDateTime>
</deliveryPurchasingInformation>
</delivery_purchasing_information:deliveryPurchasingInformationModule>
<duty_fee_tax_information:dutyFeeTaxInformationModule xmlns:duty_fee_tax_information="urn:gs1:gdsn:duty_fee_tax_information:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:duty_fee_tax_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/DutyFeeTaxInformationModule.xsd">
<dutyFeeTaxInformation>
<dutyFeeTaxAgencyCode>246</dutyFeeTaxAgencyCode>
<dutyFeeTaxTypeCode>VAT</dutyFeeTaxTypeCode>
<dutyFeeTax>
<dutyFeeTaxCategoryCode>$article.dutyFeeTaxCategoryCode</dutyFeeTaxCategoryCode>
</dutyFeeTax>
</dutyFeeTaxInformation>
</duty_fee_tax_information:dutyFeeTaxInformationModule>
<marketing_information:marketingInformationModule xmlns:marketing_information="urn:gs1:gdsn:marketing_information:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:marketing_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/MarketingInformationModule.xsd">
<marketingInformation>
<tradeItemMarketingMessage languageCode="$article.language1"><![CDATA[$article.tradeItemMarketingMessage]]></tradeItemMarketingMessage>
</marketingInformation>
</marketing_information:marketingInformationModule>
<packaging_information:packagingInformationModule xmlns:packaging_information="urn:gs1:gdsn:packaging_information:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:packaging_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/PackagingInformationModule.xsd">
<packaging>
<packagingTypeCode>$article.packagingTypeCode</packagingTypeCode>
</packaging>
</packaging_information:packagingInformationModule>
<packaging_marking:packagingMarkingModule xmlns:packaging_marking="urn:gs1:gdsn:packaging_marking:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:packaging_marking:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/PackagingMarkingModule.xsd">
<packagingMarking>
<isPackagingMarkedReturnable>false</isPackagingMarkedReturnable>
<packagingMarkedLabelAccreditationCode>GREEN_DOT</packagingMarkedLabelAccreditationCode>
</packagingMarking>
</packaging_marking:packagingMarkingModule>
<place_of_item_activity:placeOfItemActivityModule xmlns:place_of_item_activity="urn:gs1:gdsn:place_of_item_activity:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:place_of_item_activity:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/PlaceOfItemActivityModule.xsd">
<importClassification>
<importClassificationCountrySubdivisionRegionOfOrigin>$article.importClassificationCountrySubdivisionRegionOfOrigin</importClassificationCountrySubdivisionRegionOfOrigin>
<importClassificationTypeCode>INTRASTAT</importClassificationTypeCode>
<importClassificationValue>$article.importClassificationValue</importClassificationValue>
</importClassification>
<placeOfProductActivity>
<countryOfOrigin>
<countryCode>$article.placeOfProductActivitycountryCode</countryCode>
</countryOfOrigin>
</placeOfProductActivity>
</place_of_item_activity:placeOfItemActivityModule>
<regulated_trade_item:regulatedTradeItemModule xmlns:regulated_trade_item="urn:gs1:gdsn:regulated_trade_item:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:regulated_trade_item:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/RegulatedTradeItemModule.xsd">
<regulatoryInformation>
<regulatoryAct>GHS</regulatoryAct>
<regulatoryAgency>UN</regulatoryAgency>
<permitIdentification>
<regulatoryPermitIdentification>$article.regulatoryPermitIdentification</regulatoryPermitIdentification>
</permitIdentification>
</regulatoryInformation>
<regulatoryInformation>
<regulationTypeCode>$article.regulationTypeCode</regulationTypeCode>
<isTradeItemRegulationCompliant>NOT_APPLICABLE</isTradeItemRegulationCompliant>
</regulatoryInformation>
</regulated_trade_item:regulatedTradeItemModule>
<!--<referenced_file_detail_information:referencedFileDetailInformationModule xmlns:referenced_file_detail_information="urn:gs1:gdsn:referenced_file_detail_information:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:referenced_file_detail_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/ReferencedFileDetailInformationModule.xsd">
#if(($article.mediafile1) && ($article.mediafile1 != ""))
#set( $media1 = $article.mediafile1.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media1[0]</referencedFileTypeCode>
<fileFormatName>$media1[1]</fileFormatName>
<fileName><![CDATA[$media1[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media1[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile2) && ($article.mediafile2 != ""))
#set( $media2 = $article.mediafile2.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media2[0]</referencedFileTypeCode>
<fileFormatName>$media2[1]</fileFormatName>
<fileName><![CDATA[$media2[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media2[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile3) && ($article.mediafile3 != ""))
#set( $media3 = $article.mediafile3.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media3[0]</referencedFileTypeCode>
<fileFormatName>$media3[1]</fileFormatName>
<fileName><![CDATA[$media3[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media3[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile4) && ($article.mediafile4 != ""))
#set( $media4 = $article.mediafile4.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media4[0]</referencedFileTypeCode>
<fileFormatName>$media4[1]</fileFormatName>
<fileName><![CDATA[$media4[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media4[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile5) && ($article.mediafile5 != ""))
#set( $media5 = $article.mediafile5.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media5[0]</referencedFileTypeCode>
<fileFormatName>$media5[1]</fileFormatName>
<fileName><![CDATA[$media5[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media5[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile6) && ($article.mediafile6 != ""))
#set( $media6 = $article.mediafile6.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media6[0]</referencedFileTypeCode>
<fileFormatName>$media6[1]</fileFormatName>
<fileName><![CDATA[$media6[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media6[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile7) && ($article.mediafile7 != ""))
#set( $media7 = $article.mediafile7.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media7[0]</referencedFileTypeCode>
<fileFormatName>$media7[1]</fileFormatName>
<fileName><![CDATA[$media7[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media7[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile8) && ($article.mediafile8 != ""))
#set( $media8 = $article.mediafile8.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media8[0]</referencedFileTypeCode>
<fileFormatName>$media8[1]</fileFormatName>
<fileName><![CDATA[$media8[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media8[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile9) && ($article.mediafile9 != ""))
#set( $media9 = $article.mediafile9.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media9[0]</referencedFileTypeCode>
<fileFormatName>$media9[1]</fileFormatName>
<fileName><![CDATA[$media9[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media9[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile10) && ($article.mediafile10 != ""))
#set( $media10 = $article.mediafile10.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media10[0]</referencedFileTypeCode>
<fileFormatName>$media10[1]</fileFormatName>
<fileName><![CDATA[$media10[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media10[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile11) && ($article.mediafile11 != ""))
#set( $media11 = $article.mediafile11.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media11[0]</referencedFileTypeCode>
<fileFormatName>$media11[1]</fileFormatName>
<fileName><![CDATA[$media11[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media11[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile12) && ($article.mediafile12 != ""))
#set( $media10 = $article.mediafile12.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media12[0]</referencedFileTypeCode>
<fileFormatName>$media12[1]</fileFormatName>
<fileName><![CDATA[$media12[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media12[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile13) && ($article.mediafile13 != ""))
#set( $media13 = $article.mediafile13.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media13[0]</referencedFileTypeCode>
<fileFormatName>$media13[1]</fileFormatName>
<fileName><![CDATA[$media13[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media13[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile14) && ($article.mediafile14 != ""))
#set( $media14 = $article.mediafile14.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media14[0]</referencedFileTypeCode>
<fileFormatName>$media14[1]</fileFormatName>
<fileName><![CDATA[$media14[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media14[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile15) && ($article.mediafile15 != ""))
#set( $media15 = $article.mediafile15.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media15[0]</referencedFileTypeCode>
<fileFormatName>$media15[1]</fileFormatName>
<fileName><![CDATA[$media15[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media15[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile16) && ($article.mediafile16 != ""))
#set( $media16 = $article.mediafile16.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media16[0]</referencedFileTypeCode>
<fileFormatName>$media16[1]</fileFormatName>
<fileName><![CDATA[$media16[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media16[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile17) && ($article.mediafile17 != ""))
#set( $media17 = $article.mediafile17.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media17[0]</referencedFileTypeCode>
<fileFormatName>$media17[1]</fileFormatName>
<fileName><![CDATA[$media17[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media17[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile18) && ($article.mediafile18 != ""))
#set( $media18 = $article.mediafile18.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media18[0]</referencedFileTypeCode>
<fileFormatName>$media18[1]</fileFormatName>
<fileName><![CDATA[$media18[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media18[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile19) && ($article.mediafile19 != ""))
#set( $media19 = $article.mediafile19.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media19[0]</referencedFileTypeCode>
<fileFormatName>$media19[1]</fileFormatName>
<fileName><![CDATA[$media19[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media19[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile20) && ($article.mediafile20 != ""))
#set( $media20 = $article.mediafile20.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media20[0]</referencedFileTypeCode>
<fileFormatName>$media20[1]</fileFormatName>
<fileName><![CDATA[$media20[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media20[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile21) && ($article.mediafile21 != ""))
#set( $media21 = $article.mediafile21.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media21[0]</referencedFileTypeCode>
<fileFormatName>$media21[1]</fileFormatName>
<fileName><![CDATA[$media21[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media21[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile22) && ($article.mediafile22 != ""))
#set( $media22 = $article.mediafile22.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media22[0]</referencedFileTypeCode>
<fileFormatName>$media22[1]</fileFormatName>
<fileName><![CDATA[$media22[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media22[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile23) && ($article.mediafile23 != ""))
#set( $media23 = $article.mediafile23.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media23[0]</referencedFileTypeCode>
<fileFormatName>$media23[1]</fileFormatName>
<fileName><![CDATA[$media23[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media23[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile24) && ($article.mediafile24 != ""))
#set( $media24 = $article.mediafile24.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media24[0]</referencedFileTypeCode>
<fileFormatName>$media24[1]</fileFormatName>
<fileName><![CDATA[$media24[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media24[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile25) && ($article.mediafile25 != ""))
#set( $media25 = $article.mediafile25.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media25[0]</referencedFileTypeCode>
<fileFormatName>$media25[1]</fileFormatName>
<fileName><![CDATA[$media25[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media25[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile26) && ($article.mediafile26 != ""))
#set( $media26 = $article.mediafile26.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media26[0]</referencedFileTypeCode>
<fileFormatName>$media26[1]</fileFormatName>
<fileName><![CDATA[$media26[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media26[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile27) && ($article.mediafile27 != ""))
#set( $media27 = $article.mediafile27.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media27[0]</referencedFileTypeCode>
<fileFormatName>$media27[1]</fileFormatName>
<fileName><![CDATA[$media27[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media27[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile28) && ($article.mediafile28 != ""))
#set( $media28 = $article.mediafile28.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media28[0]</referencedFileTypeCode>
<fileFormatName>$media28[1]</fileFormatName>
<fileName><![CDATA[$media28[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media28[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile29) && ($article.mediafile29 != ""))
#set( $media29 = $article.mediafile29.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media29[0]</referencedFileTypeCode>
<fileFormatName>$media29[1]</fileFormatName>
<fileName><![CDATA[$media29[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media29[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
#if(($article.mediafile30) && ($article.mediafile30 != ""))
#set( $media30 = $article.mediafile30.split("[|]"))
<referencedFileHeader>
<referencedFileTypeCode>$media30[0]</referencedFileTypeCode>
<fileFormatName>$media30[1]</fileFormatName>
<fileName><![CDATA[$media30[2]]]></fileName>
<uniformResourceIdentifier><![CDATA[$media30[3]]]></uniformResourceIdentifier>
<referencedFileDetail>
<fileAspectRatio></fileAspectRatio><fileColourSchemeCode></fileColourSchemeCode><fileCompressionType languageCode="$article.language1"></fileCompressionType><filePixelHeight></filePixelHeight><filePixelWidth></filePixelWidth><fileResolutionDescription languageCode="$article.language1"></fileResolutionDescription><fileSize measurementUnitCode=""></fileSize><fileUsageInformation><intendedPublicationCountryCode>276</intendedPublicationCountryCode></fileUsageInformation>
</referencedFileDetail>
</referencedFileHeader>
#end
</referenced_file_detail_information:referencedFileDetailInformationModule>-->
#if($article.regulatoryPermitIdentification == "TRUE")
<safety_data_sheet:safetyDataSheetModule xmlns:safety_data_sheet="urn:gs1:gdsn:safety_data_sheet:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:safety_data_sheet:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/SafetyDataSheetModule.xsd">
<safetyDataSheetInformation>
<gHSDetail>
<gHSSignalWordsCode>$article.gHSSignalWordsCode</gHSSignalWordsCode>
#set($SymbolDescriptionCodelist = $article.gHSSymbolDescriptionCode)
#foreach($SDC in $SymbolDescriptionCodelist.split("[,]"))
<gHSSymbolDescriptionCode>$SDC</gHSSymbolDescriptionCode>
#end
#set($hazardousStatementlist = $article.hazardousStatementCode)
#foreach($HSC in $hazardousStatementlist.split("[,]"))
<hazardStatement>
<hazardStatementsCode><![CDATA[$HSC]]></hazardStatementsCode>
</hazardStatement>
#end
#set($precautionaryStatementlist = $article.precautionaryStatementCode)
#foreach($PSC in $precautionaryStatementlist.split("[,]"))
<precautionaryStatement>
#set( $PSCDetail = $PSC.split("[|]"))
<precautionaryStatementsCode>$PSCDetail[0]</precautionaryStatementsCode>
#if($PSCDetail.contains("|"))
<precautionaryStatementsDescription languageCode="$article.language1">$PSCDetail[1]</precautionaryStatementsDescription>
#end
</precautionaryStatement>
#end
</gHSDetail>
<rEACHInformation>
<isSubstanceOfVeryHighConcern><![CDATA[$article.rEACHinfoSubstanceVeryHighConcern]]></isSubstanceOfVeryHighConcern>
<isTradeItemREACHRelevant><![CDATA[$article.isTradeItemrEACHrelevant]]></isTradeItemREACHRelevant>
</rEACHInformation>
</safetyDataSheetInformation>
</safety_data_sheet:safetyDataSheetModule>
#end
<sales_information:salesInformationModule xmlns:sales_information="urn:gs1:gdsn:sales_information:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:sales_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/SalesInformationModule.xsd">
<salesInformation>
<isBasePriceDeclarationRelevant>$article.isBasePriceDeclarationRelevant</isBasePriceDeclarationRelevant>
</salesInformation>
</sales_information:salesInformationModule>
<trade_item_data_carrier_and_identification:tradeItemDataCarrierAndIdentificationModule xmlns:trade_item_data_carrier_and_identification="urn:gs1:gdsn:trade_item_data_carrier_and_identification:xsd:3" xsi:schemaLocation="urn:gs1:gdsn:trade_item_data_carrier_and_identification:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/TradeItemDataCarrierAndIdentificationModule.xsd">
<dataCarrier>
<dataCarrierTypeCode>$article.dataCarrierTypeCode</dataCarrierTypeCode>
</dataCarrier>
</trade_item_data_carrier_and_identification:tradeItemDataCarrierAndIdentificationModule>
<trade_item_description:tradeItemDescriptionModule xmlns:trade_item_description="urn:gs1:gdsn:trade_item_description:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:trade_item_description:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/TradeItemDescriptionModule.xsd">
<tradeItemDescriptionInformation>
<additionalTradeItemDescription languageCode="$article.language1">#if($article.tradeItemDescriptionAdditional == "")-#else<![CDATA[$article.tradeItemDescriptionAdditional]]>#end</additionalTradeItemDescription>
<descriptionShort languageCode="$article.language1"><![CDATA[$article.tradeItemDescriptionShort]]></descriptionShort>
<functionalName languageCode="$article.language1"><![CDATA[$article.tradeItemfunctionalName]]></functionalName>
<tradeItemDescription languageCode="$article.language1"><![CDATA[$article.tradeItemDescription]]></tradeItemDescription>
<brandNameInformation>
<brandName><![CDATA[$article.brandName]]></brandName>
</brandNameInformation>
</tradeItemDescriptionInformation>
</trade_item_description:tradeItemDescriptionModule>
<trade_item_measurements:tradeItemMeasurementsModule xmlns:trade_item_measurements="urn:gs1:gdsn:trade_item_measurements:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:trade_item_measurements:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/TradeItemMeasurementsModule.xsd">
<tradeItemMeasurements>
<depth measurementUnitCode="$article.tradeItemDepthUOM">$article.tradeItemDepth</depth>
<height measurementUnitCode="$article.tradeItemHeightUOM">$article.tradeItemHeight</height>
<netContent measurementUnitCode="$article.tradeItemNetContentUOM">$article.tradeItemNetContent</netContent>
<width measurementUnitCode="$article.tradeItemWidthUOM">$article.tradeItemWidth</width>
<tradeItemWeight>
<grossWeight measurementUnitCode="$article.tradeItemGrossWeightUOM">$article.tradeItemGrossWeight</grossWeight>
</tradeItemWeight>
</tradeItemMeasurements>
</trade_item_measurements:tradeItemMeasurementsModule>
<transportation_hazardous_classification:transportationHazardousClassificationModule xmlns:transportation_hazardous_classification="urn:gs1:gdsn:transportation_hazardous_classification:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:transportation_hazardous_classification:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/TransportationHazardousClassificationModule.xsd">
<transportationClassification>
<regulatedTransportationMode>
<hazardousInformationHeader>
<dangerousGoodsRegulationAgency>ADR</dangerousGoodsRegulationAgency>
<dangerousGoodsRegulationCode>$article.dangerousGoodsRegulationCode</dangerousGoodsRegulationCode>
#if($article.regulatoryPermitIdentification == "true")
<aDRTunnelRestrictionCode><![CDATA[$article.dangerousGoodsaDRtunnelRestrictionCode]]></aDRTunnelRestrictionCode>
<dangerousGoodsLimitedQuantitiesCode><![CDATA[$article.dangerousGoodsLimitedQuantitiesCode]]></dangerousGoodsLimitedQuantitiesCode>
<hazardousInformationDetail>
<classOfDangerousGoods><![CDATA[$article.dangerousGoodsClass]]></classOfDangerousGoods>
<dangerousGoodsClassificationCode><![CDATA[$article.dangerousGoodsClassificationCode]]></dangerousGoodsClassificationCode>
<dangerousGoodsHazardousCode><![CDATA[$article.dangerousGoodsHazardousCode]]></dangerousGoodsHazardousCode>
<dangerousGoodsPackingGroup><![CDATA[$article.dangerousGoodsPackingGroup]]></dangerousGoodsPackingGroup>
<dangerousGoodsTechnicalName languageCode="$article.language1"><![CDATA[$article.dangerousGoodsTechnicalName]]></dangerousGoodsTechnicalName>
<unitedNationsDangerousGoodsNumber><![CDATA[$article.dangerousGoodsUNnumber]]></unitedNationsDangerousGoodsNumber>
<dangerousHazardousLabel>
<dangerousHazardousLabelNumber><![CDATA[$article.dangerousGoodsHazardousLabelNumber]]></dangerousHazardousLabelNumber>
<dangerousHazardousLabelSequenceNumber><![CDATA[$article.dangerousGoodsHazardousLabelSequenceNumber]]></dangerousHazardousLabelSequenceNumber>
</dangerousHazardousLabel>
</hazardousInformationDetail>
#end
</hazardousInformationHeader>
</regulatedTransportationMode>
</transportationClassification>
</transportation_hazardous_classification:transportationHazardousClassificationModule>
<variable_trade_item_information:variableTradeItemInformationModule xmlns:variable_trade_item_information="urn:gs1:gdsn:variable_trade_item_information:xsd:3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:gs1:gdsn:variable_trade_item_information:xsd:3 http://www.gs1globalregistry.net/3.1/schemas/gs1/gdsn/VariableTradeItemInformationModule.xsd">
<variableTradeItemInformation>
<isTradeItemAVariableUnit>false</isTradeItemAVariableUnit>
</variableTradeItemInformation>
</variable_trade_item_information:variableTradeItemInformationModule>
</extension>
</tradeItemInformation>
<tradeItemSynchronisationDates>
<lastChangeDateTime>$article.lastChangeDateTime</lastChangeDateTime>
<effectiveDateTime>2021-09-30T00:00:00+00:00</effectiveDateTime>
<publicationDateTime>2015-10-08T00:00:00+00:00</publicationDateTime>
</tradeItemSynchronisationDates>
</tradeItem>
</catalogueItem>
</catalogue_item_notification:catalogueItemNotification>
#end
</documentCommand>
</transaction>
</catalogue_item_notification:catalogueItemNotificationMessage>
DPB (XML)
Diese Vorlage zeigt die Struktur einer DPB-Datei in XML. Sie wird für Produkte mit oder ohne Informationen über Gefahrgutstoffe erstellt.
Code Beispiel
Code Beispiel
<?xml version="1.0" encoding="UTF-8"?>
<dpbCatalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dpbCatalog_1.03.xsd">
<dpbHead>
<generator>fischer Deutschland Vertriebs GmbH</generator>
<generationDate>$VelocityUtils.getDate('yyyy-MM-dd HH:mm:ss').replace(' ', 'T')</generationDate>
<generationContactInformation>
<contactCompany>fischer Deutschland Vertriebs GmbH</contactCompany>
<contactName></contactName>
<contactMail></contactMail>
<contactPhone>+49(0)7443 12-6000</contactPhone>
<contactStreet>Klaus-Fischer-Str. 1</contactStreet>
<contactZip>72178</contactZip>
<contactCity>Waldachtal</contactCity>
<contactCountry>Germany</contactCountry>
</generationContactInformation>
</dpbHead>
<dpbTradeItems>
#foreach( $article in $articleList )
<dpbTradeItem supplierItemId="$article.supplierItemID" gtin="$article.GTIN" transactionType="CHANGE_BY_REFRESH">
<manufacturerGLN>$article.manufacturerGLN</manufacturerGLN>
<manufacturerName><![CDATA[$article.manufacturerName]]></manufacturerName>
<referencedTradeItemGtin>$article.tradeItemGTIN</referencedTradeItemGtin>
<effectiveDate>$article.effectiveDate</effectiveDate>
<discontinuedDate>$article.discontinuedDate</discontinuedDate>
<descriptionShort lang="$article.language1"><![CDATA[$article.descriptionShort1]]></descriptionShort>
<descriptionShort_2 lang="$article.language2"><![CDATA[$article.descriptionShort2]]></descriptionShort_2>
<marketingMessage lang="$article.language1"><![CDATA[$article.marketingMessage1]]></marketingMessage>
<marketingMessage_2 lang="$article.language2"><![CDATA[$article.marketingMessage2]]></marketingMessage_2>
<isTradeItemABaseUnit>$article.isTradeItemBaseUnit</isTradeItemABaseUnit>
<isTradeItemAnOrderableUnit>$article.isTradeItemOrderableUnit</isTradeItemAnOrderableUnit>
<isTradeItemAnInvoiceUnit>$article.isTradeItemInvoiceUnit</isTradeItemAnInvoiceUnit>
<isTradeItemAConsumerUnit>$article.isTradeItemConsumerUnit</isTradeItemAConsumerUnit>
<isTradeItemADespatchUnit>$article.isTradeItemDespatchUnit</isTradeItemADespatchUnit>
<startAvailabilityDate>$article.startAvailabilityDate</startAvailabilityDate>
<endAvailabilityDate>$article.endAvailabilityDate</endAvailabilityDate>
<importClassificationValue>$article.importClassificationValue</importClassificationValue>
<importClassificationTypeCode>$article.importClassificationTypeCode</importClassificationTypeCode>
<statisticalReportingMeasurement uom="$article.statisticalReportingMeasurementUOM">$article.statisticalReportingMeasurement</statisticalReportingMeasurement>
<orderQuantityMinimum>$article.orderQuantityMinimum</orderQuantityMinimum>
<isTradeItemAVariableUnit>$article.isTradeItemAVariableUnit</isTradeItemAVariableUnit>
#set ($DOPTCList = $article.dateOnPackagingTypeCode)
#foreach( $DOPT in $DOPTCList )
<dateOnPackagingTypeCode>$DOPT</dateOnPackagingTypeCode>
#end
<countryCodeOfOrigin>$article.countryCodeOfOrigin</countryCodeOfOrigin>
<targetMarketCountryCode>$article.countryCodeTargetMarket</targetMarketCountryCode>
#set ($PTGList = $article.publishToGLN)
#foreach( $PTG in $PTGList )
<publishToGLN>$PTG</publishToGLN>
#end
<informationProviderGLN>$article.providerGLN</informationProviderGLN>
<informationProviderName>$article.providerName</informationProviderName>
#set ($TCCList = $article.tradeChannelCode)
#foreach( $TCC in $TCCList )
<tradeChannelCode>$TCC</tradeChannelCode>
#end
<energyEfficiencyClass>$article.energyEfficiencyClass</energyEfficiencyClass>
#set ($PMLACList = $article.packagingMarkedLabelAccreditationCode)
#foreach( $PMLAC in $PMLACList )
<packagingMarkedLabelAccreditationCode>$PMLAC</packagingMarkedLabelAccreditationCode>
#end
<descriptiveTradeItemSize lang="$article.language1">$article.descriptiveTradeItemSize</descriptiveTradeItemSize>
<regulatoryPermitIdentification>$article.regulatoryPermitIdentification</regulatoryPermitIdentification>
<dangerousGoodsRegulationCode>$article.dangerousGoodsRegulationCode</dangerousGoodsRegulationCode>
<unitDescriptorCode>$article.unitDescriptorCode</unitDescriptorCode>
<isTradeItemRegulationCompliant>$article.isTradeItemRegulationCompliant</isTradeItemRegulationCompliant>
<stackingFactorTradeItem>$article.stackingFactorTradeItem</stackingFactorTradeItem>
<packagingTypeCode>$article.packagingTypeCode</packagingTypeCode>
<nextLowerLevelTradeItems>
<quantityOfChildren>$article.quantityOfChildren</quantityOfChildren>
<totalQuantityOfNextLowerLevelTradeItem>$article.totalQtyNextLowerTradeItem_level1</totalQuantityOfNextLowerLevelTradeItem>
#set( $childTradeItemList = $article.childTradeItemGtin )
#foreach( $childTradeItem in $childTradeItemList )
<childTradeItem>
#set( $CTI = $childTradeItem.split("[|]") )
<gtin></gtin>
<quantityOfNextLowerLevelTradeItem></quantityOfNextLowerLevelTradeItem>
</childTradeItem>
#end
</nextLowerLevelTradeItems>
<measurementInformation>
<netContent uom="$article.netContentUOM">$article.netContent</netContent>
<depth uom="$article.depthUOM">$article.depth</depth>
<height uom="$article.heightUOM">$article.height</height>
<width uom="$article.widthUOM">$article.width</width>
<grossWeight uom="$article.grossWeightUOM">$article.grossWeight</grossWeight>
<netWeight uom="$article.netWeightUOM">$article.netWeight</netWeight>
#set($measurementInformationList = $article.additionalDimension)
#foreach($additionalDimension in $measurementInformationList.split("[,]"))
<additionalDimension>
<dimensionTypeCode></dimensionTypeCode>
<width uom=""></width>
<height uom=""></height>
<depth uom=""></depth>
</additionalDimension>
#end
</measurementInformation>
<packagingInformation>
<isPackagingMarkedReturnable>$article.packagingMarkedReturnable</isPackagingMarkedReturnable>
#set($packagingInformationList = $article.packagingMaterial)
#foreach($packagingMaterial in $packagingInformationList.split("[,]"))
<packagingMaterial>
<packagingMaterialTypeCode></packagingMaterialTypeCode>
<packagingMaterialCompositionQuantity uom=""></packagingMaterialCompositionQuantity>
</packagingMaterial>
#end
<platformInformation>
<platformTypeCode>$article.platformTypeCode</platformTypeCode>
<quantityOfTradeItemsPerPallet>$article.qtyTradeItemsPerPallet</quantityOfTradeItemsPerPallet>
<quantityOfLayersPerPallet>$article.qtyLayerPerPallet</quantityOfLayersPerPallet>
<quantityOfCompleteLayersContainedInATradeItem>$article.qtyMaxLayersInPallet</quantityOfCompleteLayersContainedInATradeItem>
<platformTermsAndConditionsCode>$article.platformTermsAndConditionsCode</platformTermsAndConditionsCode>
<stackingFactorTransport>$article.stackingFactorTransport</stackingFactorTransport>
</platformInformation>
<nonGTINLogisticsUnitInformation>
<grossWeight uom="$article.nonGTINgrossWeightUOM">$article.nonGTINgrossWeight</grossWeight>
<height uom="$article.nonGTINheightUOM">$article.nonGTINheight</height>
<depth uom="$article.nonGTINdepthUOM">$article.nonGTINdepth</depth>
<width uom="$article.nonGTINwidthUOM">$article.nonGTINwidth</width>
<logisticsUnitStackingFactor>$article.nonGTINlogisticsUnitStackingFactor</logisticsUnitStackingFactor>
</nonGTINLogisticsUnitInformation>
</packagingInformation>
<mediaInformation>
#if(($article.mediafile1) && ($article.mediafile1 != ""))
#set( $media1 = $article.mediafile1.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media1[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media1[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile2) && ($article.mediafile2 != ""))
#set( $media2 = $article.mediafile2.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media2[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media2[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile3) && ($article.mediafile3 != ""))
#set( $media3 = $article.mediafile3.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media3[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media3[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile4) && ($article.mediafile4 != ""))
#set( $media4 = $article.mediafile4.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media4[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media4[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile5) && ($article.mediafile5 != ""))
#set( $media5 = $article.mediafile5.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media5[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media5[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile6) && ($article.mediafile6 != ""))
#set( $media6 = $article.mediafile6.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media6[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media6[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile7) && ($article.mediafile7 != ""))
#set( $media7 = $article.mediafile7.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media7[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media7[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile8) && ($article.mediafile8 != ""))
#set( $media8 = $article.mediafile8.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media8[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media8[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile9) && ($article.mediafile9 != ""))
#set( $media9 = $article.mediafile9.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media9[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media9[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile10) && ($article.mediafile10 != ""))
#set( $media10 = $article.mediafile10.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media10[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media10[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile11) && ($article.mediafile11 != ""))
#set( $media11 = $article.mediafile11.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media11[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media11[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile12) && ($article.mediafile12 != ""))
#set( $media12 = $article.mediafile12.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media12[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media12[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile13) && ($article.mediafile13 != ""))
#set( $media13 = $article.mediafile13.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media13[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media13[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile14) && ($article.mediafile14 != ""))
#set( $media14 = $article.mediafile14.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media14[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media14[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile15) && ($article.mediafile15 != ""))
#set( $media15 = $article.mediafile15.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media15[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media15[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile16) && ($article.mediafile16 != ""))
#set( $media16 = $article.mediafile16.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media16[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media16[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile17) && ($article.mediafile17 != ""))
#set( $media = $article.mediafile17.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media17[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media17[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile18) && ($article.mediafile18 != ""))
#set( $media18 = $article.mediafile18.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media18[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media18[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile19) && ($article.mediafile19 != ""))
#set( $media19 = $article.mediafile19.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media19[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media19[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile20) && ($article.mediafile20 != ""))
#set( $media20 = $article.mediafile20.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media20[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media20[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile21) && ($article.mediafile21 != ""))
#set( $media21 = $article.mediafile21.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media21[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media21[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile22) && ($article.mediafile22 != ""))
#set( $media22 = $article.mediafile22.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media22[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media22[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile23) && ($article.mediafile23 != ""))
#set( $media23 = $article.mediafile23.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media23[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media23[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile24) && ($article.mediafile24 != ""))
#set( $media24 = $article.mediafile24.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media24[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media24[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile25) && ($article.mediafile25 != ""))
#set( $media25 = $article.mediafile25.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media25[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media25[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile26) && ($article.mediafile26 != ""))
#set( $media26 = $article.mediafile26.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media26[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media26[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile27) && ($article.mediafile27 != ""))
#set( $media27 = $article.mediafile27.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media27[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media27[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile28) && ($article.mediafile28 != ""))
#set( $media28 = $article.mediafile28.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media28[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media28[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile29) && ($article.mediafile29 != ""))
#set( $media29 = $article.mediafile29.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media29[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media29[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
#if(($article.mediafile30) && ($article.mediafile30 != ""))
#set( $media30 = $article.mediafile30.split("[|]"))
<referencedMedia>
<referencedFileTypeCode>$media30[0]</referencedFileTypeCode>
<multimediaPoolFileReference><![CDATA[$media30[1]]]></multimediaPoolFileReference>
</referencedMedia>
#end
</mediaInformation>
<salesInformation>
<tradeItemPrice currencyCode="$article.currencyCode">$article.tradeItemPrice</tradeItemPrice>
<priceBasisQuantity uom="$article.priceBasisQtyUOM">$article.priceBasisQty</priceBasisQuantity>
<priceEffectiveEndDate>$article.priceEffectiveEndDate</priceEffectiveEndDate>
<priceEffectiveStartDate>$article.priceEffectiveStartDate</priceEffectiveStartDate>
<dutyFeeTaxCategoryCode>$article.dutyFeeTaxCategoryCode</dutyFeeTaxCategoryCode>
<isBasePriceDeclarationRelevant>$article.isbasePriceDeclarationRelevant</isBasePriceDeclarationRelevant>
<priceComparisonMeasurement uom="$article.priceComparisonMeasurementUOM">$article.priceComparisonMeasurement</priceComparisonMeasurement>
<discountGroup>$article.discountGroup</discountGroup>
<discountGroupDescription lang="$article.language1">$article.discountGroupDescription</discountGroupDescription>
</salesInformation>
#if($article.dangerousGoodsRegulationCode == "Ja")
<hazardousSubstancesInformation>
<safetyDataSheetNumber>#if(($article.safetyDataSheetNumber) && ($article.safetyDataSheetNumber != ""))<![CDATA[$article.safetyDataSheetNumber]]>#end</safetyDataSheetNumber>
<flashPointTemperature uom="$article.flashPointTemperatureUOM">#if(($article.flashPointTemperature) && ($article.flashPointTemperature != ""))<![CDATA[$article.flashPointTemperature]]>#end</flashPointTemperature>
<ghsInformation>
#set( $GHSSDCList = $article.ghsSymbolDescriptionCode )
#foreach( $GHSSDC in $GHSSDCList.split("[,]") )
<ghsSymbolDescriptionCode><![CDATA[$GHSSDC]]></ghsSymbolDescriptionCode>
#end
<ghsSignalWordsCode><![CDATA[$article.ghsSignalWordsCode]]></ghsSignalWordsCode>
<regulatedChemicalDescription lang="$article.language1">#if(($article.regulatedChemicalDescription) && ($article.regulatedChemicalDescription != ""))<![CDATA[$article.regulatedChemicalDescription]]>#end</regulatedChemicalDescription>
#set( $HSCDList = $article.hazardStatementsCode )
#foreach( $HSCD in $HSCDList.split("[,]") )
<hazardStatement>
#set( $HSCdetail = $HSCD.split("[|]"))
<hazardStatementsCode><![CDATA[$HSCdetail[0]]]></hazardStatementsCode>
#if( $HSCdetail.contains("|") )
<hazardStatementsDescription lang="$article.language1"><![CDATA[$HSCdetail[1]]]></hazardStatementsDescription>
#end
</hazardStatement>
#end
#set($PSCDList = $article.precautionaryStatementsCode)
#foreach($PSCD in $PSCDList.split("[,]"))
<precautionaryStatement>
#set( $PSCDdetail = $PSCD.split("[|]"))
<precautionaryStatementsCode><![CDATA[$PSCDdetail[0]]]></precautionaryStatementsCode>
#if($PSCDdetail.contains("|"))
<precautionaryStatementsDescription lang="$article.language1"><![CDATA[$PSCDdetail[1]]]></precautionaryStatementsDescription>
#end
</precautionaryStatement>
#end
</ghsInformation>
<dangerousSubstanceWasteCode>#if(($article.dangerousSubstanceWasteCode) && ($article.dangerousSubstanceWasteCode != ""))<![CDATA[$article.dangerousSubstanceWasteCode]]>#end</dangerousSubstanceWasteCode>
<storageCompatibilityCode>#if(($article.storageCompatibilityCode) && ($article.storageCompatibilityCode != ""))<![CDATA[$article.storageCompatibilityCode]]>#end</storageCompatibilityCode>
<waterHazardCode>#if(($article.waterHazardCode) && ($article.waterHazardCode != ""))<![CDATA[$article.waterHazardCode]]>#end</waterHazardCode>
<exactPH>#if(($article.exactPH) && ($article.exactPH != ""))<![CDATA[$article.exactPH]]>#end</exactPH>
<reachInformation>
<isTradeItemReachRelevant>#if(($article.isTradeItemReachRelevant) && ($article.isTradeItemReachRelevant != ""))<![CDATA[$article.isTradeItemReachRelevant]]>#end</isTradeItemReachRelevant>
<isSubstanceOfVeryHighConcern>#if(($article.isSubstanceOfVeryHighConcern) && ($article.isSubstanceOfVeryHighConcern != ""))<![CDATA[$article.isSubstanceOfVeryHighConcern]]>#end</isSubstanceOfVeryHighConcern>
<reachChemicalRegistrationNumber>#if(($article.reachChemicalRegistrationNumber) && ($article.reachChemicalRegistrationNumber != ""))<![CDATA[$article.reachChemicalRegistrationNumber]]>#end</reachChemicalRegistrationNumber>
<reachUseDescriptorInformation>
<reachSectorUseDescriptorCode>#if(($article.reachSectorUseDescriptorCode) && ($article.reachSectorUseDescriptorCode != ""))<![CDATA[$article.reachSectorUseDescriptorCode]]>#end</reachSectorUseDescriptorCode>
<reachChemicalProductUseDescriptorCodeType>#if(($article.reachChemicalProductUseDescriptorCodeType) && ($article.reachChemicalProductUseDescriptorCodeType != ""))<![CDATA[$article.reachChemicalProductUseDescriptorCodeType]]>#end</reachChemicalProductUseDescriptorCodeType>
<reachEnvironmentReleaseUseCategoryCode>#if(($article.reachEnvironmentReleaseUseCategoryCode) && ($article.reachEnvironmentReleaseUseCategoryCode != ""))<![CDATA[$article.reachEnvironmentReleaseUseCategoryCode]]>#end</reachEnvironmentReleaseUseCategoryCode>
<reachProcessUseDescriptorCode>#if(($article.reachProcessUseDescriptorCode) && ($article.reachProcessUseDescriptorCode != ""))<![CDATA[$article.reachProcessUseDescriptorCode]]>#end</reachProcessUseDescriptorCode>
</reachUseDescriptorInformation>
</reachInformation>
</hazardousSubstancesInformation>
<hazardousGoodsInformation>
<regulatedTransportation>
<hazardousInformationDetail>
<unitedNationsDangerousGoodsNumber>#if(($article.dangerousGoodsUNNumber) && ($article.dangerousGoodsUNNumber != ""))<![CDATA[$article.dangerousGoodsUNNumber]]>#end</unitedNationsDangerousGoodsNumber>
<classOfDangerousGoods>#if(($article.dangerousGoodsClass) && ($article.dangerousGoodsClass != ""))<![CDATA[$article.dangerousGoodsClass]]>#end</classOfDangerousGoods>
<dangerousGoodsTechnicalName lang="$article.language1">#if(($article.dangerousGoodsTechnicalName) && ($article.dangerousGoodsTechnicalName != ""))<![CDATA[$article.dangerousGoodsTechnicalName]]>#end</dangerousGoodsTechnicalName>
<dangerousHazardousLabelNumber>#if(($article.dangerousHazardousLabelNumber) && ($article.dangerousHazardousLabelNumber != ""))<![CDATA[$article.dangerousHazardousLabelNumber]]>#end</dangerousHazardousLabelNumber>
<dangerousGoodsPackingGroup>#if(($article.dangerousGoodsPackingGroup) && ($article.dangerousGoodsPackingGroup != ""))<![CDATA[$article.dangerousGoodsPackingGroup]]>#end</dangerousGoodsPackingGroup>
<dangerousGoodsClassificationCode>#if(($article.dangerousGoodsClassificationCode) && ($article.dangerousGoodsClassificationCode != ""))<![CDATA[$article.dangerousGoodsClassificationCode]]>#end</dangerousGoodsClassificationCode>
<dangerousGoodsHazardousCode>#if(($article.dangerousGoodsHazardousCode) && ($article.dangerousGoodsHazardousCode != ""))<![CDATA[$article.dangerousGoodsHazardousCode]]>#end</dangerousGoodsHazardousCode>
#set( $DGSPList = $article.dangerousGoodsSpecialProvisions )
#foreach( $DGSP in $dgspList.split("[,]") )
<dangerousGoodsSpecialProvisions><![CDATA[$DGSP]]></dangerousGoodsSpecialProvisions>
#end
<netMassOfExplosives uom="$article.netMassOfExplosivesUOM">#if(($article.netMassOfExplosives) && ($article.netMassOfExplosives != ""))<![CDATA[$article.netMassOfExplosives]]>#end</netMassOfExplosives>
</hazardousInformationDetail>
<adrTunnelRestrictionCode>#if(($article.adrTunnelRestrictionCode) && ($article.adrTunnelRestrictionCode != ""))<![CDATA[$article.adrTunnelRestrictionCode]]>#end</adrTunnelRestrictionCode>
<transportationMaximumQuantity uom="$article.transportationMaximumQuantityUOM">#if(($article.transportationMaximumQuantity) && ($article.transportationMaximumQuantity != ""))<![CDATA[$article.transportationMaximumQuantity]]>#end</transportationMaximumQuantity>
<adrDangerousGoodsLimitedQuantitiesCode>#if(($article.adrDangerousGoodsLimitedQuantitiesCode) && ($article.adrDangerousGoodsLimitedQuantitiesCode != ""))<![CDATA[$article.adrDangerousGoodsLimitedQuantitiesCode]]>#end</adrDangerousGoodsLimitedQuantitiesCode>
<hazardousMaterialAdditionalInformation lang="$article.language1">#if(($article.hazardousMaterialAdditionalInformation) && ($article.hazardousMaterialAdditionalInformation != ""))<![CDATA[$article.hazardousMaterialAdditionalInformation]]>#end</hazardousMaterialAdditionalInformation>
</regulatedTransportation>
<tradeItemContactName>#if(($article.tradeItemContactName) && ($article.tradeItemContactName != ""))<![CDATA[$article.tradeItemContactName]]>#end</tradeItemContactName>
</hazardousGoodsInformation>
#end
</dpbTradeItem>
#end
</dpbTradeItems>
</dpbCatalog>
Loadbee (JSON)
Diese Vorlage zeigt die Struktur für Loadbee als JSON. Die Vorlage enthält viele optionale Datenfelder, die gelöscht werden können, wenn sie nicht benötigt werden.
Code Beispiel
Code Beispiel
[
{
"meta":{
"type":"product",
"format":"2.0.0",
"revision":"1",
"date":"2023-02-20T15:08:18",
"batch":null,
"reference":null
},
"fields":[
{"key":"organisation","value":"SAMPLEORGA"},
{"key":"code","value":"12345"},
{"key":"country","value":"DE"},
{"key":"locale","value":"de_DE"},
{"key":"title","value":"<![CDATA[TITLETEXT]]>"},
{"key":"description","value":"<![CDATA[DESCRIPTIONTEXT]]>"}
],
"identifiers":[
{"type":"ean","identifier":"1234567891012"},
{"type":"sku","identifier":"$article.SKU"}
],
"traits":{
"attributes":[
{"label":"Abmessungen",
"options":{},
"items":[
{"data":{
"label":"Höhe",
"value":"0",
"unit":"mm",
"media":null
},
"options":{
"tags":[]
}
},
{"data":{
"label":"Breite",
"value":"0",
"unit":"mm",
"media":null
},
"options":{
"tags":[]
}
},
{"data":{
"label":"Länge",
"value":"0",
"unit":"mm",
"media":null
},
"options":{
"tags":[]
}
}
]
},
{"label":"Gewicht",
"options":{},
"items":[
{"data":{
"label":"Bruttogewicht",
"value":"95",
"unit":"g",
"media":null
},
"options":{
"tags":[]
}
}
]
},
{"label":"Fassungsvermögen",
"options":{},
"items":[
{"data":{
"label":"Bruttofüllmenge",
"value":"0",
"unit":"ml",
"media":null
},
"options":{
"tags":[]
}
}
]
}
],
"descriptions":[
{"label":"Produktbeschreibung",
"options":{},
"items":[
{"data":{
"label":"Beschreibung",
"value":"<![CDATA[DESCRIPTIONTEXT]]>",
"media":null
},
"options":{
"tags":[]
}
},
{"data":{
"label":"Zusätzliche Angaben",
"value":"<![CDATA[]]>",
"media":null
},
"options":{
"tags":[]
}
}
]
}
],
"features":[
{"label":"Alleinstellungsmerkmale",
"options":{},
"items":[
{"data":{
"label":"Eigenschaft 1",
"value":"<![CDATA[]]>",
"media":null
},
"options":{
"tags":[]
}
},
{"data":{
"label":" Eigenschaft 2",
"value":"<![CDATA[]]>",
"media":null
},
"options":{
"tags":[]
}
}
]
},
{"label":"Einsatzzweck",
"options":{},
"items":[
{"data":{
"label":"Einsatzzweck 1",
"value":"",
"media":null
},
"options":{
"tags":[]
}
}
]
}
],
"products":[
{"label":"ähnliche Produkte",
"options":{},
"items":[
{"data":{
"label":null,
"value":""
},
"options":{
"tags":[]
}
},
{"data":{
"label":null,
"value":""
},
"options":{
"tags":[]
}
}
]
},
{"label":"Vergleichstabelle",
"options":{},
"items":[
{"data":{
"label":null,
"value":""
},
"options":{
"tags":[]
}
},
{"data":{
"label":null,
"value":""
},
"options":{
"tags":[]
}
},
{"data":{
"label":null,
"value":""
},
"options":{
"tags":[]
}
}
]
}
]
},
"media":{
"Media Name 1":{
"type":"external",
"source":"https://IMAGEURL.de/IMAGENAME.jpg",
"checksum":null,
"reference":null,
"meta":{
"mime":"jpg",
"size":null
}
}
,
"Media Name 2":{
"type":"external",
"source":"https://IMAGEURL.de/IMAGENAME.jpg",
"checksum":null,
"reference":null,
"meta":{
"mime":"jpg",
"size":null
}
}
}
},
{}
]
Bringoo (JSON)
Diese Vorlage zeigt die Struktur für Bringoo in JSON (Velocity). Bringoo benötigt 3 verschiedene Dateien (Daten, Preis, Verfügbarkeit). Die Besonderheit bei Bringoo ist, dass kein Datenfeld leer sein kann, also muss jedes Feld mit einem Wert gefüllt werden:
"UNKNOWN" wenn nie ein Wert vorhanden ist
"null" wenn es nur leer ist, aber nicht für jeden Artikel
Um sicherzustellen, dass dies gewährleistet ist, solltest Du den folgenden Code verwenden, wenn nicht klar ist, dass alle Felder korrekt ausgefüllt sind:
#if($article.EXPORTDATAFIELD)$article.EXPORTDATAFIELD#else null#end,
Diese Beispiele werden für einen Kunden mit einigen Sonderfällen verwendet. Bitte überprüfe daher, ob diese Dateien mit einer normalen Bringoo-Einrichtung funktionieren.
Code Beispiel - Produktdaten Feed
Code Beispiel - Produktdaten Feed
[
#foreach( $article in $articleList )
{
"name_i18n": {
"EN": #if($article.name_i18n_en)$article.name_i18n_en#else null#end,
"DE": #if($article.name_i18n_de)$article.name_i18n_de#else null#end,
"FR": #if($article.name_i18n_fr)$article.name_i18n_fr#else null#end
},
"isActive": $article.isActive,
"gtin": "$article.gtin",
"sku": "$article.sku",
"ean": "$article.ean",
"productSubcategoryCode": #if($article.productSubcategoryCode)$article.productSubcategoryCode#else null#end,
"productCategoryCode": $article.productCategoryCode,
"imageUrls": [
#if(($article.imageUrls) && ($article.imageUrls != ""))
$article.imageUrls <!-- maybe a loop for more then 1 picture -->
#end
],
"weight": #if($article.weight)$article.weight#else null#end,
"productUnitCode": "$article.productUnitCode",
"baseUnitCode": "$article.baseUnitCode",
"productMeasurement": $article.productMeasurement,
"baseMeasurement": $article.baseMeasurement,
"defaultPrice": $article.defaultPrice,
"chargeTax": $article.chargeTax,
"vatCode": $article.vatCode,
"manufacturer_i18n": {
"EN": #if($article.manufacturer_i18n_en)$article.manufacturer_i18n_en#else null#end,
"DE": #if($article.manufacturer_i18n_de)$article.manufacturer_i18n_de#else null#end,
"FR": #if($article.manufacturer_i18n_fr)$article.manufacturer_i18n_fr#else null#end
},
"special_notes_i18n": {
"EN": #if($article.specialnotes_i18n_en)$article.specialnotes_i18n_en#else null#end,
"DE": #if($article.specialnotes_i18n_de)$article.specialnotes_i18n_de#else null#end,
"FR": #if($article.specialnotes_i18n_fr)$article.specialnotes_i18n_fr#else null#end
},
"description_i18n": {
"EN": #if($article.description_i18n_en)$article.description_i18n_en#else null#end,
"DE": #if($article.description_i18n_de)$article.description_i18n_de#else null#end,
"FR": #if($article.description_i18n_fr)$article.description_i18n_fr#else null#end
},
"note_internal": #if($article.note_internal)$article.note_internal#else null#end,
"note_external": #if($article.note_external)$article.note_external#else null#end,
"isFairTrade": #if($article.isFairTrade)$article.isFairTrade#else null#end,
"isPublicDateTime": #if($article.isPublicDateTime)$article.isPublicDateTime#else null#end,
"productBrandCode": #if($article.productBrandCode)$article.productBrandCode#else null#end,
"productBrandName": #if($article.productBrandName)$article.productBrandName#else null#end,
"costPrice": #if($article.costPrice)$article.costPrice#else 0#end,
"deposit": {
"itemVatCode": #if($article.deposit_itemVatCode)$article.deposit_itemVatCode#else null#end,
"boxVatCode": #if($article.deposit_boxVatCode)$article.deposit_boxVatCode#else null#end,
"itemDepositValueGross": #if($article.deposit_itemDepositValueGross)$article.deposit_itemDepositValueGross#else null#end,
"boxDepositValueGross": #if($article.deposit_boxDepositValueGross)$article.deposit_boxDepositValueGross#else null#end
},
"tags_i18n": {
"EN": #if($article.tags_i18n_en)$article.tags_i18n_de#else null#end,
"DE": #if($article.tags_i18n_de)$article.tags_i18n_de#else null#end,
"FR": #if($article.tags_i18n_fr)$article.tags_i18n_fr#else null#end
},
"metaData": {},
"productAttributes": {
"isAlcohol": #if($article.productAttributes_isAlcohol)$article.productAttributes_isAlcohol#else false#end,
"isBio": #if($article.productAttributes_isBio)$article.productAttributes_isBio#else false#end,
"isFrozen": #if($article.productAttributes_isFrozen)$article.productAttributes_isFrozen#else false#end,
"isTobacco": #if($article.productAttributes_isTobacco)$article.productAttributes_isTobacco#else false#end,
"isVegan": #if($article.productAttributes_isVegan)$article.productAttributes_isVegan#else false#end,
"isVegetarian": #if($article.productAttributes_isVegetarian)$article.productAttributes_isVegetarian#else false#end,
"isLactoseFree": #if($article.productAttributes_isLactoseFree)$article.productAttributes_isLactoseFree#else false#end,
"isGlutenFree": #if($article.productAttributes_isGlutenFree)$article.productAttributes_isGlutenFree#else false#end,
"nutriScore": #if($article.productAttributes_nutriScore)$article.productAttributes_nutriScore#else null#end,
"ingredients_i18n": {
"EN": #if($article.productAttributes_ingredients_i18n_en)$article.productAttributes_ingredients_i18n_en#else null#end,
"DE": #if($article.productAttributes_ingredients_i18n_de)$article.productAttributes_ingredients_i18n_de#else null#end,
"FR": #if($article.productAttributes_ingredients_i18n_fr)$article.productAttributes_ingredients_i18n_fr#else null#end
},
"alcoholValue": #if($article.productAttributes_alcoholValue)$article.productAttributes_alcoholValue#else null#end,
"nutritional_data": {
"energyTotal": #if($article.productAttributes_nutritional_energyTotal)$article.productAttributes_nutritional_energyTotal#else null#end,
"calories": #if($article.productAttributes_nutritional_calories)$article.productAttributes_nutritional_calories#else null#end,
"fatTotal": #if($article.productAttributes_nutritional_fatTotal)$article.productAttributes_nutritional_fatTotal#else null#end,
"fatSaturates": #if($article.productAttributes_nutritional_fatSaturates)$article.productAttributes_nutritional_fatSaturates#else null#end,
"carbohydrateTotal": #if($article.productAttributes_nutritional_carbohydrateTotal)$article.productAttributes_nutritional_carbohydrateTotal#else null#end,
"carbohydrateSugars": #if($article.productAttributes_nutritional_carbohydrateSugars)$article.productAttributes_nutritional_carbohydrateSugars#else null#end,
"fibres": #if($article.productAttributes_nutritional_fibres)$article.productAttributes_nutritional_fibres#else null#end,
"protein": #if($article.productAttributes_nutritional_protein)$article.productAttributes_nutritional_protein#else null#end,
"salt": #if($article.productAttributes_nutritional_salt)$article.productAttributes_nutritional_salt#else null#end
},
"allergenic_information_i18n": {
"EN": #if($article.productAttributes_allergenicInfo_i18n_en)$article.productAttributes_allergenicInfo_i18n_en#else null#end,
"DE": #if($article.productAttributes_allergenicInfo_i18n_de)$article.productAttributes_allergenicInfo_i18n_de#else null#end,
"FR": #if($article.productAttributes_allergenicInfo_i18n_fr)$article.productAttributes_allergenicInfo_i18n_fr#else null#end
},
"med_limitation": #if($article.med_limitation)$article.med_limitation#else null#end,
"med_recommendation": #if($article.med_recommendation)$article.med_recommendation#else null#end,
"med_usecases": #if($article.med_usecases)$article.med_usecases#else null#end,
"med_interaction": #if($article.med_interaction)$article.med_interaction#else null#end,
"med_sideeffects": #if($article.med_sideeffects)$article.med_sideeffects#else null#end
}
},
#end
{}
]
Code Beispiel - Verfügbarkeit Feed
Code Beispiel - Verfügbarkeit Feed
[
#foreach( $article in $articleList )
{
"gtin": "$article.gtin",
"isOutOfStock": $article.isOutOfStock_store1,
"isRetired": null,
"availableDateStart": null,
"availableDateEnd": null,
"store_id": $article.store1
},
{
"gtin": "$article.gtin",
"isOutOfStock": $article.isOutOfStock_store2,
"isRetired": null,
"availableDateStart": null,
"availableDateEnd": null,
"store_id": $article.store2
},
#end
{}
]
Code Beispiel - Preis Feed
Code Beispiel - Preis Feed
[
#foreach( $article in $articleList )
{
"gtin": "$article.gtin",
"priceType": "REGULAR",
"priceDateStart": null,
"priceDateEnd": null,
"price": $article.price_store1,
"calculatedPrice": $article.calculatedPrice_store1,
"vat": $article.vat,
"vat_code": $article.vat_code,
"store_id": $article.store1
},
{
"gtin": "$article.gtin",
"priceType": "REGULAR",
"priceDateStart": null,
"priceDateEnd": null,
"price": $article.price_store2,
"calculatedPrice": $article.calculatedPrice_store2,
"vat": $article.vat,
"vat_code": $article.vat_code,
"store_id": $article.store2
},
#end
{}
]


