En 2015, ONIXEDIT publiait la version 3.1.6 avec la première implantation des colonnes XPATH dans notre outil d'export générique vers fichiers plats et Excel. XPATH est l'acronyme pour "XML Path Language". Le langage XPATH utilise une syntaxe semblable à celle d'un chemin d'accès d'un fichier sur votre ordinateur servant à naviguer les nœuds d'un document XML.
Son introduction dans la version 3.1.6 avait un but précis: fournir une façon d'exporter une valeur spécifique contenue dans une séquence répétitive de composites ONIX. Par exemple, si un titre ONIX dispose de plusieurs enregistrements "SupplyDetail" et que pour chacun, on y retrouve plusieurs prix. La seule façon de pouvoir exporter sans équivoque un prix spécifique d'un fournisseur en particulier est par la définition d'une colonne XPATH dans votre script d'export ONIXEDIT. Considérez l'extrait ONIX suivant:
<SupplyDetail>
<SupplierName>ONIXEDIT</SupplierName>
<ProductAvailability>21</ProductAvailability>
<Price>
<PriceTypeCode>01</PriceTypeCode>
<PriceAmount>6.99</PriceAmount>
<CurrencyCode>CAD</CurrencyCode>
</Price>
<Price>
<PriceTypeCode>01</PriceTypeCode>
<PriceAmount>4.99</PriceAmount>
<CurrencyCode>USD</CurrencyCode>
</Price>
</SupplyDetail>
Si vous souhaitez exporter le prix USD du fournisseur ONIXEDIT, il n'y a qu'une seule façon de l'obtenir à coup sûr, peu importe le nombre de fournisseurs et de prix définis. C'est à l'aide de l'expression XPATH suivante que vous l'obtiendrez:
//Product/SupplyDetail[SupplierName='ONIXEDIT']/Price[CurrencyCode='USD']/PriceAmount
Avec sa nouvelle version 3.4.8, ONIXEDIT propulse l'utilisation du XPATH au sommet des possibilités grâce à l'implantation d'un engin compatible au standard XPATH 3.1. Ainsi, vous pourrez maintenant définir des conditions IF THEN ELSE de même que des boucles FOR pour parcourir les éléments des composites ONIX.
Voici un exemple d'une expression XPATH 3.1 complexe...
Imaginons que vous souhaitiez exporter vers un système extérieur non compatible ONIX, les dimensions de vos livres en utilisant que l'unité de mesure "mm". Vous savez que le langage ONIX supporte les "mm" mais aussi les "cm" et les "in" pour les valeurs hauteur, largeur et épaisseur. Par conséquent, bien qu'improbables, les valeurs suivantes sont tout à fait possibles et valides:
Pour vous assurer de n'exporter que des mesures en "mm", vous devrez créer une colonne XPATH pour chaque dimension dans votre script d'export ONIXEDIT. Celle qui suit concerne la hauteur ([MeasureType="01"]):
if(//Product/DescriptiveDetail/Measure[MeasureType="01"]/MeasureUnitCode="mm")
then //Product/DescriptiveDetail/Measure[MeasureType="01"]/Measurement
else if(//Product/DescriptiveDetail/Measure[MeasureType="01"]/MeasureUnitCode="cm")
then (number(//Product/DescriptiveDetail/Measure[MeasureType="01"]/Measurement) * 10)
else if(//Product/DescriptiveDetail/Measure[MeasureType="01"]/MeasureUnitCode="in")
then (number(//Product/DescriptiveDetail/Measure[MeasureType="01"]/Measurement) * 25.4)
else 'INVALID UNIT'
Notez l'utilisation de la fonction "number" pour convertir la chaine de caractères ONIX en son équivalent numérique de manière à pouvoir effectuer une multiplication à l'aide d'un facteur de conversion.
La capture d'écran suivante de notre outil générique d'export démontre le résultat obtenu:
Pour plus d'informations sur les expressions XPATH et leur utilisation dans ONIXEDIT, visitez notre manuel d'utilisateur.
Pour tous ceux qui sont nouveaux au merveilleux monde ONIX, inscrivez-vous maintenant à notre site web afin de télécharger votre copie d'essai gratuite d'ONIXEDIT Pro. Vous obtiendrez alors tout ce dont il vous faut pour explorer notre nouvel engin XPATH.
Au plaisir!