Package net.sf.saxon
Class AugmentedSource
java.lang.Object
net.sf.saxon.AugmentedSource
- All Implemented Interfaces:
Source
This class is an extension of the JAXP Source interface. The class can be used
wherever a JAXP Source object can be used, and it provides additional information
about the way that the Source is to be processed: for example, it indicates
whether or not it should be validated against a schema. Other options that can
be set include the SAX XMLReader to be used, and the choice of whether a source
in the form of an existing tree should be copied or wrapped.
- Since:
- 8.8
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFilter
(ProxyReceiver filter) Add a filter to the list of filters to be applied to the raw inputvoid
close()
Close any resources held by this Source.Get the Source object wrapped by this AugmentedSourceint
Get whether or not DTD validation of this source is requiredDeprecated.since 9.1 (setting an EntityResolver has never had any effect)Get the ErrorListener that will be used when parsingGet the list of filters to be applied to the input.int
Get whether or not schema validation of this source is requiredint
Get the space-stripping action to be applied to the source documentGet the System ID.Get the name of the top-level element for validation.Get the type of the document element for validation.int
Get the tree model that will be used.Assuming that the contained Source is a node in a tree, determine whether a tree will be created as a view of this supplied tree, or as a copy.Get the SAX parser (XMLReader) to be usedboolean
Get whether line numbers are to be maintained in the constructed documentboolean
Determine whether setLineNumbering() has been calledboolean
Determine whether or not the user of this Source is encouraged to close it as soon as reading is finished.boolean
Get state of XInclude processing.boolean
Determine whether setXIncludeAware() has been called.static AugmentedSource
makeAugmentedSource
(Source source) Create an AugmentedSource that wraps a given Source object.void
setDTDValidationMode
(int option) Set whether or not DTD validation of this source is requiredvoid
setEntityResolver
(EntityResolver resolver) Deprecated.since 9.1 (this method has never had any effect, other than allowing the EntityResolver to be retrieved using thegetEntityResolver()
method)void
setErrorListener
(ErrorListener listener) Set an ErrorListener to be used when parsingvoid
setLineNumbering
(boolean lineNumbering) Set whether line numbers are to be maintained in the constructed documentvoid
setPleaseCloseAfterUse
(boolean close) Set whether or not the user of this Source is encouraged to close it as soon as reading is finished.void
setSchemaValidationMode
(int option) Set whether or not schema validation of this source is requiredvoid
setSourceIsXQJ
(boolean flag) Indicate that this Source is supporting the weird XQJ createItemFromDocument(XMLReader) method.void
setStripSpace
(int stripAction) Set the space-stripping action to be applied to the source documentvoid
setSystemId
(String id) Set the System ID.void
setTopLevelElement
(StructuredQName elementName) Set the name of the top-level element for validation.void
setTopLevelType
(SchemaType type) Set the type of the top-level element for validation.void
setTreeModel
(int model) Set the tree model to use.void
setWrapDocument
(Boolean wrap) Assuming that the contained Source is a node in a tree, indicate whether a tree should be created as a view of this supplied tree, or as a copy.void
setXIncludeAware
(boolean state) Set state of XInclude processing.void
setXMLReader
(XMLReader parser) Set the SAX parser (XMLReader) to be usedboolean
Ask whether this Source is supporting the weird XQJ createItemFromDocument(XMLReader) method.
-
Method Details
-
makeAugmentedSource
Create an AugmentedSource that wraps a given Source object. If this is already an AugmentedSource, the original AugmentedSource is returned. Note that this means that setting any properties on the returned AugmentedSource will also affect the original.- Parameters:
source
- the Source object to be wrapped- Returns:
- an AugmentedSource
- Since:
- 8.8
-
addFilter
Add a filter to the list of filters to be applied to the raw input- Parameters:
filter
- the filter to be added
-
getFilters
Get the list of filters to be applied to the input. Returns null if there are no filters.- Returns:
- the list of filters, if there are any
-
getContainedSource
Get the Source object wrapped by this AugmentedSource- Returns:
- the contained Source object
- Since:
- 8.8
-
setStripSpace
public void setStripSpace(int stripAction) Set the space-stripping action to be applied to the source document- Parameters:
stripAction
- one ofWhitespace.IGNORABLE
,Whitespace.ALL
, orWhitespace.NONE
- Since:
- 8.8
-
getStripSpace
public int getStripSpace()Get the space-stripping action to be applied to the source document- Returns:
- one of
Whitespace.IGNORABLE
,Whitespace.ALL
, orWhitespace.NONE
- Since:
- 8.8
-
setTreeModel
public void setTreeModel(int model) Set the tree model to use. Default is the tiny tree- Parameters:
model
- one ofBuilder.TINY_TREE
orBuilder.LINKED_TREE
- Since:
- 8.9
-
getTreeModel
public int getTreeModel()Get the tree model that will be used.- Returns:
- one of
Builder.TINY_TREE
orBuilder.LINKED_TREE
, or {link Builder#UNSPECIFIED_TREE_MODEL} if no call on setTreeModel() has been made - Since:
- 8.9
-
setSchemaValidationMode
public void setSchemaValidationMode(int option) Set whether or not schema validation of this source is required- Parameters:
option
- one ofValidation.STRICT
,Validation.LAX
,Validation.STRIP
,Validation.PRESERVE
,Validation.DEFAULT
- Since:
- 8.8
-
getSchemaValidation
public int getSchemaValidation()Get whether or not schema validation of this source is required- Returns:
- the validation mode requested, or
Validation.DEFAULT
to use the default validation mode from the Configuration. - Since:
- 8.8
-
setTopLevelElement
Set the name of the top-level element for validation. If a top-level element is set then the document being validated must have this as its outermost element- Parameters:
elementName
- the QName of the required top-level element, or null to unset the value- Since:
- 9.0
-
getTopLevelElement
Get the name of the top-level element for validation. If a top-level element is set then the document being validated must have this as its outermost element- Returns:
- the QName of the required top-level element, or null if no value is set
- Since:
- 9.0
-
setTopLevelType
Set the type of the top-level element for validation. If this is set then the document element is validated against this type- Parameters:
type
- the schema type required for the document element, or null to unset the value- Since:
- 9.0
-
getTopLevelType
Get the type of the document element for validation. If this is set then the document element of the document being validated must have this type- Returns:
- the type of the required top-level element, or null if no value is set
- Since:
- 9.0
-
setDTDValidationMode
public void setDTDValidationMode(int option) Set whether or not DTD validation of this source is required- Parameters:
option
- one ofValidation.STRICT
,Validation.STRIP
,Validation.DEFAULT
- Since:
- 8.8
-
getDTDValidation
public int getDTDValidation()Get whether or not DTD validation of this source is required- Returns:
- the validation mode requested, or
Validation.DEFAULT
to use the default validation mode from the Configuration. - Since:
- 8.8
-
setLineNumbering
public void setLineNumbering(boolean lineNumbering) Set whether line numbers are to be maintained in the constructed document- Parameters:
lineNumbering
- true if line numbers are to be maintained- Since:
- 8.8
-
isLineNumbering
public boolean isLineNumbering()Get whether line numbers are to be maintained in the constructed document- Returns:
- true if line numbers are maintained
- Since:
- 8.8
-
isLineNumberingSet
public boolean isLineNumberingSet()Determine whether setLineNumbering() has been called- Returns:
- true if setLineNumbering() has been called
- Since:
- 8.9
-
setXMLReader
Set the SAX parser (XMLReader) to be used- Parameters:
parser
- the SAX parser- Since:
- 8.8
-
getXMLReader
Get the SAX parser (XMLReader) to be used- Returns:
- the parser
- Since:
- 8.8
-
setWrapDocument
Assuming that the contained Source is a node in a tree, indicate whether a tree should be created as a view of this supplied tree, or as a copy.- Parameters:
wrap
- if true, the node in the supplied Source is wrapped, to create a view. If false, the node and its contained subtree is copied. If null, the system default is chosen.- Since:
- 8.8
-
getWrapDocument
Assuming that the contained Source is a node in a tree, determine whether a tree will be created as a view of this supplied tree, or as a copy.- Returns:
- if true, the node in the supplied Source is wrapped, to create a view. If false, the node and its contained subtree is copied. If null, the system default is chosen.
- Since:
- 8.8
-
setSystemId
Set the System ID. This sets the System Id on the underlying Source object.- Specified by:
setSystemId
in interfaceSource
- Parameters:
id
- the System ID. This provides a base URI for the document, and also the result of the document-uri() function- Since:
- 8.8
-
getSystemId
Get the System ID. This gets the System Id on the underlying Source object.- Specified by:
getSystemId
in interfaceSource
- Returns:
- the System ID: effectively the base URI.
- Since:
- 8.8
-
setXIncludeAware
public void setXIncludeAware(boolean state) Set state of XInclude processing.
If XInclude markup is found in the document instance, should it be processed as specified in XML Inclusions (XInclude) Version 1.0.
XInclude processing defaults to
false
.- Parameters:
state
- Set XInclude processing totrue
orfalse
- Since:
- 8.9
-
isXIncludeAwareSet
public boolean isXIncludeAwareSet()Determine whether setXIncludeAware() has been called.
- Returns:
- true if setXIncludeAware() has been called
- Since:
- 8.9
-
isXIncludeAware
public boolean isXIncludeAware()Get state of XInclude processing.
- Returns:
- current state of XInclude processing. Default value is false.
- Since:
- 8.9
-
setEntityResolver
Deprecated.since 9.1 (this method has never had any effect, other than allowing the EntityResolver to be retrieved using thegetEntityResolver()
method)Set an EntityResolver to be used when parsing- Parameters:
resolver
- the EntityResolver to be used- Since:
- 8.9
-
getEntityResolver
Deprecated.since 9.1 (setting an EntityResolver has never had any effect)Get the EntityResolver that will be used when parsing- Returns:
- the EntityResolver, if one has been set using
setEntityResolver(org.xml.sax.EntityResolver)
, otherwise null. - Since:
- 8.9
-
setErrorListener
Set an ErrorListener to be used when parsing- Parameters:
listener
- the ErrorListener to be used- Since:
- 8.9
-
getErrorListener
Get the ErrorListener that will be used when parsing- Returns:
- the ErrorListener, if one has been set using
setErrorListener(javax.xml.transform.ErrorListener)
, otherwise null. - Since:
- 8.9
-
setPleaseCloseAfterUse
public void setPleaseCloseAfterUse(boolean close) Set whether or not the user of this Source is encouraged to close it as soon as reading is finished. Normally the expectation is that any Stream in a StreamSource will be closed by the component that created the Stream. However, in the case of a Source returned by a URIResolver, there is no suitable interface (the URIResolver has no opportunity to close the stream). Also, in some cases such as reading of stylesheet modules, it is possible to close the stream long before control is returned to the caller who supplied it. This tends to make a difference on .NET, where a file often can't be opened if there is a stream attached to it.- Parameters:
close
- true if the source should be closed as soon as it has been consumed- Since:
- 8.8
-
isPleaseCloseAfterUse
public boolean isPleaseCloseAfterUse()Determine whether or not the user of this Source is encouraged to close it as soon as reading is finished.- Returns:
- true if the source should be closed as soon as it has been consumed
- Since:
- 8.8
-
setSourceIsXQJ
public void setSourceIsXQJ(boolean flag) Indicate that this Source is supporting the weird XQJ createItemFromDocument(XMLReader) method. This contains a preinitialized XMLReader that needs to be invoked in a special way- Parameters:
flag
- set to true if this is a special XQJ SAXSource
-
sourceIsXQJ
public boolean sourceIsXQJ()Ask whether this Source is supporting the weird XQJ createItemFromDocument(XMLReader) method. This contains a preinitialized XMLReader that needs to be invoked in a special way- Returns:
- true if this is a special XQJ SAXSource
-
close
public void close()Close any resources held by this Source. This only works if the underlying Source is one that is recognized as holding closable resources.- Since:
- 8.8
-