org.apache.xalan.xsltc.compiler
Class XSLTC

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

public final class XSLTC
extends java.lang.Object


Field Summary
static int BYTEARRAY_AND_FILE_OUTPUT
           
static int BYTEARRAY_AND_JAR_OUTPUT
           
static int BYTEARRAY_OUTPUT
           
static int CLASSLOADER_OUTPUT
           
static int FILE_OUTPUT
           
static int JAR_OUTPUT
           
 
Constructor Summary
XSLTC()
          XSLTC compiler constructor
 
Method Summary
 boolean callsNodeset()
           
 boolean compile(InputSource input, java.lang.String name)
          Compiles an XSL stylesheet passed in through an InputStream
 boolean compile(java.io.InputStream stream, java.lang.String name)
          Compiles an XSL stylesheet passed in through an InputStream
 byte[][] compile(java.lang.String name, InputSource input)
          Compiles a stylesheet pointed to by a URL.
 byte[][] compile(java.lang.String name, InputSource input, int outputType)
          Compiles a stylesheet pointed to by a URL.
 boolean compile(java.net.URL url)
          Compiles an XSL stylesheet pointed to by a URL
 boolean compile(java.net.URL url, java.lang.String name)
          Compiles an XSL stylesheet pointed to by a URL
 boolean compile(java.util.Vector stylesheets)
          Compiles a set of stylesheets pointed to by a Vector of URLs
 boolean debug()
          Get current debugging message setting
 void dumpClass(org.apache.bcel.classfile.JavaClass clazz)
           
 byte[][] getBytecodes()
          Returns an array of bytecode arrays generated by a compilation.
 java.lang.String getClassName()
          Get the class name for the generated translet.
 java.util.Vector getErrors()
          Get a Vector containing all compile error messages
 java.lang.String getHelperClassName()
          Returns a unique name for every helper class needed to execute a translet.
 java.lang.String getJarFileName()
           
 java.util.Vector getNamesIndex()
           
 java.util.Vector getNamespaceIndex()
           
 int[] getNumberFieldIndexes()
           
 java.util.Properties getOutputProperties()
          Only for user by the internal TrAX implementation.
 Parser getParser()
          Only for user by the internal TrAX implementation.
 Stylesheet getStylesheet()
          Returns the top-level stylesheet
 java.util.Vector getWarnings()
          Get a Vector containing all compile warning messages
 XMLReader getXMLReader()
          Get the XMLReader to use for parsing the next input stylesheet
 boolean hasIdCall()
           
 void init()
          Initializes the compiler to compile a new stylesheet
 boolean isMultiDocument()
           
 int nextAttributeSetSerial()
           
 int nextHelperClassSerial()
           
 int nextModeSerial()
           
 int nextStepPatternSerial()
           
 int nextStylesheetSerial()
           
 void outputToJar()
          Generate output JAR-file and packages
 void printErrors()
          Print all compile error messages to standard output
 void printWarnings()
          Print all compile warning messages to standard output
 int registerAttribute(org.apache.xalan.xsltc.compiler.QName name)
          Registers an attribute and gives it a type so that it can be mapped to DOM attribute types at run-time.
 int registerElement(org.apache.xalan.xsltc.compiler.QName name)
          Registers an element and gives it a type so that it can be mapped to DOM element types at run-time.
 int registerNamespace(org.apache.xalan.xsltc.compiler.QName name)
          Registers an element and gives it a type so that it can be mapped to DOM element types at run-time.
 int registerNamespace(java.lang.String namespaceURI)
          Registers a namespace and gives it a type so that it can be mapped to DOM namespace types at run-time.
 void setClassName(java.lang.String className)
          Set the class name for the generated translet.
 void setDebug(boolean debug)
          Turn debugging messages on/off
 boolean setDestDirectory(java.lang.String dstDirName)
          Set the destination directory for the translet.
 void setJarFileName(java.lang.String jarFileName)
          Set the name of an optional JAR-file to dump the translet and auxiliary classes to
 void setOutputType(int type)
          Only for user by the internal TrAX implementation.
 void setPackageName(java.lang.String packageName)
          Set an optional package name for the translet and auxiliary classes
 void setPIParameters(java.lang.String media, java.lang.String title, java.lang.String charset)
          Set the parameters to use to locate the correct processing instruction in the case where the input document to the compiler (and parser) is an XML document.
 void setSourceLoader(SourceLoader loader)
          Defines an external SourceLoader to provide the compiler with documents referenced in xsl:include/import
 void setStylesheet(Stylesheet stylesheet)
          Set the top-level stylesheet
 void setTemplateInlining(boolean templateInlining)
          Set a flag indicating if templates are to be inlined or not.
 void setXMLReader(XMLReader reader)
          Set the XMLReader to use for parsing the next input stylesheet
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILE_OUTPUT

