|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.xml.sax.helpers.DefaultHandler | +--org.apache.xalan.processor.StylesheetHandler
Initializes and processes a stylesheet via SAX events. This class acts as essentially a state machine, maintaining a ContentHandler stack, and pushing appropriate content handlers as parse events occur.
Field Summary | |
static int |
STYPE_IMPORT
If getStylesheetType returns this value, the current stylesheet is an imported stylesheet. |
static int |
STYPE_INCLUDE
If getStylesheetType returns this value, the current stylesheet is an included stylesheet. |
static int |
STYPE_ROOT
If getStylesheetType returns this value, the current stylesheet is a root stylesheet. |
Constructor Summary | |
StylesheetHandler(TransformerFactoryImpl processor)
Create a StylesheetHandler object, creating a root stylesheet as the target. |
Method Summary | |
void |
characters(char[] ch,
int start,
int length)
Receive notification of character data inside an element. |
XPath |
createXPath(java.lang.String str,
ElemTemplateElement owningTemplate)
Process an expression string into an XPath. |
void |
endDocument()
Receive notification of the end of the document. |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String rawName)
Receive notification of the end of an element. |
void |
endPrefixMapping(java.lang.String prefix)
Receive notification of the end of a Namespace mapping. |
void |
error(SAXParseException e)
Receive notification of a recoverable XSLT processing error. |
void |
fatalError(SAXParseException e)
Report a fatal XSLT processing error. |
java.lang.String |
getBaseIdentifier()
Return the base identifier. |
boolean |
getIncremental()
|
SAXSourceLocator |
getLocator()
Get the current stylesheet Locator object. |
java.lang.String |
getNamespaceForPrefix(java.lang.String prefix)
Given a namespace, get the corrisponding prefix from the current namespace support context. |
java.lang.String |
getNamespaceForPrefix(java.lang.String prefix,
Node context)
Given a namespace, get the corrisponding prefix. |
boolean |
getOptimize()
|
Node |
getOriginatingNode()
Set the node that is originating the SAX event. |
XSLTSchema |
getSchema()
Get the root of the XSLT Schema, which tells us how to transition content handlers, create elements, etc. |
boolean |
getSource_location()
|
TransformerFactoryImpl |
getStylesheetProcessor()
Get the XSLT TransformerFactoryImpl for needed services. |
StylesheetRoot |
getStylesheetRoot()
Return the stylesheet root that this handler is constructing. |
java.lang.String |
getSystemId()
Get the base ID (URI or system ID) from where relative URLs will be resolved. |
Templates |
getTemplates()
When this object is used as a ContentHandler or ContentHandler, it will create a Templates object, which the caller can get once the SAX events have been completed. |
boolean |
handlesNullPrefixes()
|
void |
ignorableWhitespace(char[] ch,
int start,
int length)
Receive notification of ignorable whitespace in element content. |
boolean |
isStylesheetParsingComplete()
Test whether the _last_ endDocument() has been processed. |
void |
notationDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
Receive notification of a notation declaration. |
void |
processingInstruction(java.lang.String target,
java.lang.String data)
Receive notification of a processing instruction. |
void |
pushStylesheet(Stylesheet s)
Push the current stylesheet being constructed. |
InputSource |
resolveEntity(java.lang.String publicId,
java.lang.String systemId)
Resolve an external entity. |
void |
setDocumentLocator(Locator locator)
Receive a Locator object for document events. |
void |
setOriginatingNode(Node n)
Set the node that is originating the SAX event. |
void |
setSystemId(java.lang.String baseID)
Set the base ID (URL or system ID) for the stylesheet created by this builder. |
void |
skippedEntity(java.lang.String name)
Receive notification of a skipped entity. |
void |
startDocument()
Receive notification of the beginning of the document. |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String rawName,
Attributes attributes)
Receive notification of the start of an element. |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri)
Receive notification of the start of a Namespace mapping. |
void |
unparsedEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notationName)
Receive notification of an unparsed entity declaration. |
void |
warn(java.lang.String msg,
java.lang.Object[] args)
Warn the user of an problem. |
void |
warning(SAXParseException e)
Receive notification of a XSLT processing warning. |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
public static final int STYPE_ROOT
public static final int STYPE_INCLUDE
public static final int STYPE_IMPORT
Constructor Detail |
public StylesheetHandler(TransformerFactoryImpl processor) throws TransformerConfigurationException
processor
- non-null reference to the transformer factory that owns this handler.Method Detail |
public XPath createXPath(java.lang.String str, ElemTemplateElement owningTemplate) throws TransformerException
str
- A non-null reference to a valid or invalid XPath expression string.public java.lang.String getNamespaceForPrefix(java.lang.String prefix)
prefix
- The prefix to look up, which may be an empty string ("") for the default Namespace.public java.lang.String getNamespaceForPrefix(java.lang.String prefix, Node context)
PrefixResolver
interface,
and will throw an error if invoked on this object.prefix
- The prefix to look up, which may be an empty string ("") for the default Namespace.context
- The node context from which to look up the URI.public Templates getTemplates()
public void setSystemId(java.lang.String baseID)
baseID
- Base URL for this stylesheet.public java.lang.String getSystemId()
setSystemId(java.lang.String)
.public InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId) throws SAXException
publicId
- The public identifer, or null if none is
available.systemId
- The system identifier provided in the XML
document.public void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
By default, do nothing. Application writers may override this method in a subclass if they wish to keep track of the notations declared in a document.
name
- The notation name.publicId
- The notation public identifier, or null if not
available.systemId
- The notation system identifier.DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
public void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)
name
- The entity name.publicId
- The entity public identifier, or null if not
available.systemId
- The entity system identifier.notationName
- The name of the associated notation.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public void setDocumentLocator(Locator locator)
locator
- A locator for all SAX document events.ContentHandler.setDocumentLocator(org.xml.sax.Locator)
,
Locator
public void startDocument() throws SAXException
ContentHandler.startDocument()
public boolean isStylesheetParsingComplete()
public void endDocument() throws SAXException
ContentHandler.endDocument()
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws SAXException
By default, do nothing. Application writers may override this method in a subclass to take specific actions at the start of each element (such as allocating a new tree node or writing output to a file).
prefix
- The Namespace prefix being declared.uri
- The Namespace URI mapped to the prefix.ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
public void endPrefixMapping(java.lang.String prefix) throws SAXException
By default, do nothing. Application writers may override this method in a subclass to take specific actions at the start of each element (such as allocating a new tree node or writing output to a file).
prefix
- The Namespace prefix being declared.ContentHandler.endPrefixMapping(java.lang.String)
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String rawName, Attributes attributes) throws SAXException
uri
- The Namespace URI, or an empty string.localName
- The local name (without prefix), or empty string if not namespace processing.rawName
- The qualified name (with prefix).attributes
- The specified or defaulted attributes.public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String rawName) throws SAXException
uri
- The Namespace URI, or an empty string.localName
- The local name (without prefix), or empty string if not namespace processing.rawName
- The qualified name (with prefix).ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
public void characters(char[] ch, int start, int length) throws SAXException
ch
- The characters.start
- The start position in the character array.length
- The number of characters to use from the
character array.ContentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
ch
- The whitespace characters.start
- The start position in the character array.length
- The number of characters to use from the
character array.ContentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(java.lang.String target, java.lang.String data) throws SAXException
The Parser will invoke this method once for each processing instruction found: note that processing instructions may occur before or after the main document element.
A SAX parser should never report an XML declaration (XML 1.0, section 2.8) or a text declaration (XML 1.0, section 4.3.1) using this method.
By default, do nothing. Application writers may override this method in a subclass to take specific actions for each processing instruction, such as setting status variables or invoking other methods.
target
- The processing instruction target.data
- The processing instruction data, or null if
none is supplied.ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void skippedEntity(java.lang.String name) throws SAXException
By default, do nothing. Application writers may override this method in a subclass to take specific actions for each processing instruction, such as setting status variables or invoking other methods.
name
- The name of the skipped entity.ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void warn(java.lang.String msg, java.lang.Object[] args) throws SAXException
msg
- An key into the XSLTErrorResources
table, that is one of the WG_ prefixed definitions.args
- An array of arguments for the given warning.TransformerException
if the current
ErrorListener.warning(javax.xml.transform.TransformerException)
method chooses to flag this condition as an error.public void warning(SAXParseException e) throws SAXException
e
- The warning information encoded as an exception.TransformerException
if the current
ErrorListener.warning(javax.xml.transform.TransformerException)
method chooses to flag this condition as an error.public void error(SAXParseException e) throws SAXException
e
- The error information encoded as an exception.TransformerException
if the current
ErrorListener.error(javax.xml.transform.TransformerException)
method chooses to flag this condition as an error.public void fatalError(SAXParseException e) throws SAXException
e
- The error information encoded as an exception.TransformerException
if the current
ErrorListener.fatalError(javax.xml.transform.TransformerException)
method chooses to flag this condition as an error.public TransformerFactoryImpl getStylesheetProcessor()
public StylesheetRoot getStylesheetRoot()
public void pushStylesheet(Stylesheet s)
s
- non-null reference to a stylesheet.public XSLTSchema getSchema()
public java.lang.String getBaseIdentifier()
public SAXSourceLocator getLocator()
public void setOriginatingNode(Node n)
n
- Reference to node that originated the current event.NodeConsumer
public Node getOriginatingNode()
NodeConsumer
public boolean handlesNullPrefixes()
PrefixResolver.handlesNullPrefixes()
public boolean getOptimize()
public boolean getIncremental()
public boolean getSource_location()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |