Subject: RE: [xsl] debugging source line numbers From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Fri, 24 Jan 2003 08:45:23 -0000 |
FWIW, Saxon has an extension function saxon:line-number() that gives the line number of the context node in the source document (provided you run Saxon with the -l option). Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of S Woodside > Sent: 22 January 2003 05:26 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] debugging source line numbers > > > The FAQ is pretty thin on debugging tips, so I thought I'd > share this > that I came up with. the gurus on the list can probably improve it ;-) > > I wanted to include a line number in the output that would take me to > the line in the source XML that is being processed. It's > tricky because > the processor doesn't count close tags in the various number/count > functions, but I came up with this xslt. In order to make it work you > have to "pretty-print" your source document (like in BBEdit, > format as > "hierarchical") to have one node / tag text per line. This > trick puts > me within about +/- 20 lines of the right line, in my 2000 > line source > file. > > <xsl:text>{{{</xsl:text> > <xsl:value-of select="(count(preceding::* | ancestor::*) * > 2 * 9 div > 10 + 1" /> > <xsl:text>}}}</xsl:text> > > I multiply the result of the count by 2 because every node > has a close > tag, thus doubling the number of lines. Except for the nodes > that don't > have close tags, so I multiply by a "constant" that should be roughly > the ratio of nodes with close tags to nodes w/o close tags, > 9/10 seemed > to work after fiddling. I can't remember what the +1 does ;-) > > simon > --- > www.simonwoodside.com > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] debugging source line numbers, S Woodside | Thread | Re: [xsl] debugging source line nu, Dimitre Novatchev |
RE: AW: [xsl] how to "save" a conte, Michael Kay | Date | RE: [xsl] xpath confusion (compound, Michael Kay |
Month |