Re: [xsl] select lang attribute problem

Subject: Re: [xsl] select lang attribute problem
From: Francis Norton <francis@xxxxxxxxxxx>
Date: Wed, 28 Feb 2001 19:12:23 +0000

cutlass wrote:
> hello all,
> any ideas on selecting nodes based on the 2 following conditions being met
> a) existance of lang attribute is boolean false  ( in other words when
> there is no explicit lang attribute select it as a default)
> if a) is TRUE then
> b) presence of lang="en" is boolean true ( the 'en' would be supplied by
> a xsl:param)
> a solution at the top level of xsl would be most desirable with an
> xsl:param setting the desired language to extract ............ so far
> i've got lots of methods,
> just can't find anything elegant enough to apply to a larger system for
> multilingual support. any comments or pointers with how people are
> approaching multilingual xml/xsl..greatly appreciated.

Hi Cutlass,

I couldn't get entirely top level because you can't put variables in the
predicates of match expressions in templates, but you could do something
like this:

<xsl:stylesheet version="1.0"
	<xsl:param name="lang">en</xsl:param>
	<xsl:template match="test">
		<xsl:if test="not(@xml:lang) or @xml:lang=$lang">
			<xsl:value-of select="node()"/>

(If you *could* put variables in template match expressions it would
just be:
	<xsl:template match="test[not(@xml:lang) or @xml:lang=$lang]">
and no xsl:if required)


 XSL-List info and archive:

Current Thread