public static final int FILE_OUTPUT

JAR_OUTPUT

public static final int JAR_OUTPUT

BYTEARRAY_OUTPUT

public static final int BYTEARRAY_OUTPUT

CLASSLOADER_OUTPUT

public static final int CLASSLOADER_OUTPUT

BYTEARRAY_AND_FILE_OUTPUT

public static final int BYTEARRAY_AND_FILE_OUTPUT

BYTEARRAY_AND_JAR_OUTPUT

public static final int BYTEARRAY_AND_JAR_OUTPUT
Constructor Detail

XSLTC

public XSLTC()
XSLTC compiler constructor
Method Detail

getParser

public Parser getParser()
Only for user by the internal TrAX implementation.

setOutputType

public void setOutputType(int type)
Only for user by the internal TrAX implementation.

getOutputProperties

public java.util.Properties getOutputProperties()
Only for user by the internal TrAX implementation.

init

public void init()
Initializes the compiler to compile a new stylesheet

setSourceLoader

public void setSourceLoader(SourceLoader loader)
Defines an external SourceLoader to provide the compiler with documents referenced in xsl:include/import
Parameters:
loader - The SourceLoader to use for include/import

setTemplateInlining

public void setTemplateInlining(boolean templateInlining)
Set a flag indicating if templates are to be inlined or not. The default is to do inlining, but this causes problems when the stylesheets have a large number of templates (e.g. branch targets exceeding 64K or a length of a method exceeding 64K).

setPIParameters

public void setPIParameters(java.lang.String media,
                            java.lang.String title,
                            java.lang.String charset)
Set the parameters to use to locate the correct processing instruction in the case where the input document to the compiler (and parser) is an XML document.
Parameters:
media - The media attribute to be matched. May be null, in which case the prefered templates will be used (i.e. alternate = no).
title - The value of the title attribute to match. May be null.
charset - The value of the charset attribute to match. May be null.

compile

public boolean compile(java.net.URL url)
Compiles an XSL stylesheet pointed to by a URL
Parameters:
url - An URL containing the input XSL stylesheet

compile

public boolean compile(java.net.URL url,
                       java.lang.String name)
Compiles an XSL stylesheet pointed to by a URL
Parameters:
url - An URL containing the input XSL stylesheet
name - The name to assign to the translet class

compile

public boolean compile(java.io.InputStream stream,
                       java.lang.String name)
Compiles an XSL stylesheet passed in through an InputStream
Parameters:
input - An InputStream that will pass in the stylesheet contents
name - The name of the translet class to generate
Returns:
'true' if the compilation was successful

compile

public boolean compile(InputSource input,
                       java.lang.String name)
Compiles an XSL stylesheet passed in through an InputStream
Parameters:
input - An InputSource that will pass in the stylesheet contents
name - The name of the translet class to generate - can be null
Returns:
'true' if the compilation was successful

compile

public boolean compile(java.util.Vector stylesheets)
Compiles a set of stylesheets pointed to by a Vector of URLs
Parameters:
stylesheets - A Vector containing URLs pointing to the stylesheets
Returns:
'true' if the compilation was successful

getBytecodes

public byte[][] getBytecodes()
Returns an array of bytecode arrays generated by a compilation.
Returns:
JVM bytecodes that represent translet class definition

compile

public byte[][] compile(java.lang.String name,
                        InputSource input,
                        int outputType)
