Re: [xsl] __LINE__ equivalent in XSLT

Subject: Re: [xsl] __LINE__ equivalent in XSLT
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Fri, 02 Dec 2011 16:27:39 +0000
On 02/12/2011 15:01, Bartolomeo Nicolotti wrote:
hello,

I've tried this:

zxsl:value-of select="saxon:line-number(.)"/>
</xsl:template>

buy gives me the line of the input xml

My suggestion was that you should write an XSLT stylesheet that preprocesses the stylesheet: so that at this time, the stylesheet IS the input XML. That mirrors the way the C preprocessor handles it.


saxon:line-number also requires a version of Saxon that supports it (e.g. Saxon-PE 9.3) and setting the -l option on the command line so that line numbers are maintained.

Michael Kay
Saxonica

I need to know the line number in the xslt itself


Many thanks

Bye

Il giorno ven, 02/12/2011 alle 13.01 +0000, Michael Kay ha scritto:
You could implement the preprocessor easily enough if you are using
Saxon. For example if you use<?line?>  then you can write the
preprocessor as

<xsl:template match="*">
    .. identity template ..
</xsl:template>

<xsl:template match="processing-instruction(line)">
<xsl:value-of select="saxon:line-number(.)"/>
</xsl:template>

Michael Kay
Saxonica

On 02/12/2011 12:14, Bartolomeo Nicolotti wrote:
To whom it may concern,

in C there's a pre-processor directive

__LINE__

that gives you the line of source where the directive is.

Is there an equivalent in XSLT?

Many thanks

Best regards

Bartolomeo

Current Thread