xsl-list
[Top] [All Lists]

Re: flatten tree

2004-09-19 14:11:10
Thanks, Michael, 

sounds great (I will need some time to digest this chunky boolean ;))!

The reason why I am using my own lang definition (and it is using
xs:language as datatype, too) is, that my trials just gave me errors
and subsequentially I did not find any good (understandable and
reality oriented) information on the subject. And my fix worked well.
But hints are gladly welcome!

--Jan


On Sun, 19 Sep 2004 21:57:22 +0100, Michael Kay 
<mhk(_at_)mhk(_dot_)me(_dot_)uk> wrote:
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(_dot_)limpens(_at_)gmail(_dot_)com]
Sent: 19 September 2004 21:30
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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">Olá</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

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--



--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





-- 
Jan
http://www.limpens.com


<Prev in Thread] Current Thread [Next in Thread>