Compiles a stylesheet pointed to by a URL. The result is put in a set of byte arrays. One byte array for each generated class.
Parameters:
name - The name of the translet class to generate
input - An InputSource that will pass in the stylesheet contents
outputType - The output type
Returns:
JVM bytecodes that represent translet class definition

compile

public byte[][] compile(java.lang.String name,
                        InputSource input)
Compiles a stylesheet pointed to by a URL. The result is put in a set of byte arrays. One byte array for each generated class.
Parameters:
name - The name of the translet class to generate
input - An InputSource that will pass in the stylesheet contents
Returns:
JVM bytecodes that represent translet class definition

setXMLReader

public void setXMLReader(XMLReader reader)
Set the XMLReader to use for parsing the next input stylesheet
Parameters:
reader - XMLReader (SAX2 parser) to use

getXMLReader

public XMLReader getXMLReader()
Get the XMLReader to use for parsing the next input stylesheet

getErrors

public java.util.Vector getErrors()
Get a Vector containing all compile error messages
Returns:
A Vector containing all compile error messages

getWarnings

public java.util.Vector getWarnings()
Get a Vector containing all compile warning messages
Returns:
A Vector containing all compile error messages

printErrors

public void printErrors()
Print all compile error messages to standard output

printWarnings

public void printWarnings()
Print all compile warning messages to standard output

isMultiDocument

public boolean isMultiDocument()

callsNodeset

public boolean callsNodeset()

hasIdCall

public boolean hasIdCall()

setClassName

public void setClassName(java.lang.String className)
Set the class name for the generated translet. This class name is overridden if multiple stylesheets are compiled in one go using the compile(Vector urls) method.
Parameters:
className - The name to assign to the translet class

getClassName

public java.lang.String getClassName()
Get the class name for the generated translet.

setDestDirectory

public boolean setDestDirectory(java.lang.String dstDirName)
Set the destination directory for the translet. The current working directory will be used by default.

setPackageName

public void setPackageName(java.lang.String packageName)
Set an optional package name for the translet and auxiliary classes

setJarFileName

public void setJarFileName(java.lang.String jarFileName)
Set the name of an optional JAR-file to dump the translet and auxiliary classes to

getJarFileName

public java.lang.String getJarFileName()

setStylesheet

public void setStylesheet(Stylesheet stylesheet)
Set the top-level stylesheet

getStylesheet

public Stylesheet getStylesheet()
Returns the top-level stylesheet

registerAttribute

public int registerAttribute(org.apache.xalan.xsltc.compiler.QName name)
Registers an attribute and gives it a type so that it can be mapped to DOM attribute types at run-time.

registerElement

public int registerElement(org.apache.xalan.xsltc.compiler.QName name)
Registers an element and gives it a type so that it can be mapped to DOM element types at run-time.

registerNamespace

public int registerNamespace(org.apache.xalan.xsltc.compiler.QName name)
Registers an element and gives it a type so that it can be mapped to DOM element types at run-time.

registerNamespace

public int registerNamespace(java.lang.String namespaceURI)
Registers a namespace and gives it a type so that it can be mapped to DOM namespace types at run-time.

nextModeSerial

public int nextModeSerial()

nextStylesheetSerial

public int nextStylesheetSerial()

nextStepPatternSerial

public int nextStepPatternSerial()

getNumberFieldIndexes

public int[] getNumberFieldIndexes()

nextHelperClassSerial

public int nextHelperClassSerial()

nextAttributeSetSerial

public int nextAttributeSetSerial()

getNamesIndex

public java.util.Vector getNamesIndex()

getNamespaceIndex

public java.util.Vector getNamespaceIndex()

getHelperClassName

public java.lang.String getHelperClassName()
Returns a unique name for every helper class needed to execute a translet.

dumpClass

public void dumpClass(org.apache.bcel.classfile.JavaClass clazz)

outputToJar

public void outputToJar()
                 throws java.io.IOException
Generate output JAR-file and packages

setDebug

public void setDebug(boolean debug)
Turn debugging messages on/off

debug

public boolean debug()
Get current debugging message setting


Copyright © 2003 Apache XML Project. All Rights Reserved.