Altova MapForce 2025 Professional Edition

Devuelve true si el nodo de contexto tiene un atributo xml:lang con un valor que coincide exactamente con el argumento testlang o es un subconjunto del mismo. De lo contrario, la función devuelve false.

mf-func-xpath2-lang

 

Lenguajes

XQuery, XSLT 2.0, XSLT 3.0.

 

Parámetros

Nombre

Tipo

Descripción

testlang

xs:string

El código del idioma que se comprueba, por ejemplo "en".

 

Ejemplo

Este ejemplo XML contiene elementos para con distintos valores para el atributo 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>

 

La asignación siguiente filtra solamente los párrafos en alemán, independientemente de la variante del país, gracias a la función lang.

mf-func-xpath2-lang-example

Asignación de datos XSLT 2.0

En la asignación anterior, por cada para de origen se crea un item en el componente de destino, de forma condicional. La condición la da un filtro que pasa al componente de destino solo los nodos en los que la función lang devuelve true. Es decir, solo los nodos cuyo atributo xml:lang es "de" (o un subconjunto de "de") cumplen la condición del filtro. En consecuencia, el resultado de la asignación es este:

 

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

 

Observe que la función lang opera en el contexto de cada para debido a la conexión primaria entre para and item (ver también Contexto de la asignación).

© 2018-2024 Altova GmbH