lang

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

Syntax

lang(string )

Arguments

string

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

Returns

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

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:

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:

xml

<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

Defined

Gecko support

Supported.