La fonction lang détermine si le nœud de contexte correspond à la langue indiquée et retourne le booléen true ou false.
xml:lang. Si le nœud courant ne possède pas cet attribut, alors la valeur de l'attribut xml:lang du plus proche ancêtre le possédant déterminera la langue du nœud courant. Si la langue ne peut être déterminée (aucun ancêtre avec un attribut xml:lang), cette fonction retourne le booléen false.
chaîne donnée ne spécifie pas de code de pays, cette fonction sélectionnera les nœuds dans la langue spécifiée, suivie éventuellement de n'importe quel code de pays. La réciproque n'est pas vraie.
Regardons le code XML suivant :
<p xml:lang="en">I went up a floor.</p> <p xml:lang="en-GB">I took the lift.</p> <p xsl:lang="en-US">I rode the elevator.</p>
et ce modèle XSL :
<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')])" />
La sortie sera :
3 1 1 0
Page modifiée à 13:02, 12 Nov 2007 par Mgjbot