## org.apache.xalan.xsltc.trax
Class TemplatesHandlerImpl

    java.lang.Object
      org.apache.xalan.xsltc.trax.TemplatesHandlerImpl

All Implemented Interfaces:
  ContentHandler, SourceLoader, TemplatesHandler

public class TemplatesHandlerImpl
extends java.lang.Object
implements ContentHandler, TemplatesHandler, SourceLoader

Implementation of a JAXP1.1 TemplatesHandler

Author:
  Morten Jorgensen, Santiago Pericas-Geertsen

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.
`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.
`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(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(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, 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
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 `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 `TemplatesHandler`
  Parameters:
    `id` - Base URI for this stylesheet

### setURIResolver

    public void setURIResolver(URIResolver resolver)

  Store URIResolver needed for Transformers.

### getTemplates

    public 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 `TemplatesHandler`
  Returns:
    The Templates object that was created during the SAX event process, or null if no Templates object has been created.

### loadSource

    public 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 `ContentHandler`
  See Also:
    `ContentHandler.endDocument()`

### endDocument

    public void endDocument()
                     throws SAXException

  Just forward SAX2 event to parser object.

  Specified by:
    `endDocument` in interface `ContentHandler`
  Throws:
    `SAXException` - Any SAX exception, possibly wrapping another exception.
  See Also:
    `ContentHandler.startDocument()`

### startPrefixMapping

    public void startPrefixMapping(java.lang.String prefix,
                                   java.lang.String uri)

  Just forward SAX2 event to parser object.

  Specified by:
    `startPrefixMapping` in interface `ContentHandler`
  Parameters:
    `prefix` - The Namespace prefix being declared. An empty string is used for the default element namespace, which has no prefix.
    `uri` - The Namespace URI the prefix is mapped to.
  See Also:
    `ContentHandler.endPrefixMapping(java.lang.String)`, `ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)`

### endPrefixMapping

    public void endPrefixMapping(java.lang.String prefix)

  Just forward SAX2 event to parser object.

  Specified by:
    `endPrefixMapping` in interface `ContentHandler`
  Parameters:
    `prefix` - The prefix that was being mapping. This is the empty string when a default mapping scope ends.
  See Also:
    `ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)`, `ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)`

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localname,
                             java.lang.String qname,
                             Attributes attributes)
                      throws SAXException

  Just forward SAX2 event to parser object.

  Specified by:
    `startElement` in interface `ContentHandler`
  Parameters:
    `uri` - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
    `localname` - The local name (without prefix), or the empty string if Namespace processing is not being performed.
    `qname` - The qualified name (with prefix), or the empty string if qualified names are not available.
    `attributes` - The attributes attached to the element. If there are no attributes, it shall be an empty Attributes object.
  Throws:
    `SAXException` - Any SAX exception, possibly wrapping another exception.
  See Also:
    `ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)`, `Attributes`

### 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 `ContentHandler`
  Parameters:
    `uri` - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
    `localname` - The local name (without prefix), or the empty string if Namespace processing is not being performed.
    `qname` - The qualified XML 1.0 name (with prefix), or the empty string if qualified names are not available.

### characters

    public void characters(char[] ch,
                           int start,
                           int length)

  Just forward SAX2 event to parser object.

  Specified by:
    `characters` in interface `ContentHandler`
  Parameters:
    `ch` - The characters from the XML document.
    `start` - The start position in the array.
    `length` - The number of characters to read from the array.
  See Also:
    `ContentHandler.ignorableWhitespace(char[], int, int)`, `Locator`

### processingInstruction

    public void processingInstruction(java.lang.String name,
                                      java.lang.String value)

  Just forward SAX2 event to parser object.

  Specified by:
    `processingInstruction` in interface `ContentHandler`
  Parameters:
    `name` - The processing instruction target.
    `value` - The processing instruction data, or null if none was supplied. The data does not include any whitespace separating it from the target.

### ignorableWhitespace

    public void ignorableWhitespace(char[] ch,
                                    int start,
                                    int length)

  Just forward SAX2 event to parser object.

  Specified by:
    `ignorableWhitespace` in interface `ContentHandler`
  Parameters:
    `ch` - The characters from the XML document.
    `start` - The start position in the array.
    `length` - The number of characters to read from the array.
  See Also:
    `ContentHandler.characters(char[], int, int)`

### skippedEntity

    public void skippedEntity(java.lang.String name)

  Just forward SAX2 event to parser object.

  Specified by:
    `skippedEntity` in interface `ContentHandler`
  Parameters:
    `name` - The name of the skipped entity. If it is a parameter entity, the name will begin with '%', and if it is the external DTD subset, it will be the string "[dtd]".

### setDocumentLocator

    public void setDocumentLocator(Locator locator)

  Set internal system Id and forward SAX2 event to parser object.

  Specified by:
    `setDocumentLocator` in interface `ContentHandler`
  Parameters:
    `locator` - An object that can return the location of any SAX document event.
  See Also:
    `Locator`

Copyright © 2004 Apache XML Project. All Rights Reserved.