org.apache.xalan.xsltc.compiler
Class Parser

java.lang.Object
  |
  +--org.apache.xalan.xsltc.compiler.Parser

public class Parser
extends java.lang.Object
implements Constants, ContentHandler


Constructor Summary
Parser(XSLTC xsltc)
           
 
Method Summary
 void addParameter(org.apache.xalan.xsltc.compiler.Param param)
           
 void addVariable(org.apache.xalan.xsltc.compiler.Variable var)
           
 void characters(char[] ch, int start, int length)
          SAX2: Receive notification of character data.
 void createAST(Stylesheet stylesheet)
          Instanciates a SAX2 parser and generate the AST from the input.
 boolean elementSupported(java.lang.String namespace, java.lang.String localName)
           
 void endDocument()
          SAX2: Receive notification of the end of a document.
 void endElement(java.lang.String uri, java.lang.String localname, java.lang.String qname)
          SAX2: Receive notification of the end of an element.
 void endPrefixMapping(java.lang.String prefix)
          SAX2: End the scope of a prefix-URI Namespace mapping.
 boolean errorsFound()
          Returns true if there were any errors during compilation
 boolean functionSupported(java.lang.String fname)
           
 int getCurrentImportPrecedence()
           
 Stylesheet getCurrentStylesheet()
           
 SyntaxTreeNode getDocumentRoot()
           
 java.util.Vector getErrors()
           
 org.apache.xalan.xsltc.compiler.QName getExcludeResultPrefixes()
           
 org.apache.xalan.xsltc.compiler.QName getExtensionElementPrefixes()
           
 int getNextImportPrecedence()
           
 org.apache.xalan.xsltc.compiler.Output getOutput()
           
 java.util.Properties getOutputProperties()
           
 org.apache.xalan.xsltc.compiler.QName getQName(org.apache.xalan.xsltc.compiler.QName scope, org.apache.xalan.xsltc.compiler.QName name)
           
 org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String stringRep)
           
 org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String stringRep, boolean reportError)
           
 org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String scope, java.lang.String name)
           
 org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String namespace, java.lang.String prefix, java.lang.String localname)
           
 org.apache.xalan.xsltc.compiler.QName getQNameIgnoreDefaultNs(java.lang.String stringRep)
           
 org.apache.xalan.xsltc.compiler.QName getQNameSafe(java.lang.String stringRep)
           
 org.apache.xalan.xsltc.compiler.SymbolTable getSymbolTable()
           
 Template getTemplate()
           
 int getTemplateIndex()
           
 Stylesheet getTopLevelStylesheet()
           
 org.apache.xalan.xsltc.compiler.QName getUseAttributeSets()
           
 java.util.Vector getWarnings()
           
 XSLTC getXSLTC()
           
 void ignorableWhitespace(char[] ch, int start, int length)
          IGNORED - all ignorable whitespace is ignored
 void init()
           
 org.apache.xalan.xsltc.compiler.VariableBase lookupVariable(org.apache.xalan.xsltc.compiler.QName name)
           
 SyntaxTreeNode makeInstance(java.lang.String uri, java.lang.String prefix, java.lang.String local, Attributes attributes)
           
 Stylesheet makeStylesheet(SyntaxTreeNode element)
          Create an instance of the Stylesheet class, and then parse, typecheck and compile the instance.
 SyntaxTreeNode parse(InputSource input)
          Parses a stylesheet and builds the internal abstract syntax tree
 SyntaxTreeNode parse(XMLReader reader, InputSource input)
          Parses a stylesheet and builds the internal abstract syntax tree
 org.apache.xalan.xsltc.compiler.Expression parseExpression(SyntaxTreeNode parent, java.lang.String exp)
          Parse an XPath expression:
 org.apache.xalan.xsltc.compiler.Expression parseExpression(SyntaxTreeNode parent, java.lang.String attr, java.lang.String def)
          Parse an XPath expression:
 Pattern parsePattern(SyntaxTreeNode parent, java.lang.String pattern)
          Parse an XPath pattern:
 Pattern parsePattern(SyntaxTreeNode parent, java.lang.String attr, java.lang.String def)
          Parse an XPath pattern:
 void printErrors()
          Prints all compile-time errors
 void printWarnings()
          Prints all compile-time warnings
 void processingInstruction(java.lang.String name, java.lang.String value)
          SAX2: Receive notification of a processing instruction.
 void removeVariable(org.apache.xalan.xsltc.compiler.QName name)
           
 void reportError(int category, ErrorMsg error)
          Common error/warning message handler
 void setCurrentStylesheet(Stylesheet stylesheet)
           
 void setDocumentLocator(Locator locator)
          Store the document locator to later retrieve line numbers of all elements from the stylesheet
 void setOutput(org.apache.xalan.xsltc.compiler.Output output)
           
 void setTemplate(Template template)
           
 void setXSLTC(XSLTC xsltc)
           
 void skippedEntity(java.lang.String name)
          IGNORED - we do not have to do anything with skipped entities
 void startDocument()
          SAX2: Receive notification of the beginning of a document.
 void startElement(java.lang.String uri, java.lang.String localname, java.lang.String qname, Attributes attributes)
          SAX2: Receive notification of the beginning of an element.
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
          SAX2: Begin the scope of a prefix-URI Namespace mapping.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Parser

