Re: [xsl] Making groups of N elements --> Photo index

Subject: Re: [xsl] Making groups of N elements --> Photo index
From: Antonio Fiol <fiol@xxxxxxxxxx>
Date: Thu, 13 Jun 2002 10:19:09 +0200
I am using saxon, packaged for Debian, version 6.4.4.

In this case, portability is not a main concern, as I will use a script to do the transform "once", and then I'll use the HTML generated document in a browser.

However, I am developing other things using XSLT, and I am interested in those being portable.

Portable meaning, at least: saxon + mozilla + IE6.0 (msxml, right version).

Could any of you point me to a document with portability advice?

Thank you very much. Your help is so great!!

Antonio Fiol

Michael Kay wrote:

Thank you for your advice about the result tree fragments. I found that feature very useful.

What is xx:node-set() ? Is it something portable?

It's an extension function that's available in nearly every XSLT
processor, though the namespace varies which makes it non-portable.
Several processors support the EXSLT namespace (see which
improves the situation.

I did it _without_ that function, as follows (comments welcome).

<xsl:variable name="allphotos"> <xsl:apply-templates select="/fotos/foto" mode="identity"> <xsl:sort order="ascending" select="@id" data-type="number" /> </xsl:apply-templates> <foto id="100000000000" dummy="logo" src="logo.gif" href="http://homepage"; /> <foto id="100000000001" dummy="yes" /> <foto id="100000000002" dummy="yes" /> <foto id="100000000003" dummy="yes" /> <foto id="100000000004" dummy="yes" /> <foto id="100000000005" dummy="yes" /> <foto id="100000000006" dummy="yes" /> <foto id="100000000007" dummy="yes" /> </xsl:variable>

<xsl:for-each select="$allphotos/foto[(position() mod 8) = 1 and not(@dummy='yes')]">

Then you're using a processor that implements the "implicit conversion of result tree fragments to node-sets" offered by the XSLT 1.1 and XSLT 2.0 working drafts: this code isn't legal in XSLT 1.0. Which processor, might I ask?

(Saxon allows this, provided your stylesheet specifies version="1.1" or
later. But some earlier versions of Saxon allowed it regardless).

XSL-List info and archive:

Current Thread