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:21:15 +0100
On 2 December 2011 17:18, Bartolomeo Nicolotti <bnicolotti@xxxxxxxxx> wrote:
> Hello,
>
> ok, now I've understood, but a little bit long task for my schedule...

But it was almost completely there in Michael's mail?
-W

>
> maybe some time in the future...
>
> Many thanks
>
> bye
>
>
> Il giorno ven, 02/12/2011 alle 17.16 +0100, Wolfgang Laun ha scritto:
>> 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
>>
>
> --
> ____________________________________________________________
> Bartolomeo Nicolotti - Reparto Sviluppo - SIAP s.r.l.
> Via Sant'Albano, 13 - 12049 Trinit` (CN) Italy
> Tel. (+39) 0172 652511 - Fax (+39) 0172 652519
> E-mail: bnicolotti@xxxxxxxxx - URL: www.siapcn.it
> Codice Fiscale, Partita IVA, Iscr. Reg. Imprese di Cuneo: 01871320048
> Capitale Sociale:  99.000,00 i.v. - R.E.A. CN 141311
> ____________________________________________________________
>
> Le informazioni contenute nella presente comunicazione e i relativi
> allegati possono essere riservate e sono, comunque, destinate
> esclusivamente alle persone o alla Societ` sopraindicati. La
> comunicazione, diffusione, distribuzione e/o copiatura del documento
> trasmesso nonchi qualsiasi forma di trattamento dei dati ivi contenuti
> da parte di qualsiasi soggetto diverso dal destinatario h proibita, sia
> ai sensi dell'art. 616 c.p., che ai sensi del D. Lgs. n. 196/2003, ed in
> ogni caso espressamente inibita. Se avete ricevuto questo messaggio per
> errore, vi preghiamo di distruggerlo e di informarci immediatamente per
> telefono allo 0172/652511 o inviando un messaggio all'indirizzo:
> info@xxxxxxxxx
> ____________________________________________________________
>
> This electronic mail transmission, including any accompanying documents
> or attachments, may contain information that is confidential,
> privileged, proprietary, or otherwise legally exempt from disclosure and
> it's intended solely for the addressee(s).  Access to this Internet
> electronic mail message by anyone else is unauthorized.  If you are not
> the intended recipient, any disclosure, copying, distribution or any
> action taken or omitted to be taken in reliance on it is prohibited and
> may be unlawful. If you have received this electronic mail erroneously,
> we ask you to to destroy it and let us know immediately by phone
> at 0172/652511 or by sending an e-mail at info@xxxxxxxxx
> ____________________________________________________________

Current Thread