|
Subject: RE: [xsl] flatten tree From: "Michael Kay" <mhk@xxxxxxxxx> Date: Sun, 19 Sep 2004 21:57:22 +0100 |
Write a top-level stylesheet module that imports your "original" stylesheet
module, with the rule:
<xsl:template match="*">
<xsl:if test="@lang = $selectedLanguage or ((not(@lang) and
$defaultLanguage = $selectedLanguage)">
<xsl:apply-imports/>
</xsl:if>
</xsl:template>
This works provided all the elements carrying a lang attribute are processed
using apply-templates rather than for-each, value-of, etc.
Any reason you are using @lang rather than @xml:lang? (I'm just curious. I
always thought the inclusion of @xml:lang in the XML spec, as the only name
that has a predefined meaning, was rather an oddity, and I'm interested that
you are ignoring it and defining your own.)
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Jan Limpens [mailto:jan.limpens@xxxxxxxxx]
> Sent: 19 September 2004 21:30
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] flatten tree
>
> hi people,
>
> thanks in advance for all the great help you are giving to
> the community!
>
> i habe a xml file like this:
>
> <root>
> <foo>
> <bar lang="de">Hallo</bar>
> <bar lang="en">Hello</bar>
> <bar lang="es">Ola</bar>
> </foo>
> <foo>
> <!-- No "de" here -->
> <bar lang="en">Good Bye</bar>
> <bar lang="es">Hasta la vista</bar>
> </foo>
> </root>
>
> and an xsl file where I define
> <xsl:param name="selectedLanguage" select="'de'"/>
> <xsl:param name="defaultLanguage" select= "'en'"/>
>
> and I want a result like
> <div>
> <p>Hallo</p>
> <p>Goodbye<p/><!--Fallback to "en"-->
> </div>
>
> is there a good pattern for this situation?
>
> --
> Jan
> http://www.limpens.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] flatten tree, Jan Limpens | Thread | Re: [xsl] flatten tree, Jan Limpens |
| [xsl] flatten tree, Jan Limpens | Date | Re: [xsl] flatten tree, Jan Limpens |
| Month |