[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] How to merge translated XML files with the same IDs


Subject: Re: [xsl] How to merge translated XML files with the same IDs
From: Michael Müller-Hillebrand <mmh@xxxxxxxxxxxxx>
Date: Thu, 30 Apr 2009 17:44:38 +0200

Wow, a use case for tunnel parameters. Even if it does not help the performance (which would not be a problem), it is a cool ,concept and a good reason to learn about it.

Thanks for the hint,

- Michael

Am 30.04.2009 um 16:58 schrieb David Carlisle:

Or is there a more elegant way? I will be using XSLT 2.0.

That's about it really. As an alternative to going back up each time ancestor::doc you could pass it down as you go along

<xsl:template match="@idref | @id">
   <xsl:param name="lang" tunnel="yes"/>
  <xsl:attribute name="{name()}"
  select="concat($lang, '_', .)"/>
</xsl:template>

and use
xsl:with-param to set this in the template for doc.

However I have no idea on the relative costs of doing ancestor:: or
passing down a tunnel param. Presumably depends on whether you use
an idiom that causes Michael's optimiser to do something clever or
whether the code actually implements the document traversal..

David


Current Thread
Keywords