@echo off :: :: '$Id$' :: :: Matthew Brooke :: 8 December 2005 :: :: Command-line XSLT :: :: Takes 3 command-line arguments: :: 1) an existing XML document, :: 2) an existing XSL document, and :: 3) an HTML document (existing or not) :: It then uses the XSL document to transform :: the XML into HTML. :: (Note that HTML is the common usage - however, :: many other types of output documents are supported, :: limited only buy the XSL stylesheet itself) :: :: TROUBLESHOOTING: :: :: i) ASSUMES the existence of: :: .\lib\xalan.jar, :: .\lib\xalan.jar\xercesImpl.jar, and :: .\lib\xalan.jar\xml-apis.jar :: :: ii) Use absolute paths, not relative paths, for :: the XML, XSL and HTML files. Make sure file paths :: do NOT have spaces in them (eg - NOT like: c:\Program Files\) :: IF NOT EXIST %1 GOTO USAGE IF NOT EXIST %2 GOTO USAGE SET LIB=.\lib SET CPATH=%LIB%\xalan.jar;%LIB%\xercesImpl.jar;%LIB%\xml-apis.jar :: transformer parameters that are usually set by the java :: code in morpho or in metacat. We have to pass them on the command line: SET TPARAMS=-PARAM qformat knb -PARAM action read echo Transforming XML file %1 to HTML format, using XSL file %2... echo (sending the following transform parameters to the parser) echo %TPARAMS% echo . java -cp %CPATH% org.apache.xalan.xslt.Process %TPARAMS% -IN %1 -XSL %2 -OUT %3 echo "Done. Results are in file %3 GOTO END :USAGE echo . echo . USAGE: echo . transform.bat INPUTXMLFILE.xml XSLFILE.xsl OUTPUTHTMLFILE.html echo . echo . Use absolute paths, not relative paths, echo . and ensure paths have no spaces in them echo . :END