public Parser(XSLTC xsltc)
Method Detail

init

public void init()

setOutput

public void setOutput(org.apache.xalan.xsltc.compiler.Output output)

getOutput

public org.apache.xalan.xsltc.compiler.Output getOutput()

getOutputProperties

public java.util.Properties getOutputProperties()

addVariable

public void addVariable(org.apache.xalan.xsltc.compiler.Variable var)

addParameter

public void addParameter(org.apache.xalan.xsltc.compiler.Param param)

removeVariable

public void removeVariable(org.apache.xalan.xsltc.compiler.QName name)

lookupVariable

public org.apache.xalan.xsltc.compiler.VariableBase lookupVariable(org.apache.xalan.xsltc.compiler.QName name)

setXSLTC

public void setXSLTC(XSLTC xsltc)

getXSLTC

public XSLTC getXSLTC()

getCurrentImportPrecedence

public int getCurrentImportPrecedence()

getNextImportPrecedence

public int getNextImportPrecedence()

setCurrentStylesheet

public void setCurrentStylesheet(Stylesheet stylesheet)

getCurrentStylesheet

public Stylesheet getCurrentStylesheet()

getTopLevelStylesheet

public Stylesheet getTopLevelStylesheet()

getQNameSafe

public org.apache.xalan.xsltc.compiler.QName getQNameSafe(java.lang.String stringRep)

getQName

public org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String stringRep)

getQNameIgnoreDefaultNs

public org.apache.xalan.xsltc.compiler.QName getQNameIgnoreDefaultNs(java.lang.String stringRep)

getQName

public org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String stringRep,
                                                      boolean reportError)

getQName

public org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String namespace,
                                                      java.lang.String prefix,
                                                      java.lang.String localname)

getQName

public org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String scope,
                                                      java.lang.String name)

getQName

public org.apache.xalan.xsltc.compiler.QName getQName(org.apache.xalan.xsltc.compiler.QName scope,
                                                      org.apache.xalan.xsltc.compiler.QName name)

getUseAttributeSets

public org.apache.xalan.xsltc.compiler.QName getUseAttributeSets()

getExtensionElementPrefixes

public org.apache.xalan.xsltc.compiler.QName getExtensionElementPrefixes()

getExcludeResultPrefixes

public org.apache.xalan.xsltc.compiler.QName getExcludeResultPrefixes()

makeStylesheet

public Stylesheet makeStylesheet(SyntaxTreeNode element)
                          throws CompilerException
Create an instance of the Stylesheet class, and then parse, typecheck and compile the instance. Must be called after parse().

createAST

public void createAST(Stylesheet stylesheet)
Instanciates a SAX2 parser and generate the AST from the input.

parse

public SyntaxTreeNode parse(XMLReader reader,
                            InputSource input)
Parses a stylesheet and builds the internal abstract syntax tree
Parameters:
reader - A SAX2 SAXReader (parser)
input - A SAX2 InputSource can be passed to a SAX reader
Returns:
The root of the abstract syntax tree

parse

public SyntaxTreeNode parse(InputSource input)
Parses a stylesheet and builds the internal abstract syntax tree
Parameters:
input - A SAX2 InputSource can be passed to a SAX reader
Returns:
The root of the abstract syntax tree

