Altova MapForce 2024 Enterprise Edition

Retourne true si le nœud contextuel a un attribut xml:lang avec une valeur soit qui correspond exactement à l’argument testlang, ou en est un sous-ensemble. Sinon, la fonction retourne false.

mf-func-xpath2-lang

 

Langages

XQuery, XSLT 2.0, XSLT 3.0.

 

Paramètres

Nom

Type

Description

testlang

xs:string

Le code de langage à vérifier, par exemple, "en".

 

Exemple

Le XML suivant contient des éléments para avec des valeurs différentes pour l’attribut xml:lang.

 

<page>
  <para xml:lang="en">Good day!</para>
  <para xml:lang="fr">Bonjour!</para>  
  <para xml:lang="de-AT">Grüss Gott!</para>
  <para xml:lang="de-DE">Guten Tag!</para>
  <para xml:lang="de-CH">Grüezi!</para>
</page>

 

Le mappage illustré ci-dessous filtre uniquement les paragraphes en allemand, quelle que soit la variante du pays, avec l’aide de la fonction lang.

mf-func-xpath2-lang-example

Mappage XSLT 2.0

Dans le mappage ci-dessus, pour chaque para dans la source, un item est créé dans la cible, de manière conditionnelle. La condition est fournie par un filtre qui transfère à la cible uniquement les nœuds dans lesquels la fonction lang retourne true. Ainsi, seul les nœuds qui ont l’attribut xml:lang définis sur "de" (ou un sous-ensemble de "de") satisferont la condition du filtre. Par conséquent, la sortie de mappage est le suivant :

 

<items>
  <item>Grüss Gott!</item>
  <item>Guten Tag!</item>
  <item>Grüezi!</item>
</items>

 

Veuillez noter que la fonction lang opère dans le contexte de chaque para, à cause de la connexion parent entre para et item, voir aussi Le contexte de mappage.

© 2018-2024 Altova GmbH