Les caractéristiques des produits se définissent au moyen des nœuds « feature » et « featureValue ». Il est possible de créer les caractèristiques seules :
<advancedimporter>
<feature>
<name>material</name>
</feature>
</advancedimporter>
Par défaut, le nom de la caractéristique est utilisé comme référence fournisseur. Mais il est recommandé de définir la référence fournisseur surtout si votre flux est multilangue :
<advancedimporter>
<feature supplier-reference="material">
<name>material</name>
</feature>
</advancedimporter>
Ensuite il est possible d'ajouter des valeurs à cette caractéristique. Cela est possible par imbrication :
<advancedimporter>
<feature>
<name>material</name>
<featureValue>
<value>coton</value>
</featureValue>
<featureValue>
<value>wool</value>
</featureValue>
</feature>
</advancedimporter>
Ou sans imbrication :
<advancedimporter>
<feature>
<name>material</name>
</feature>
<featureValue>
<id_feature supplier-reference="feature">material</id_feature>
<value>coton</value>
</featureValue>
<featureValue>
<id_feature supplier-reference="feature">material</id_feature>
<value>wool</value>
</featureValue>
</advancedimporter>
Enfin il est possible de rattacher des valeurs de caractéristiques à un produit :
<advancedimporter>
<product supplier-reference="test">
<name>test</name>
<price>10</price>
<feature>
<name>material</name>
<featureValue>
<value>coton</value>
</featureValue>
</feature>
</product>
</advancedimporter>
Ou sans imbrication :
<advancedimporter>
<feature>
<name>material</name>
</feature>
<product supplier-reference="test">
<name>test</name>
<price>10</price>
<featureValue>
<id_feature supplier-reference="feature">material</id_feature>
<value>wool</value>
</featureValue>
</product>
</advancedimporter>
Si on passe le flux suivant, on remarque que le produit garde ses caratéristiques précédement ajoutées :
<advancedimporter>
<product supplier-reference="test">
<name>test</name>
<price>10</price>
<feature>
<name>material 2</name>
<featureValue>
<value>coton 2</value>
</featureValue>
</feature>
</product>
</advancedimporter>
Pour ne garder que les nouvelles caractéristiques, il faut rajouter le paramètre « remove-missing-features » :
<advancedimporter>
<product supplier-reference="test" remove-missing-features="yes">
<name>test</name>
<price>10</price>
<feature>
<name>material 2</name>
<featureValue>
<value>coton 2</value>
</featureValue>
</feature>
</product>
</advancedimporter>