Altova MapForce 2025 Professional Edition

Gibt true zurück, wenn der Kontext-Node ein xml:lang-Attribut mit einem Wert hat, der entweder genau mit dem Argument testlang übereinstimmt oder eine Untergruppe davon ist. Andernfalls gibt die Funktion false zurück.

mf-func-xpath2-lang

 

Sprachen

XQuery, XSLT 2.0, XSLT 3.0..

 

Parameter

Name

Typ

Beschreibung

testlang

xs:string

Der zu überprüfende Sprachencode, z.B. "en".

 

Beispiel

Die folgende XML-Datei enthält para-Elemente mit verschiedenen Werten für das 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>

 

Im unten gezeigten Mapping werden mit Hilfe der Funktion lang unabhängig von der Landesvariante nur die deutschen Absätze gefiltert.

mf-func-xpath2-lang-example

XSLT 2.0-Mapping

Im obigen Mapping wird für jedes para-Element in der Quellkomponente auf Basis von Bedingungen ein itemElement in der Zielkomponente erstellt. Die Bedingung wird durch einen Filter bereitgestellt, der nur die Nodes an die Zielkomponente übergibt, für die die Funktion lang true, zurückgibt. D.h. nur die Nodes, deren xml:lang-Attribut auf "de" (oder eine Untergruppe von "de") gesetzt ist, erfüllen die Filterbedingung. Die Mapping-Ausgabe sieht daher folgendermaßen aus:

 

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

 

Beachten Sie, dass die lang-Funktion aufgrund der Parent-Verbindung zwischen para und item im Kontext der einzelnen para-Elemente ausgeführt wird, siehe auch Der Mapping-Kontext.

© 2018-2024 Altova GmbH