org.apache.xalan.xsltc.trax
Class TemplatesHandlerImpl

java.lang.Object
  extended by org.apache.xalan.xsltc.trax.TemplatesHandlerImpl
All Implemented Interfaces:
javax.xml.transform.sax.TemplatesHandler, SourceLoader, org.xml.sax.ContentHandler

public class TemplatesHandlerImpl
extends java.lang.Object
implements org.xml.sax.ContentHandler, javax.xml.transform.sax.TemplatesHandler, SourceLoader

Implementation of a JAXP1.1 TemplatesHandler


Field Summary
private  int _indentNumber
          Number of spaces to add for output indentation.
private  Parser _parser
          A reference to XSLTC's parser object.
private  java.lang.String _systemId
          System ID for this stylesheet.
private  TemplatesImpl _templates
          The created Templates object.
private  TransformerFactoryImpl _tfactory
          A reference to the transformer factory that this templates object belongs to.
private  javax.xml.transform.URIResolver _uriResolver
          This URIResolver is passed to all Transformers.
 
Constructor Summary
protected TemplatesHandlerImpl(int indentNumber, TransformerFactoryImpl tfactory)
          Default constructor
 
Method Summary
 void characters(char[] ch, int start, int length)
          Just forward SAX2 event to parser object.
 void endDocument()
          Just forward SAX2 event to parser object.
 void endElement(java.lang.String uri, java.lang.String localname, java.lang.String qname)
          Just forward SAX2 event to parser object.
 void endPrefixMapping(java.lang.String prefix)
          Just forward SAX2 event to parser object.
 java.lang.String getSystemId()
          Implements javax.xml.transform.sax.TemplatesHandler.getSystemId() Get the base ID (URI or system ID) from where relative URLs will be resolved.
 javax.xml.transform.Templates getTemplates()
          Implements javax.xml.transform.sax.TemplatesHandler.getTemplates() When a TemplatesHandler object is used as a ContentHandler or DocumentHandler for the parsing of transformation instructions, it creates a Templates object, which the caller can get once the SAX events have been completed.
 void ignorableWhitespace(char[] ch, int start, int length)
          Just forward SAX2 event to parser object.
 org.xml.sax.InputSource loadSource(java.lang.String href, java.lang.String context, XSLTC xsltc)
          This method implements XSLTC's SourceLoader interface.
 void processingInstruction(java.lang.String name, java.lang.String value)
          Just forward SAX2 event to parser object.
 void setDocumentLocator(org.xml.sax.Locator locator)
          Set internal system Id and forward SAX2 event to parser object.
 void setSystemId(java.lang.String id)
          Implements javax.xml.transform.sax.TemplatesHandler.setSystemId() Get the base ID (URI or system ID) from where relative URLs will be resolved.
 void setURIResolver(javax.xml.transform.URIResolver resolver)
          Store URIResolver needed for Transformers.
 void skippedEntity(java.lang.String name)
          Just forward SAX2 event to parser object.
 void startDocument()
          Re-initialize parser and forward SAX2 event.
 void startElement(java.lang.String uri, java.lang.String localname, java.lang.String qname, org.xml.sax.Attributes attributes)
          Just forward SAX2 event to parser object.
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
          Just forward SAX2 event to parser object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_systemId

private java.lang.String _systemId
System ID for this stylesheet.


_indentNumber

private int _indentNumber
Number of spaces to add for output indentation.


_uriResolver

private javax.xml.transform.URIResolver _uriResolver
This URIResolver is passed to all Transformers.


_tfactory

private TransformerFactoryImpl _tfactory
A reference to the transformer factory that this templates object belongs to.


_parser

private Parser _parser
A reference to XSLTC's parser object.


_templates

private TemplatesImpl _templates
The created Templates object.

Constructor Detail

TemplatesHandlerImpl

protected TemplatesHandlerImpl(int indentNumber,
                               TransformerFactoryImpl tfactory)
Default constructor

Method Detail

getSystemId

public java.lang.String getSystemId()
Implements javax.xml.transform.sax.TemplatesHandler.getSystemId() Get the base ID (URI or system ID) from where relative URLs will be resolved.

Specified by:
getSystemId in interface javax.xml.transform.sax.TemplatesHandler
Returns:
The systemID that was set with setSystemId(String id)

setSystemId

public void setSystemId(java.lang.String id)
Implements javax.xml.transform.sax.TemplatesHandler.setSystemId() Get the base ID (URI or system ID) from where relative URLs will be resolved.

Specified by:
setSystemId in interface javax.xml.transform.sax.TemplatesHandler
Parameters:
id - Base URI for this stylesheet

setURIResolver

public void setURIResolver(javax.xml.transform.URIResolver resolver)
Store URIResolver needed for Transformers.


getTemplates

public javax.xml.transform.Templates getTemplates()
Implements javax.xml.transform.sax.TemplatesHandler.getTemplates() When a TemplatesHandler object is used as a ContentHandler or DocumentHandler for the parsing of transformation instructions, it creates a Templates object, which the caller can get once the SAX events have been completed.

Specified by:
getTemplates in interface javax.xml.transform.sax.TemplatesHandler
Returns:
The Templates object that was created during the SAX event process, or null if no Templates object has been created.

loadSource

public org.xml.sax.InputSource loadSource(java.lang.String href,
                                          java.lang.String context,
                                          XSLTC xsltc)
This method implements XSLTC's SourceLoader interface. It is used to glue a TrAX URIResolver to the XSLTC compiler's Input and Import classes.

Specified by:
loadSource in interface SourceLoader
Parameters:
href - The URI of the document to load
context - The URI of the currently loaded document
xsltc - The compiler that resuests the document
Returns:
An InputSource with the loaded document

startDocument

public void startDocument()
Re-initialize parser and forward SAX2 event.

Specified by:
startDocument in interface org.xml.sax.ContentHandler

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Just forward SAX2 event to parser object.

Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
Just forward SAX2 event to parser object.

Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
Just forward SAX2 event to parser object.

Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localname,
                         java.lang.String qname,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
Just forward SAX2 event to parser object.

Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localname,
                       java.lang.String qname)
Just forward SAX2 event to parser object.

Specified by:
endElement in interface org.xml.sax.ContentHandler

characters

public void characters(char[] ch,
                       int start,
                       int length)
Just forward SAX2 event to parser object.

Specified by:
characters in interface org.xml.sax.ContentHandler

processingInstruction

public void processingInstruction(java.lang.String name,
                                  java.lang.String value)
Just forward SAX2 event to parser object.

Specified by:
processingInstruction in interface org.xml.sax.ContentHandler

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
Just forward SAX2 event to parser object.

Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler

skippedEntity

public void skippedEntity(java.lang.String name)
Just forward SAX2 event to parser object.

Specified by:
skippedEntity in interface org.xml.sax.ContentHandler

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Set internal system Id and forward SAX2 event to parser object.

Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler