net.sf.saxon.trans
Class CompilerInfo

java.lang.Object
  extended by net.sf.saxon.trans.CompilerInfo
All Implemented Interfaces:
Serializable

public class CompilerInfo
extends Object
implements Serializable

This class exists to hold information associated with a specific XSLT compilation episode. In JAXP, the URIResolver and ErrorListener used during XSLT compilation are those defined in the TransformerFactory. The .NET API and the s9api API, however, allow finer granularity, and this class exists to support that.

See Also:
Serialized Form

Constructor Summary
CompilerInfo()
          Create an empty CompilerInfo object with default settings
CompilerInfo(CompilerInfo info)
          Create a CompilerInfo object as a copy of another CompilerInfo object
 
Method Summary
 ErrorListener getErrorListener()
          Get the ErrorListener being used during this compilation episode
 String getMessageReceiverClassName()
          Get the name of the class that will be instantiated to create a MessageEmitter, to process the output of xsl:message instructions in XSLT.
 OutputURIResolver getOutputURIResolver()
          Get the OutputURIResolver that will be used to resolve URIs used in the href attribute of the xsl:result-document instruction.
 int getRecoveryPolicy()
          Get the policy for handling recoverable errors.
 URIResolver getURIResolver()
          Get the URI Resolver being used in this compilation episode.
 boolean isCompileWithTracing()
          Determine whether trace hooks are included in the compiled code.
 boolean isSchemaAware()
          Ask whether schema-awareness has been requested by means of a call on setSchemaAware(boolean)
 boolean isVersionWarning()
          Determine whether a warning is to be output when running against a stylesheet labelled as version="1.0".
 void setCompileWithTracing(boolean trueOrFalse)
          Set whether trace hooks are to be included in the compiled code.
 void setErrorListener(ErrorListener listener)
          Set the ErrorListener to be used during this compilation episode
 void setMessageReceiverClassName(String messageReceiverClassName)
          Set the name of the class that will be instantiated to create a MessageEmitter, to process the output of xsl:message instructions in XSLT.
 void setOutputURIResolver(OutputURIResolver outputURIResolver)
          Set the OutputURIResolver that will be used to resolve URIs used in the href attribute of the xsl:result-document instruction.
 void setRecoveryPolicy(int policy)
          Set the policy for handling recoverable errrors.
 void setSchemaAware(boolean schemaAware)
          Say that the stylesheet must be compiled to be schema-aware, even if it contains no xsl:import-schema declarations.
 void setURIResolver(URIResolver resolver)
          Set the URI Resolver to be used in this compilation episode.
 void setVersionWarning(boolean warn)
          Determine whether a warning is to be output when running against a stylesheet labelled as version="1.0".
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompilerInfo

public CompilerInfo()
Create an empty CompilerInfo object with default settings


CompilerInfo

public CompilerInfo(CompilerInfo info)
Create a CompilerInfo object as a copy of another CompilerInfo object

Parameters:
info - the existing CompilerInfo object
Since:
9.2
Method Detail

setURIResolver

public void setURIResolver(URIResolver resolver)
Set the URI Resolver to be used in this compilation episode.

Parameters:
resolver - The URIResolver to be used. This is used to dereference URIs encountered in constructs such as xsl:include, xsl:import, and xsl:import-schema.
Since:
8.7

getURIResolver

public URIResolver getURIResolver()
Get the URI Resolver being used in this compilation episode.

Returns:
resolver The URIResolver in use. This is used to dereference URIs encountered in constructs such as xsl:include, xsl:import, and xsl:import-schema.
Since:
8.7

getOutputURIResolver

public OutputURIResolver getOutputURIResolver()
Get the OutputURIResolver that will be used to resolve URIs used in the href attribute of the xsl:result-document instruction.

Returns:
the OutputURIResolver. If none has been supplied explicitly, the default OutputURIResolver is returned.
Since:
9.2

setOutputURIResolver

