[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: flatten tree

Subject: RE: flatten tree
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sun, 19 Sep 2004 21:57:22 +0100
flatten tree
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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.