Are you really saying you can run Saxon by invoking the Xalan command line with saxon.jar on the classpath? If so, I am very surprised. Are you sure this is actually running Saxon and not Xalan. What is the output of system-property('xsl:vendor')?
 
You can switch on Saxon line numbering for the source document by using the -l (letter ell) option on the command line, or by setting the LINE_NUMBERING attribute in the TransformerFactory.
 
Specifically:
 
TransformerFactory tf = TransformerFactory.newInstance();
tf.setAttribute(FeatureKeys.LINE_NUMBERING, new Boolean(true));
 
See http://saxon.sourceforge.net/saxon7.3.1/using-xsl.html#Embedding for other attributes you can set. (This is for version 7.3.1. For 6.5.2 you will need to trawl through the JavaDoc to find the equivalent information).
 
Michael Kay
-----Original Message-----
From: saxon-help-admin@lists.sourceforge.net [mailto:saxon-help-admin@lists.sourceforge.net] On Behalf Of Anna Afonchenko
Sent: 15 December 2002 10:00
To: saxon-help@lists.sourceforge.net
Subject: [saxon] saxon:line-number() question

Hi all.
I hope this is the right list to post this question.
I want to write in my xsl stylesheet that when it
matches some node to output some stuff, that the xsl
will also print the line number that this node appears in
the input file. I found the saxon function line-number(),
that seems to be what I need, but when I use it,
I get -1 as a result for any node.
It is mention on the saxon page that I may need to add -l option
on command line when running to enable line numbers, but my problem
is,
that I don't really run my stylesheet using saxon, but using java with
saxon.jar instead to enable use of saxon functions along with some java extensions,
e.g. my command line looks like this:
java -cp .;saxon.jar org.apache.xalan.xslt.Process -in input.xml -xsl
styesheet.xsl -out output.xml

instead of running through saxon directly:
c:\saxon\saxon -o output.xml input.xml stylesheet.xsl

How can I define saxon to return valid line numbers?
Or maybe there is some other function that I can use?

Thank you very much for help.

Anna