public void setOutputURIResolver(OutputURIResolver outputURIResolver)
Set the OutputURIResolver that will be used to resolve URIs used in the href attribute of the xsl:result-document instruction.

Parameters:
outputURIResolver - the OutputURIResolver to be used.
Since:
9.2

setErrorListener

public void setErrorListener(ErrorListener listener)
Set the ErrorListener to be used during this compilation episode

Parameters:
listener - The error listener to be used. This is notified of all errors detected during the compilation.
Since:
8.7

getErrorListener

public ErrorListener getErrorListener()
Get the ErrorListener being used during this compilation episode

Returns:
listener The error listener in use. This is notified of all errors detected during the compilation.
Since:
8.7

getMessageReceiverClassName

public String getMessageReceiverClassName()
Get the name of the class that will be instantiated to create a MessageEmitter, to process the output of xsl:message instructions in XSLT.

Returns:
the full class name of the message emitter class.
Since:
9.2

setMessageReceiverClassName

public void setMessageReceiverClassName(String messageReceiverClassName)
Set the name of the class that will be instantiated to create a MessageEmitter, to process the output of xsl:message instructions in XSLT.

Parameters:
messageReceiverClassName - the message emitter class. This must implement net.sf.saxon.event.Emitter.
Since:
9.2

setCompileWithTracing

public void setCompileWithTracing(boolean trueOrFalse)
Set whether trace hooks are to be included in the compiled code. To use tracing, it is necessary both to compile the code with trace hooks included, and to supply a TraceListener at run-time

Parameters:
trueOrFalse - true if trace code is to be compiled in, false otherwise
Since:
8.9

isCompileWithTracing

public boolean isCompileWithTracing()
Determine whether trace hooks are included in the compiled code.

Returns:
true if trace hooks are included, false if not.
Since:
8.9

setRecoveryPolicy

public void setRecoveryPolicy(int policy)
Set the policy for handling recoverable errrors. Note that for some errors the decision can be made at run-time, but for the "ambiguous template match" error, the decision is (since 9.2) fixed at compile time.

Parameters:
policy - the recovery policy to be used. The options are Configuration.RECOVER_SILENTLY, Configuration.RECOVER_WITH_WARNINGS, or Configuration.DO_NOT_RECOVER.
Since:
9.2

getRecoveryPolicy

public int getRecoveryPolicy()
Get the policy for handling recoverable errors. Note that for some errors the decision can be made at run-time, but for the "ambiguous template match" error, the decision is (since 9.2) fixed at compile time.

Returns:
the current policy.
Since:
9.2

isVersionWarning

public boolean isVersionWarning()
Determine whether a warning is to be output when running against a stylesheet labelled as version="1.0". The XSLT specification requires such a warning unless the user disables it.

Returns:
true if these messages are to be output.
Since:
9.2

setVersionWarning

public void setVersionWarning(boolean warn)
Determine whether a warning is to be output when running against a stylesheet labelled as version="1.0". The XSLT specification requires such a warning unless the user disables it.

Parameters:
warn - true if these messages are to be output.
Since:
9.2

setSchemaAware

public void setSchemaAware(boolean schemaAware)
Say that the stylesheet must be compiled to be schema-aware, even if it contains no xsl:import-schema declarations. Normally a stylesheet is treated as schema-aware only if it contains one or more xsl:import-schema declarations. If it is not schema-aware, then all input documents must be untyped, and validation of temporary trees is disallowed (though validation of the final result tree is permitted). Setting the argument to true means that schema-aware code will be compiled regardless.

Parameters:
schemaAware - If true, the stylesheet will be compiled with schema-awareness enabled even if it contains no xsl:import-schema declarations. If false, the stylesheet is treated as schema-aware only if it contains one or more xsl:import-schema declarations
Since:
9.2

isSchemaAware

public boolean isSchemaAware()
Ask whether schema-awareness has been requested by means of a call on setSchemaAware(boolean)

Returns:
true if schema-awareness has been requested


Copyright (c) Saxonica Limited. All rights reserved.