Package net.sf.saxon.trace
Class ExpressionPresenter
- java.lang.Object
-
- net.sf.saxon.trace.ExpressionPresenter
-
public class ExpressionPresenter extends java.lang.Object
This class handles the display of an abstract expression tree in an XML format with some slight resemblance to XQueryX
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExpressionPresenter.ExportOptions
-
Constructor Summary
Constructors Constructor Description ExpressionPresenter()
Make an uncommitted ExpressionPresenter.ExpressionPresenter(Configuration config)
Make an ExpressionPresenter that writes indented output to the standard error output destination of the ConfigurationExpressionPresenter(Configuration config, javax.xml.transform.stream.StreamResult out)
Make an ExpressionPresenter that writes indented output to a specified output streamExpressionPresenter(Configuration config, javax.xml.transform.stream.StreamResult out, boolean checksum)
Make an ExpressionPresenter that writes indented output to a specified output stream, with optional checksumExpressionPresenter(Configuration config, Receiver receiver)
Make an ExpressionPresenter for a given Configuration using a user-supplied Receiver to accept the outputExpressionPresenter(Configuration config, Logger out)
Make an ExpressionPresenter that writes indented output to a specified output streamExpressionPresenter(Builder builder)
Make an ExpressionPresenter that writes to a specified tree builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the outputstatic Receiver
defaultDestination(Configuration config, Logger out)
Make a receiver, using default output properties, with serialized output going to a specified OutputStreamvoid
emitAttribute(java.lang.String name, java.lang.String value)
Output an attribute nodevoid
emitAttribute(java.lang.String name, StructuredQName value)
Output a QName-valued attribute nodevoid
emitRetainedStaticContext(RetainedStaticContext sc, RetainedStaticContext parentSC)
int
endElement()
End an element in the expression treevoid
endSubsidiaryElement()
End a child element in the outputConfiguration
getConfiguration()
Get the Saxon configurationNamePool
getNamePool()
Get the name poolstatic java.lang.String
getNamespacesAsString(NamespaceMap sc, boolean includeXmlNamespace)
From a NamespaceMap, produce the SEF concise representation, for example "xs=~ xsl=~ example=file://example.com/"ExpressionPresenter.ExportOptions
getOptions()
Get the optionsTypeHierarchy
getTypeHierarchy()
Get the type hierarchy cachevoid
init(Configuration config, javax.xml.transform.stream.StreamResult out, boolean checksum)
Make an ExpressionPresenter that writes indented output to a specified output stream, with checksummingvoid
init(Configuration config, Receiver out, boolean checksum)
Make an ExpressionPresenter that writes indented output to a specified output stream, with checksummingstatic java.lang.String
jsEscape(java.lang.String in)
Static method to escape a string using Javascript escaping conventionsstatic SerializationProperties
makeDefaultProperties(Configuration config)
Make a Properties object containing defaulted serialization attributes for the expression treevoid
namespace(java.lang.String prefix, NamespaceUri uri)
Output a namespace declaration.void
setChildRole(java.lang.String role)
Set the role of the next element to be outputvoid
setDefaultNamespace(NamespaceUri namespace)
Set the default namespace, used for subsequent calls on startElement.void
setOptions(ExpressionPresenter.ExportOptions options)
Set the optionsvoid
setRelocatable(boolean relocatable)
Say whether the package can be deployed to a different location, with a different base URIint
startElement(java.lang.String name)
Start an elementint
startElement(java.lang.String name, Expression expr)
Start an element representing an expression in the expression treevoid
startSubsidiaryElement(java.lang.String name)
Start a child element in the output
-
-
-
Constructor Detail
-
ExpressionPresenter
public ExpressionPresenter()
Make an uncommitted ExpressionPresenter. This must be followed by a call on init()
-
ExpressionPresenter
public ExpressionPresenter(Configuration config)
Make an ExpressionPresenter that writes indented output to the standard error output destination of the Configuration- Parameters:
config
- the Saxon configuration
-
ExpressionPresenter
public ExpressionPresenter(Configuration config, javax.xml.transform.stream.StreamResult out)
Make an ExpressionPresenter that writes indented output to a specified output stream- Parameters:
config
- the Saxon configurationout
- the output destination
-
ExpressionPresenter
public ExpressionPresenter(Builder builder)
Make an ExpressionPresenter that writes to a specified tree builder- Parameters:
builder
- the tree builder
-
ExpressionPresenter
public ExpressionPresenter(Configuration config, javax.xml.transform.stream.StreamResult out, boolean checksum)
Make an ExpressionPresenter that writes indented output to a specified output stream, with optional checksum- Parameters:
config
- the Saxon configurationout
- the output destinationchecksum
- true if a checksum is to be written at the end of the file
-
ExpressionPresenter
public ExpressionPresenter(Configuration config, Logger out)
Make an ExpressionPresenter that writes indented output to a specified output stream- Parameters:
config
- the Saxon configurationout
- the output stream
-
ExpressionPresenter
public ExpressionPresenter(Configuration config, Receiver receiver)
Make an ExpressionPresenter for a given Configuration using a user-supplied Receiver to accept the output- Parameters:
config
- the Configurationreceiver
- the user-supplied Receiver
-
-
Method Detail
-
init
public void init(Configuration config, javax.xml.transform.stream.StreamResult out, boolean checksum)
Make an ExpressionPresenter that writes indented output to a specified output stream, with checksumming- Parameters:
config
- the Saxon configurationout
- the output destinationchecksum
- true if a checksum is to be written at the end of the file
-
init
public void init(Configuration config, Receiver out, boolean checksum)
Make an ExpressionPresenter that writes indented output to a specified output stream, with checksumming- Parameters:
config
- the Saxon configurationout
- the output destinationchecksum
- true if a checksum is to be written at the end of the file
-
setDefaultNamespace
public void setDefaultNamespace(NamespaceUri namespace)
Set the default namespace, used for subsequent calls on startElement. Must be consistent throughout the whole document- Parameters:
namespace
- the default namespace
-
setOptions
public void setOptions(ExpressionPresenter.ExportOptions options)
Set the options- Parameters:
options
- the options
-
getOptions
public ExpressionPresenter.ExportOptions getOptions()
Get the options- Returns:
- the options, or null if none have been set
-
setRelocatable
public void setRelocatable(boolean relocatable)
Say whether the package can be deployed to a different location, with a different base URI- Parameters:
relocatable
- if true then static-base-uri() represents the deployed location of the package, rather than its compile time location
-
defaultDestination
public static Receiver defaultDestination(Configuration config, Logger out) throws XPathException
Make a receiver, using default output properties, with serialized output going to a specified OutputStream- Parameters:
config
- the Configurationout
- the OutputStream- Returns:
- a Receiver that directs serialized output to this output stream
- Throws:
XPathException
- if a serializer cannot be created
-
makeDefaultProperties
public static SerializationProperties makeDefaultProperties(Configuration config)
Make a Properties object containing defaulted serialization attributes for the expression tree- Parameters:
config
- the Configuration- Returns:
- a default set of properties
-
startElement
public int startElement(java.lang.String name, Expression expr)
Start an element representing an expression in the expression tree- Parameters:
name
- the name of the elementexpr
- the expression represented- Returns:
- the depth of the tree before this element: for diagnostics, this can be compared with the value returned by endElement
-
emitRetainedStaticContext
public void emitRetainedStaticContext(RetainedStaticContext sc, RetainedStaticContext parentSC)
-
getNamespacesAsString
public static java.lang.String getNamespacesAsString(NamespaceMap sc, boolean includeXmlNamespace) throws XPathException
From a NamespaceMap, produce the SEF concise representation, for example "xs=~ xsl=~ example=file://example.com/"- Parameters:
sc
- the namespace mapincludeXmlNamespace
- for compatibility with SaxonJS 2+, indicate that any explicit binding for the XML namespace should be included in the list- Returns:
- the concise string representation of the namespace map
- Throws:
XPathException
- if the namespace map contains unsuitable namespaces, for example namespace URIs containing whitespace.
-
startElement
public int startElement(java.lang.String name)
Start an element- Parameters:
name
- the name of the element- Returns:
- the depth of the tree before this element: for diagnostics, this can be compared with the value returned by endElement
-
setChildRole
public void setChildRole(java.lang.String role)
Set the role of the next element to be output- Parameters:
role
- the value of the role output to be used
-
emitAttribute
public void emitAttribute(java.lang.String name, java.lang.String value)
Output an attribute node- Parameters:
name
- the name of the attributevalue
- the value of the attribute
-
emitAttribute
public void emitAttribute(java.lang.String name, StructuredQName value)
Output a QName-valued attribute node- Parameters:
name
- the name of the attributevalue
- the value of the attribute
-
namespace
public void namespace(java.lang.String prefix, NamespaceUri uri)
Output a namespace declaration. All namespaces should be declared at the top level.- Parameters:
prefix
- the namespace prefixuri
- the namespace URI
-
endElement
public int endElement()
End an element in the expression tree- Returns:
- the depth of the tree after ending this element. For diagnostics, this can be compared with the value returned by startElement()
-
startSubsidiaryElement
public void startSubsidiaryElement(java.lang.String name)
Start a child element in the output- Parameters:
name
- the name of the child element
-
endSubsidiaryElement
public void endSubsidiaryElement()
End a child element in the output
-
close
public void close()
Close the output
-
getConfiguration
public Configuration getConfiguration()
Get the Saxon configuration- Returns:
- the Saxon configuration
-
getNamePool
public NamePool getNamePool()
Get the name pool- Returns:
- the name pool
-
getTypeHierarchy
public TypeHierarchy getTypeHierarchy()
Get the type hierarchy cache- Returns:
- the type hierarchy cache
-
jsEscape
public static java.lang.String jsEscape(java.lang.String in)
Static method to escape a string using Javascript escaping conventions- Parameters:
in
- the string to be escaped- Returns:
- the escaped string
-
-