Dave Pawson wrote:
On 16/04/2008, Steve Loughran <[EMAIL PROTECTED]> wrote:

Saxon XSLT processor.
-o filename is the parameter. I'd always thought of it as one param.
Name (-o)
value (filename)
Ant seems to view it differently.

 Its two separate parameters when you break up the command line by spaces,
which is what C main(char **argv)  does by the time every native program
gets a look in. And The Java Runtime exec() call takes the same list of
arguments, which is what ant sets up

 When you go <arg line> ant splits up the line by spaces, and gets it wrong
when there are spaces in filenames -just as the shell would. When you build
it up using <arg value>, spaces in filenames get handled correctly.

 If you build on on unix, you may not notice these problems, but other
developers may hit the problem. Its safest, therefore, to use arg value,
except in the special case that you want people who override your build file
to include a whole list of custom arguments (like custom JVM
properties/options).


I can see the simpler interpretation Steve, just looks odd from
the user perspective? Saxon does just the same as you say,
but processes arg pairs (for such as -o, -x etc).

well, ant itself looks for arguments that follow the previous one. But they shouldnt say
if(arg[index].startswith("-o ")) setOutputFile(arg[index].substring(2);

what normally happens is more
 if(arg[index].startswith("-o ")) {
  index++;
if(index>=arg.length) throw new NotEnoughValuesException("expected something after -o");
  setOutputFile(arg[index]);
  index++;
}

this pulls in two arguments and checks that there are two before doing the work. Or they use commons-cli to do this part of the grunge work.


I've given up with the xslt task now;
Need it to handle a different parser (xercesImpl) for xIncludes
and Apache resolver.jar for catalogs - I don't think
the xslt task can hack that?

-you should be using xercesImpl from ANT_HOME/lib anyway...drop in a new version if you want to change that. -resolver.jar is used for catalog resolution; I dont know what happens with xincludes

if xinclude doesnt work when resolver.jar is on the classpath, that's a feature to fix...

--
Steve Loughran                  http://www.1060.org/blogxter/publish/5
Author: Ant in Action           http://antbook.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to