Project

General

Profile

1 2823 brooke
@echo off
2
3
::
4
:: '$Id$'
5
::
6
:: Matthew Brooke
7
:: 8 December 2005
8
::
9
:: Command-line XSLT
10
::
11
:: Takes 3 command-line arguments:
12
:: 1) an existing XML document,
13
:: 2) an existing XSL document, and
14
:: 3) an HTML document (existing or not)
15
:: It then uses the XSL document to transform
16
:: the XML into HTML.
17
:: (Note that HTML is the common usage - however,
18
:: many other types of output documents are supported,
19
:: limited only buy the XSL stylesheet itself)
20
::
21
:: TROUBLESHOOTING:
22
::
23
:: i) ASSUMES the existence of:
24
::              .\lib\xalan.jar,
25
::              .\lib\xalan.jar\xercesImpl.jar, and
26
::              .\lib\xalan.jar\xml-apis.jar
27
::
28
:: ii) Use absolute paths, not relative paths, for
29
:: the XML, XSL and HTML files. Make sure file paths
30
:: do NOT have spaces in them (eg - NOT like: c:\Program Files\)
31
::
32
33
IF NOT EXIST %1 GOTO USAGE
34
IF NOT EXIST %2 GOTO USAGE
35
36
SET LIB=.\lib
37
38
SET CPATH=%LIB%\xalan.jar;%LIB%\xercesImpl.jar;%LIB%\xml-apis.jar
39
40
41
:: transformer parameters that are usually set by the java
42
:: code in morpho or in metacat. We have to pass them on the command line:
43
44
SET TPARAMS=-PARAM qformat knb -PARAM action read
45
46
echo Transforming XML file %1 to HTML format, using XSL file %2...
47
echo (sending the following transform parameters to the parser)
48
echo %TPARAMS%
49
echo .
50
51
java -cp %CPATH% org.apache.xalan.xslt.Process %TPARAMS% -IN %1 -XSL %2 -OUT %3
52
53
echo "Done. Results are in file %3
54
55
GOTO END
56
57
:USAGE
58
59
echo .
60
echo . USAGE:
61
echo . transform.bat INPUTXMLFILE.xml   XSLFILE.xsl   OUTPUTHTMLFILE.html
62
echo .
63
echo . Use absolute paths, not relative paths,
64
echo . and ensure paths have no spaces in them
65
echo .
66
67
:END