getDocumentRoot

public SyntaxTreeNode getDocumentRoot()

elementSupported

public boolean elementSupported(java.lang.String namespace,
                                java.lang.String localName)

functionSupported

public boolean functionSupported(java.lang.String fname)

getSymbolTable

public org.apache.xalan.xsltc.compiler.SymbolTable getSymbolTable()

getTemplate

public Template getTemplate()

setTemplate

public void setTemplate(Template template)

getTemplateIndex

public int getTemplateIndex()

makeInstance

public SyntaxTreeNode makeInstance(java.lang.String uri,
                                   java.lang.String prefix,
                                   java.lang.String local,
                                   Attributes attributes)

parseExpression

public org.apache.xalan.xsltc.compiler.Expression parseExpression(SyntaxTreeNode parent,
                                                                  java.lang.String exp)
Parse an XPath expression:
Parameters:
parent - - XSL element where the expression occured
exp - - textual representation of the expression

parseExpression

public org.apache.xalan.xsltc.compiler.Expression parseExpression(SyntaxTreeNode parent,
                                                                  java.lang.String attr,
                                                                  java.lang.String def)
Parse an XPath expression:
Parameters:
parent - - XSL element where the expression occured
attr - - name of this element's attribute to get expression from
def - - default expression (if the attribute was not found)

parsePattern

public Pattern parsePattern(SyntaxTreeNode parent,
                            java.lang.String pattern)
Parse an XPath pattern:
Parameters:
parent - - XSL element where the pattern occured
pattern - - textual representation of the pattern

parsePattern

public Pattern parsePattern(SyntaxTreeNode parent,
                            java.lang.String attr,
                            java.lang.String def)
Parse an XPath pattern:
Parameters:
parent - - XSL element where the pattern occured
attr - - name of this element's attribute to get pattern from
def - - default pattern (if the attribute was not found)

errorsFound

public boolean errorsFound()
Returns true if there were any errors during compilation

printErrors

public void printErrors()
Prints all compile-time errors

printWarnings

public void printWarnings()
Prints all compile-time warnings

reportError

public void reportError(int category,
                        ErrorMsg error)
Common error/warning message handler

getErrors

public java.util.Vector getErrors()

getWarnings

public java.util.Vector getWarnings()

startDocument

public void startDocument()
SAX2: Receive notification of the beginning of a document.
Specified by:
startDocument in interface ContentHandler

endDocument

public void endDocument()
SAX2: Receive notification of the end of a document.
Specified by:
endDocument in interface ContentHandler

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
SAX2: Begin the scope of a prefix-URI Namespace mapping. This has to be passed on to the symbol table!
Specified by:
startPrefixMapping in interface ContentHandler

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
SAX2: End the scope of a prefix-URI Namespace mapping. This has to be passed on to the symbol table!
Specified by:
endPrefixMapping in interface ContentHandler

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localname,
                         java.lang.String qname,
                         Attributes attributes)
                  throws SAXException
SAX2: Receive notification of the beginning of an element. The parser may re-use the attribute list that we're passed so we clone the attributes in our own Attributes implementation
Specified by:
startElement in interface ContentHandler

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localname,
                       java.lang.String qname)
SAX2: Receive notification of the end of an element.
Specified by:
endElement in interface ContentHandler

characters

public void characters(char[] ch,
                       int start,
                       int length)
SAX2: Receive notification of character data.
Specified by:
characters in interface ContentHandler

processingInstruction

public void processingInstruction(java.lang.String name,
                                  java.lang.String value)
SAX2: Receive notification of a processing instruction. These require special handling for stylesheet PIs.
Specified by:
processingInstruction in interface ContentHandler

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
IGNORED - all ignorable whitespace is ignored
Specified by:
ignorableWhitespace in interface ContentHandler

skippedEntity

public void skippedEntity(java.lang.String name)
IGNORED - we do not have to do anything with skipped entities
Specified by:
skippedEntity in interface ContentHandler

setDocumentLocator

public void setDocumentLocator(Locator locator)
Store the document locator to later retrieve line numbers of all elements from the stylesheet
Specified by:
setDocumentLocator in interface ContentHandler


Copyright 2006 Apache XML Project. All Rights Reserved.