I have a variant of the xslt task for processing Saxon transformations. It seems to have a bug that is also present in the base xslt task (which contains a lot of code that I copied), and I'm not sure how to fix it.
Basically, given this input <target name="saxon"> <saxon-xslt basedir="in" destdir="out" style="identity.xsl" force="true" > <mapper type="glob" from="*.template.xml" to="*.xml"/> </saxon-xslt> </target> It's processing each of the input files (that is, each file matching in/*.template.xml) twice. The relevant code is: // Process all the files marked for styling list = scanner.getIncludedFiles(); for (int i = 0; i < list.length; ++i) { process(baseDir, list[i], destDir, xslResource); } if (performDirectoryScan) { // Process all the directories marked for styling dirs = scanner.getIncludedDirectories(); for (int j = 0; j < dirs.length; ++j) { list = new File(baseDir, dirs[j]).list(); for (int i = 0; i < list.length; ++i) { process(baseDir, dirs[j] + File.separator + list[i], destDir, xslResource); } } } and the first transformation is being done as a result of getIncludedFiles(), the second as a result of getIncludedDirectories(). Now, the "performDirectoryScan" flag corresponds to the external property scanIncludedDirectories, and its default value is true. Adding scanIncludedDirectories="false" to the task cures the problem. But why would anyone want to set it to true, and why is true the default value? Michael Kay http://www.saxonica.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]