Subject: Re: [xsl] flatten tree From: Jan Limpens <jan.limpens@xxxxxxxxx> Date: Sun, 19 Sep 2004 18:11:10 -0300 |
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@xxxxxxxxx> 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.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 > > -- Jan http://www.limpens.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] flatten tree, Michael Kay | Thread | Re: [xsl] flatten tree, Jan Limpens |
RE: [xsl] flatten tree, Michael Kay | Date | [xsl] problem with table, Eldho George |
Month |