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 |