======================================================================== * xdocs/sources/xsltc/README ======================================================================== ======================================================================= README FILE FOR THE SUN XSLT COMPILER Preview Version 6 April, 2001 ======================================================================= * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ======================================================================= The Sun XSLT Compiler (XSLTC) is a Java-based tool for compiling XSL stylesheets into extremely lightweight and portable Java byte code. The Sun XSLTC Java Runtime environment can then process XML files against these compiled stylesheets (Translets) to generate any manner of output per the style-sheet instructions. This preview version of the XSLT Compiler can be run on any platform -- including UNIX, Windows, NT, Mac -- that supports Java2 or later. The Translets (compiled stylesheets) can be run on any Java platform including a Palm Pilot with J2ME CLDC (Java 2 Micro Edition, Connected Limited Device Configuration). While the compiler itself requires Java2,translets are designed to run anywhere Java is available. Almost all functions of the XLST 1.0 language are implemented; more than enough to show you how this new approach to XSLT works and its advantages! Using the samples provided, you will be able to see for yourself. Also, demos for the Palm Pilot, Applets, and Servlets are provided. ----------------------------------------------------------------------- ATTRIBUTIONS ----------------------------------------------------------------------- The XSLT Compiler program uses the CUP Parser Generator for Java, Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian. For more details, please see: http://www.cs.princeton.edu/~appel/modern/java/CUP/ The XSLT Compiler program also uses a modified version of the Byte Code Engineering Library (BCEL), formerly known as (JavaClass API), Copyright 2000 Markus Dahm. ** Please note that this additional package, BCEL, is ** needed in order to generate the class files from the compiler. ** Without the BCEL package, this preview version of the ** compiler WILL NOT WORK. BCEL is freely available for ** download as described below. ----------------------------------------------------------------------- REQUIRED PACKAGE ----------------------------------------------------------------------- BCEL (formerly JavaClass) by Markus Dahm has been used to automatically create class files from the XSLT compiler output. You must obtain the BCEL.jar file and install it before using the XSLT compiler. The simplest way to download the BCEL.jar file from http://bcel.sourceforge.net/downloads.html is to use the "JAR file (without docs)" link. You may want to obtain the precompiled class files and documentation. To download them to a Unix system: 1) Choose the "latest version (Precompiled + docs)" Gzipped Tar-File or ZIP-File link. 2) Unpack and expand the downloaded BCEL files in your download directory (e.g., /usr/local). 3) Change directory to BCEL. 4) Create the jar file BCEL.jar. From within the BCEL directory, you can either use the included GNUmakefile or create the jar yourself. To use the GNUmakefile, type the command 'make jar'. To create the jar yourself, type the command: jar cvf BCEL.jar `find de gnu -name \*.class` listclass.class To download the precompiled class files and documentation to a Windows system: 1) Choose the "latest version (Precompiled + docs)" ZIP-File link. 2) Unzip the downloaded BCEL files in your download directory. 3) Change directory to BCEL and from a DOS command line, type the command: jar -cvf BCEL.jar de\fub\bytecode\classfile\*.class gnu\regexp\*.class listclass.class To complete the BCEL setup: 1) Install XSLTC, as described in the section below, "HOW TO INSTALL XSLTC AND RUN THE SAMPLES." 2) Copy the BCEL.jar file into the "lib" directory under your "xsltc" directory. You are now set to run the XSLT compiler. ------------------------------------------------------------ ADDITIONS FROM VERSION 5 (of the PREVIEW COMPILER) ------------------------------------------------------------ Support for - Simplified Stylesheets - id() and key() in match patterns ------------------------------------------------------------ XSLT 1.0 Features Not Suported in PREVIEW VERSION 6 ------------------------------------------------------------ The following XSLT 1.0 features are not yet supported: * Nonstatic external Java methods. You may call static Java functions using a namespace prefix matching the class name that is associated with the following URL: http://www.sun.com/xsltc/java/YourJavaClass * Namespace axis ------------------------------------------------------------ LIST OF FILES ------------------------------------------------------------ The files included in this preview package are as follows: xsltc-1_0-alpha5-bin.zip /xsltc LICENSE.txt (license file) XSLTCprn_lg.txt (copyright notice) README (this file) README.api (describes Translet API) README.xslt (describes runtime command line interface) README.xsltc (describes compiler command line interface) bin xslt (runtime for Unix) xsltc (compiler for Unix) xslt.bat (runtime for DOS) xsltc.bat (compiler for DOS) demo README TransletDemo.prc (Palm Pilot install file) lib xml.jar xsltc.jar xsltcrt.jar ('rt' = runtime) [BCEL.jar goes here] (see REQUIRED PACKAGE above) samples set of xml and xsl files for you to try src subset of the runtime package to complement README.api plus an Applet demo and a servlet demo com/sun/xslt/demo/servlet README.servlet (describes Servlet demo) com/sun/xslt/demo/applet README.applet (describes Applet demo) ------------------------------------------------------------ HOW TO INSTALL XSLTC AND RUN THE SAMPLES ------------------------------------------------------------ 1. Unzip the files in a directory of your choice, for example from the user directory '/home/user1', the distribution zip file can be unzipped using the jar command as: jar xvf xsltc-1_0-alpha5-bin.zip The subdirectory 'xslt' will be created in '/home/user1'. 2. Set the XSLT environment variable to point to your installation directory. Set your PATH environment variable to include the bin directory of XSLT. For example, in the bash shell: export XSLT=/home/user1/xslt export PATH=$XSLT/bin:$PATH 3. Compile the stylesheet to produce a Java class file. For example, on the Unix platform, to compile the play1.xsl stylesheet for the play.xml document: cd /home/user1/xsltc/samples xsltc play1.xsl The compiled stylesheet will be in the main Java class file 'play1.class' NOTE: The 'xlstc' shell script adds the required jars to your CLASSPATH For example, on the Windows platform, to compile the play1.xsl stylesheet for the play.xml document: set classpath=c:\xsltc\samples;c:\xsltc\lib\xsltc.jar; c:\xsltc\lib\xsltcrt.jar;c:\xsltc\lib\xml.jar; c:\xsltc\lib\BCEL.jar;. cd c:\xsltc\samples java com.sun.xslt.compiler.XSLTC play1.xsl 4. Use the compiled Java class file (play1.class) to transform the example XML document. For example, on the Unix platform: xslt play.xml play1 For example, on the Windows platform: java com.sun.xslt.runtime.DefaultRun play.xml play1 The result is sent to standard output. NOTE: When running the compiled stylesheet, you just specify the name of its Java class, not its file name (e.g., play1, not play1.class). You do not include the ".class" extension, nor the path to the class. The class is found by means of the Java CLASSPATH variable. If you run the translet from a directory other than the directory in which the compiled stylesheet class is located, you need to add that directory to your Java CLASSPATH. Also, you need to remove directories from your CLASSPATH for prior installations of XSLTC and any references to Sun's project X parser (com.sun.xml.tree) installed from some other XML application/tool. NOTE: The javadocToHtml sample calls external Java methods from the JavadocFormatter class. Before compiling the javadocToHtml.xsl stylesheet, compile the JavadocFormatter class using 'javac'. ------------------------------------------------------------ END OF README ======================================================================== * xdocs/sources/xsltc/README.APACHE ======================================================================== README.APACHE ===================================================================== * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ====================================================================== Entire source tree and support packages are located in the single jar file 'apache.jar'. Installation ------------- (1) create directory [Root], unpack 'apache.jar' there. ex) % cd /tmp; mkdir xsltc_apache % cd xsltc_apache copy apache.jar to xsltc_apache directory % jar xvf apache.jar cleanup % rm -rf META-INF apache.jar Unpacking the jar file will result in the following tree: [Root] External/ BCEL/ ... contains BCEL.jar JLex/ ... contains JLex.jar java_cup/ ... contains java_cup.jar, runtime/runtime.jar xml-tr2/ ... contains xml.jar bin/ xslt xsltc doc/ api/ ... contains javadoc for api src/ GNUmakefile GNUmakefile.allinc docs/ LICENSE.txt Message.txt README README.api README.xslt README.xsltc XSLTCprn_lg.txt* xsltcA3.txt org/ apache/ xalan/ xsltc/ (src tree) ... all the source code files The 'src tree' is a hierarchy of the following packages: org.apache.xalan.xsltc org.apache.xalan.xsltc.compiler org.apache.xalan.xsltc.compiler.util org.apache.xalan.xsltc.dom org.apache.xalan.xsltc.runtime org.apache.xalan.xsltc.util org.apache.xalan.xsltc.util.getopt (2) make bin programs executable % chmod +x bin/* (3) set env variable to point to top of directory [Root] ex) % setenv XSLT /tmp/xsltc_apache (4) compile sources (uses gnu make and the provides 'GNUmakefile'). This will create java classes in [Root]/classes, e.g. /tmp/xsltc_apache/classes. (No need to set your CLASSPATH variable.) ex) % cd src; gmake again Note: the 'again' target forces everything to be built from scratch, including the java_cup source files. Subsequent builds can be done using the 'classes' target. (5) make the javadoc ex) % gmake jdoc (6) add bin directory to your executable path, ex) % set path=($XSLT/bin $path) (7) test distribution, given a stylesheet (test.xsl) and an input xml doc (test.xml), and be sure current working directory (.) is in your CLASSPATH. % xsltc test.xsl ... creates translet, test.class % xslt test.xml test ... runs translet on xml input ======================================================================== * xdocs/sources/xsltc/README.api ======================================================================== ============================================================ README FILE FOR THE SUN XSLT COMPILER API Preview Version 5 February, 2001 ============================================================ * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ============================================================ The Sun XSLT Compiler (XSLTC) is a Java-based tool for compiling XSL stylesheets into extremely lightweight and portable Java byte code. The Sun XSLTC Java Runtime environment can then process XML files against these compiled stylesheets (Translets) to generate any manner of output per the style- sheet instructions. CONTENTS OF THIS DOCUMENT: 1. HOW TO INCLUDE TRANSLETS IN YOUR APPLICATIONS 2. FULL CODE EXAMPLE 1, (uses a SAX DocumentHandler). 3. COMPILING AND RUNNING THE EXAMPLE 4. FULL CODE EXAMPLE 2, (uses DefaultSAXOutputHandler). 5. APPENDIX (TextOut and DefaultSAXOutputHandler) 1. HOW TO INCLUDE TRANSLETS IN YOUR APPLICATIONS --------------------------------------------------------------------- Translets implement the interface com.sun.xslt.Translet that you will find in the src directory. public interface Translet { public void transform(DOM document, TransletOutputHandler handler) throws TransletException; public void transform(DOM document, TransletOutputHandler[] handlers) throws TransletException; public void transform(DOM document, NodeIterator iterator, TransletOutputHandler handler) throws TransletException; public Object addParameter(String name, Object value); public void buildKeys(DOM document, NodeIterator iterator, TransletOutputHandler handler, int root) throws TransletException; public String getOutputEncoding(); } The Translet takes a DOMImpl object (created from an input XML document), as input and transforms it. The results of the transformation are sent to an event-based output handler that implements the com.sun.xslt.TransletOutputHandler interface : public interface com.sun.xslt.TransletOutputHandler { public void startDocument() throws TransletException; public void endDocument() throws TransletException; public void characters(char[] characters, int offset, int length) throws TransletException; public void startElement(String elementName) throws TransletException; public void endElement(String elementName) throws TransletException; public void attribute(String attributeName, String attributeValue) throws TransletException; public void comment(String comment) throws TransletException; public void processingInstruction(String target, String data) throws TransletException; public void setType(int type); public void setIndent(boolean indent); public boolean setEscaping(boolean escape) throws TransletException; public void insertCdataElement(String elementName); } You create an instance of the class that implements the Translet interface using Java reflection: Class clazz = Class.forName("classname"); Translet translet = (Translet) clazz.newInstance(); where "classname" is the name of the class generated by XSLTC. In order to execute a transformation, both a document and a SAX-like handler (TransletOutputHandler) are needed. A document instance can be created with the aid of SAX-complaint XML parser. For example, using Sun's parser you would write, import com.sun.xslt.dom.DOMImpl; import com.sun.xml.parser.Parser; import com.sun.xml.parser.Resolver; // Create new instances of DOM and Parser DOMImpl dom = new DOMImpl(); Parser parser = new Parser(); // Set a SAX handler to build a DOM tree parser.setDocumentHandler(dom.getBuilder()); // Parse the document and build a DOM tree InputSource input = new InputSource( new FileReader("xmlfile.xml")); parser.parse(input); In this example a document is parsed from a file, but it is also possible to parse a document from a URI by writing, parser.parse("http://.../xmlfile.xml"); To transform the input XML document, a call is made to the translet's transform() method. In order to do its work, the transform() method takes two arguments, (1) the DOMImpl object created from parsing the input XML document, and (2) an output handler. The output handler must implement the org.xml.sax.DocumentHandler interface. You have the option of: (1) writing your own class that implements DocumentHandler, or (2) using our default class 'com.sun.xslt.runtime.DefaultSAXOutputHandler' instead. The source code for our DefaultSAXOutputHandler is included in this package in the com/sun/xslt/runtime directory. This is a change from the previous releases of our compiler API. If you wanted to create your own output handler in previous releases, you would have write a class that implemented the interface TransletOutputHandler. This change was made so that users could more easily plug in any SAX compliant output handler. To plug in the SAX compliant output handler, (whether it is a user written class or our DefaultSAXOutputHandler) into the transform() method, it must be wrapped in a TextOutput object first. The Translet.transform() method may also take an array of output handlers. In this case the transformation will be able to select which handler to send output to by using the extension element where 'n' is a 0-based index in the array of output handlers. Lets take a look at the code needed to carry out both of the options for passing the SAX output handler to the translet's transform() method: (1) You would write your own output handler that implements the org.xml.sax.DocumentHandler interface, pass this class into our com.sun.xslt.runtime.TextOutput class which itself implements the TransletOutputHandler interface. (2) You would create an instance of the default SAX output handler, com.sun.xslt.runtime.DefaultSAXOutputHandler, pass this instance into our com.sun.xslt.runtime.TextOutput class which itself implements the TransletOutputHandler interface. In option (1), we want to use a SAX compliant output handler that we write ourselves. In this case we create our Handler class, which implements org.xml.sax.DocumentHandler: import org.xml.sax.DocumentHandler; // user supplied SAX Handler: class Handler implements DocumentHandler { public void startDocument() throws SAXException {} public void endDocument() throws SAXException {} public void characters(char[] characters, int offset, int length) throws SAXException { System.out.println(new String(characters, offset, length)); } public void startElement(String elementName, AttributeList attrs) throws SAXException {} public void endElement(String elementName) throws SAXException {} public void setDocumentLocator(Locator loc) {} public void ignorableWhitespace(char[] characters, int offset, int length) throws SAXException {} public void processingInstruction(String target, String data) throws SAXException {} } Now before we pass our handler to the transform() method, we wrap it in a TextOutput object (which implements the TransletOutputHandler interface for us). Then given the instantiated translet class, the transform method could be called as: import com.sun.xslt.runtime.TextOutput; DOMImpl dom; ... Handler saxHandler; TextOutput textOutput; try { saxHandler = new Handler(); textOutput = new TextOutput(saxHandler); translet.transform(dom, textOutput); } catch (TransletException e){ ... } catch (IOException e){ ... } By using the TextOutput wrapper class, one can also control the character encoding. The TextOutput class has an additional constructor that takes the DocumentHandler and a String that describes the encoding, for example 'textOutput' could have been created as: textOutput = new TextOutput(saxHandler, "utf-8"); Finally, option (2) is much like option (1) except you do not have to write your own DocumentHandler. We provide one by default. To use the default one, instantiate 'com.sun.xslt.runtime.DefaultSAXOutputHandler' rather than instantiating your own class (such as Handler above): import com.sun.xslt.runtime.DefaultSAXOutputHandler; import com.sun.xslt.runtime.TextOutput; DefaultSAXOutputHandler defhandlr; try { defhandlr = new DefaultSAXOutputHandler(System.out, "utf-8"); translet.transform(dom, new TextOutput(defhandlr)); } catch (TransletException e){ ... } catch (IOException e){ ... } For a quick reference to the TextOutput and DefaultSAXOutputHandler constructors available, see the Appendix. In the following sections, full code examples are shown. Finally, if you want the transformation results in the DOM form: DOM result = new DOM(); translet.transform(dom, result.getOutputDomBuilder()); If the compiled stylesheet requires the values of global parameters to be set, you should call addParameter() before calling the transform() method. 2. FULL CODE EXAMPLE 1, XsltApp.java, uses a SAX DocumentHandler. This example corresponds to option (1) in discussion above. ------------------------------------------------------------------ import java.io.FileReader; import java.io.IOException; import com.sun.xslt.dom.DOMImpl; import com.sun.xslt.runtime.TextOutput; import com.sun.xslt.Translet; import com.sun.xslt.TransletException; import com.sun.xml.parser.Parser; import org.xml.sax.AttributeList; import org.xml.sax.DocumentHandler; import org.xml.sax.InputSource; import org.xml.sax.Locator; import org.xml.sax.SAXException; // Create a SAX Output Handler class Handler implements DocumentHandler { public void startDocument() throws SAXException {} public void endDocument() throws SAXException {} public void characters(char[] characters, int offset, int length) throws SAXException { System.out.println(new String(characters, offset, length)); } public void startElement(String elementName, AttributeList attrs) throws SAXException {} public void endElement(String elementName) throws SAXException {} public void setDocumentLocator(Locator loc) {} public void ignorableWhitespace(char[] characters, int offset, int length) throws SAXException {} public void processingInstruction(String target, String data) throws SAXException {} } public class XsltApp { public static void main(String[] args){ XsltApp app = new XsltApp(); app.run(args); } public void run(String[] args){ if(args.length != 2){ usage(); } String inputFileName = args[0]; String transletName = args[1]; DOMImpl dom = new DOMImpl(); Parser parser = new Parser(); parser.setDocumentHandler(dom.getBuilder()); InputSource input = null; try { input = new InputSource(new FileReader(inputFileName)); } catch( java.io.FileNotFoundException e){ System.err.println("File " + inputFileName + " not found"); System.exit(1); } try { parser.parse(input); } catch (org.xml.sax.SAXException e){ System.err.println("Error: " + e); System.exit(1); } catch (IOException e){ System.err.println("Error: " + e); System.exit(1); } Class transletPluggable = null; try { transletPluggable = Class.forName(transletName); } catch (java.lang.ClassNotFoundException e){ System.err.println("Error: " + e); System.exit(1); } Translet translet = null; try { translet = (Translet)transletPluggable.newInstance(); } catch (java.lang.Exception e){ System.err.println("Error instantiating pluggable translet"); System.exit(1); } Handler saxHandler; TextOutput textOutput; try { saxHandler = new Handler(); textOutput = new TextOutput(saxHandler, "utf-8"); translet.transform(dom, textOutput); } catch (TransletException e){ System.err.println("Error: " + e); System.exit(1); } catch (IOException e){ System.err.println("Error: " + e); System.exit(1); } } public void usage(){ System.out.println("Usage: \n" + " xsltapp \n\n" + " where is xml source (e.g. play.xml). \n" + " and is java class (e.g. play1). \n" ); System.exit(1); } } 3. COMPILING AND RUNNING THE EXAMPLE: --------------------------------------------------------------------- To compile the example above, assuming you unpacked the code into the directory /tmp: javac -classpath "/tmp/xsltc/lib/xml.jar:/tmp/xsltc/lib/BCEL.jar:/tmp/xsltc /lib/xsltcrt.jar" XsltApp.java To run the example on xml document 'play.xml' and stylesheet 'play1.xsl': (1) compile the stylesheet: xsltc play1.xsl this will produce the translet 'play1.class'. (2) run the translet with the XsltApp demo: java -classpath /tmp/xsltc/lib/xsltcrt.jar:/tmp/xsltc/lib/xml.jar:. XsltApp play .xml play1 4. FULL CODE EXAMPLE 2, DefaultRun.java This example corresponds to option (2) in the discussion above. ------------------------------------------------------------------ See the source file for the class 'com.sun.xslt.runtime.DefaultRun', which is included in the src directory. It uses the 'DefaultSAXOutputHandler' approach. 5. APPENDIX ------------------------------------------------------------------ TextOutput ---------- package com.sun.xslt.runtime; public final class TextOutput implements TransletOutputHandler { public TextOutput(DocumentHandler handler) throws IOException; public TextOutput(DocumentHandler handler, String encoding) throws IOException; } DefaultSAXOutputHandler ----------------------- package com.sun.xslt.runtime; public class DefaultSAXOutputHandler implements DocumentHandler{ public DefaultSAXOutputHandler(Writer writer) throws IOException; public DefaultSAXOutputHandler(OutputStream out, String encoding) throws IOException; public DefaultSAXOutputHandler(String filename, String encoding) throws IOException; ... } ------------------------------------------------------------ END OF README ======================================================================== * xdocs/sources/xsltc/README2 ======================================================================== README.APACHE ===================================================================== * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ===================================================================== Entire source tree and support packages are located in the single jar file 'apache.jar'. Installation ------------- (1) create directory [Root], unpack 'apache.jar' there. ex) % cd /tmp; mkdir xsltc_apache % cd xsltc_apache copy apache.jar to xsltc_apache directory % jar xvf apache.jar cleanup % rm -rf META-INF apache.jar Unpacking the jar file will result in the following tree: [Root] External/ BCEL/ ... contains BCEL.jar JLex/ ... contains JLex.jar java_cup/ ... contains java_cup.jar, runtime/runtime.jar xml-tr2/ ... contains xml.jar bin/ xslt xsltc doc/ api/ ... contains javadoc for api src/ GNUmakefile GNUmakefile.allinc docs/ LICENSE.txt Message.txt README README.api README.xslt README.xsltc XSLTCprn_lg.txt* xsltcA3.txt org/ apache/ xalan/ xsltc/ (src tree) ... all the source code files The 'src tree' is a hierarchy of the following packages: org.apache.xalan.xsltc org.apache.xalan.xsltc.compiler org.apache.xalan.xsltc.compiler.util org.apache.xalan.xsltc.dom org.apache.xalan.xsltc.runtime org.apache.xalan.xsltc.util org.apache.xalan.xsltc.util.getopt (2) make bin programs executable % chmod +x bin/* (3) set env variable to point to top of directory [Root] ex) % setenv XSLT /tmp/xsltc_apache (4) compile sources (uses gnu make and the provides 'GNUmakefile'). This will create java classes in [Root]/classes, e.g. /tmp/xsltc_apache/classes. (No need to set your CLASSPATH variable.) ex) % cd src; gmake again Note: the 'again' target forces everything to be built from scratch, including the java_cup source files. Subsequent builds can be done using the 'classes' target. (5) make the javadoc ex) % gmake jdoc (6) add bin directory to your executable path, ex) % set path=($XSLT/bin $path) (7) test distribution, given a stylesheet (test.xsl) and an input xml doc (test.xml), and be sure current working directory (.) is in your CLASSPATH. % xsltc test.xsl ... creates translet, test.class % xslt test.xml test ... runs translet on xml input ======================================================================== * LICENSE.txt ======================================================================== <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The license above applies to this Apache Xalan release of: Xalan-Java 2 - XSLT Processor Xalan-Java 2 - Serializer The license above also applies to the jar files xalan.jar and xsltc.jar - Xalan-Java 2 - XSLT Processor from Source: http://xalan.apache.org/ The license above also applies to the jar file serializer.jar - Xalan-Java 2 - Serializer Source: http://xalan.apache.org/ Used by: Xalan-Java 2 and Xerces-Java 2 The license above also applies to the jar file xercesImpl.jar - Xerces-Java 2 XML Parser. Source: http://xerces.apache.org/ Used by: Xalan-Java 2 The license above also applies to the jar file xml-apis.jar - Xerces-Java 2 XML Parser. Source: http://xerces.apache.org/ Used by: Xalan-Java 2 and release copy of Xerces-Java 2 The following license applies to the included files: tools/ant.jar tools/antRun tools/antRun.bat Source: http://ant.apache.org/ Used By: Xalan's build process: java/build.xml and test/build.xml <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /* * ============================================================================ * The Apache Software License, Version 1.1 * ============================================================================ * * Copyright (C) 1999 The Apache Software Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. The end-user documentation included with the redistribution, if any, must * include the following acknowledgment: "This product includes software * developed by the Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, if * and wherever such third-party acknowledgments normally appear. * * 4. The names "Ant" and "Apache Software Foundation" must not be used to * endorse or promote products derived from this software without prior * written permission. For written permission, please contact * apache@apache.org. * * 5. Products derived from this software may not be called "Apache", nor may * "Apache" appear in their name, without prior written permission of the * Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation. For more information on the * Apache Software Foundation, please see . * */ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license, Apache Software License, Version 1.1, applies to the included BCEL.jar from Apache Jakarta (Byte Code Engineering Library). Source: http://jakarta.apache.org/bcel Used By: XSLTC component of xml-xalan/java The following license, Apache Software License, Version 1.1, also applies to the included regexp.jar, jakarta-regexp-1.2.jar from Apache Jakarta. Source: http://jakarta.apache.org/regexp Used By: BCEL.jar which is used by XSLTC component of xml-xalan/java <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /* * * Copyright (c) 2001 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and * "Apache BCEL" must not be used to endorse or promote products * derived from this software without prior written permission. For * written permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", * "Apache BCEL", nor may "Apache" appear in their name, without * prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * . */ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the DOM documentation for the org.w3c.dom.* packages: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< W3C® DOCUMENT LICENSE http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231 Public documents on the W3C site are provided by the copyright holders under the following license. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: 1. A link or URL to the original W3C document. 2. The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231" 3. If it exists, the STATUS of the W3C document. When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements. THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. ---------------------------------------------------------------------------- This formulation of W3C's notice and license became active on December 31 2002. This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, moves information on style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, such as the translating or annotating specifications. Other questions about this notice can be directed to site-policy@w3.org. Joseph Reagle >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the DOM software, for the org.w3c.dom.* packages in jar file xml-apis.jar: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< W3C® SOFTWARE NOTICE AND LICENSE http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications: 1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code. 3. Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.) THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders. ____________________________________ This formulation of W3C's notice and license became active on December 31 2002. This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". Otherwise, this version is the same as the previous version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and OSI's certification under the Open Source Definition. Please see our Copyright FAQ for common questions about using materials from our site, including specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org. Joseph Reagle >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the SAX software, for the org.xml.sax.* packages in jar file xml-apis.jar: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the jar file java_cup.jar - LALR Parser Generator for Java(TM). Source: http://www.cs.princeton.edu/~appel/modern/java/CUP Used By: XSLTC component of xml-xalan/java <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CUP Parser Generator Copyright Notice, License, and Disclaimer Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the jar file runtime.jar - Component of JavaCup: LALR Parser Generator for Java(TM). Source: http://www.cs.princeton.edu/~appel/modern/java/CUP Used By: XSLTC component of xml-xalan/java <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CUP Parser Generator Copyright Notice, License, and Disclaimer (runtime.jar component) Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the JLEX jar file JLex.jar - A Lexical Analyzer Generator for Java(TM). Source: http://www.cs.princeton.edu/~appel/modern/java/JLex Used By: XSLTC component of xml-xalan/java <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. Copyright 1996-2000 by Elliot Joel Berk and C. Scott Ananian Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. Java is a trademark of Sun Microsystems, Inc. References to the Java programming language in relation to JLex are not meant to imply that Sun endorses this product. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The following license applies to the jar file stylebook-1.0-b3_xalan-2.jar - Tool for generating Xalan documentation. Integrated with Xalan-Java 2 and Xerces 2. Source: http://svn.apache.org/viewvc/xml/stylebook/ Used by: Xalan-Java 2, Xalan-C++ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /* * The Apache Software License, Version 1.1 * * * Copyright (c) 1999 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xalan", "Xerces", and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation and was * originally based on software copyright (c) 1999, International * Business Machines, Inc., http://www.apache.org. For more * information on the Apache Software Foundation, please see * . */ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>