Re: [xsl] __LINE__ equivalent in XSLT

Subject: Re: [xsl] __LINE__ equivalent in XSLT
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Fri, 2 Dec 2011 17:16:26 +0100
Michael suggested the implementation of an equivalent of a C preprocessor
by replacing processing instructions *in your XSLT" by *another XSLT* which
transforms the input XML (your actual XSLT) into one where "<?line?> is
replaced by the current line number within that XML (your actual XSLT).

-W

On 2 December 2011 16:02, Bartolomeo Nicolotti <bnicolotti@xxxxxxxxx> wrote:
> Sorry,
>
> this
>
> (line 34)<xsl:comment>line <xsl:value-of  select="saxon:line-number()"/>
>
> gives this
>
> <!--line -1
>
> Many thanks
>
> Bye
>
> Il giorno ven, 02/12/2011 alle 16.01 +0100, Bartolomeo Nicolotti ha
> scritto:
>> hello,
>>
>> I've tried this:
>>
>> zxsl:value-of select="saxon:line-number(.)"/>
>> </xsl:template>
>>
>> buy gives me the line of the input xml
>>
>> 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