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
|