Visit Mozilla.org

XPath:Functions:lang

From MDC

XSLT/XPath Reference: XSLT elements, EXSLT functions, XPath functions, XPath axes

Contents


The lang function determines whether the context node matches the given language and returns boolean true or false.

[edit] Syntax

lang( string )

[edit] Arguments

string
The language code or localization (language and country) code to be matched.

[edit] Returns

true if the context node matches the given languages. Otherwise, false.

[edit] Notes

  • A node's language is determined by its xml:lang attribute. If the current node does not have an xml:lang attribute, then the value of the xml:lang attribute of the nearest ancestor that has an xml:lang attribute will determine the current node's language. If the language cannot be determined (no ancestor has an xml:lang attribute), this function will return false.
  • If the given string does not specify a country code, this function will match nodes of that language with any country code. The converse is not true.

Given this fragment of XML:

<p xml:lang="en">I went up a floor.</p>
<p xml:lang="en-GB">I took the lift.</p>
<p xml:lang="en-US">I rode the elevator.</p>

And this part of an XSL template:

<xsl:value-of select="count(//p[lang('en')])" />
<xsl:value-of select="count(//p[lang('en-GB')])" /> 
<xsl:value-of select="count(//p[lang('en-US')])" />
<xsl:value-of select="count(//p[lang('de')])" />

The output might be:

3
1
1
0

[edit] Defined

XPath 1.0 4.3

[edit] Gecko support

Supported.