Package com.jclark.xsl.sax

The SAX (version 1) API for XT

See:
          Description

Interface Summary
CommentHandler receives comment events from a parser, a la SAX1.0
Destination represents the output destination for an XML document
OutputDocumentHandler a SAX1 DocumentHandler that serializes to a Destination
OutputMethodHandler constructs a DocumentHandler appropriate for a given output method (which typically is determined by the stylesheet) and destination (which is determined externally)
RawCharactersHandler  
ResultTreeFragment  
SaxFilterMaker an object which is able to provide a SAX2 XMLFilter We use these for some experimental XSLT extension elements
XMLProcessorEx extended public interface for an XMLProcessor, which loads an XML source into our own DOM-like structure
XMLProcessorImpl.Builder  
XSLProcessor typical usage:
 

Class Summary
Driver A Command line driver program for XSLProcessor
EncodingName maps between Java and IANA character encoding names
ExtensionHandlerImpl for invoking XSLT extension functions (??)
FileDescriptorDestination e.g stdout
FileDestination Represents a file to which we can write the results of a transformation
GenericDestination  
HTMLOutputHandler A OutputDocumentHandler that writes an HTML representation.
Indenter performs "pretty-printing" by wrapping another OutputDocumentHandler, intercepting SAX events, and inserting whitespace events as appropriate.
MultiNamespaceResult  
NXMLOutputHandler an output handler that handles our special technique for non XML characters
OutputMethodHandlerImpl produces a DocumentHandler suitable for a given output method i.e text, XML, etc and destination
OutputStreamDestination  
ResultBase abstract base class represents the results of executing a stylesheet Action -- constructs result components.
ServletDestination  
TextOutputHandler An object which serailizes SAX 1 events to raw text
XMLOutputHandler A DocumentHandler that writes an XML representation to an OutputStream.
XMLProcessorImpl parses a source doc or stylesheet into our own DOM like structure
XSLProcessorImpl An XSLT Processor
XSLServlet an example servlet which compiles and caches a stylesheet, then with each "GET" transforms the requested file
 

Package com.jclark.xsl.sax Description

The SAX (version 1) API for XT

This package provides APIs for invoking XT with SAX 1 parsers providing input stylesheets and source document

This version of XT continues the public interface of earlier versions. This interface is defined in com.jclark.xsl.sax.XSLProcessor which is implemented by com.jclark.xsl.sax.XSLProcessorImpl. This interface is based on SAX 1.

There is also a simple API based purely on the DOM in the package com.jclark.xsl.dom

A demonstration is provided of XT used in a servlet. This requires a servlet engine that implements at least version 2.1 of the Java Servlet API. The servlet class is com.jclark.xsl.sax.XSLServlet. The servlet requires an init parameter stylesheet; the value is the path of the stylesheet in a form suitable to be passed to ServletContext.getResource. The translated path gives the XML document to be transformed. An extension of .xml will be automatically added to the translated path if necessary. (Some browsers assume that a URL ending in .xml is an XML document.) Parameters from the query part of the URL are passed in as parameters to the stylesheet. The stylesheet is cached on initialization.