## net.sf.saxon
Class AugmentedSource

    java.lang.Object
      net.sf.saxon.AugmentedSource

All Implemented Interfaces:
  Source

    public class AugmentedSource

extends Object
implements 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
`void` `addFilter(ProxyReceiver filter)` Add a filter to the list of filters to be applied to the raw input
`void` `close()` Close any resources held by this Source.
`Source` `getContainedSource()` Get the Source object wrapped by this AugmentedSource
`int` `getDTDValidation()` Get whether or not DTD validation of this source is required
`EntityResolver` `getEntityResolver()` Get the EntityResolver that will be used when parsing
`ErrorListener` `getErrorListener()` Get the ErrorListener that will be used when parsing
`List` `getFilters()` Get the list of filters to be applied to the input.
`int` `getSchemaValidation()` Get whether or not schema validation of this source is required
`int` `getStripSpace()` Get the space-stripping action to be applied to the source document
`String` `getSystemId()` Get the System ID.
`int` `getTreeModel()` Get the tree model that will be used.
`Boolean` `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.
`XMLReader` `getXMLReader()` Get the SAX parser (XMLReader) to be used
`boolean` `isLineNumbering()` Get whether line numbers are to be maintained in the constructed document
`boolean` `isLineNumberingSet()` Determine whether setLineNumbering() has been called
`boolean` `isPleaseCloseAfterUse()` Determine whether or not the user of this Source is encouraged to close it as soon as reading is finished.
`boolean` `isXIncludeAware()` Get state of XInclude processing.
`boolean` `isXIncludeAwareSet()` 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 required
`void` `setEntityResolver(EntityResolver resolver)` Set an EntityResolver to be used when parsing
`void` `setErrorListener(ErrorListener listener)` Set an ErrorListener to be used when parsing
`void` `setLineNumbering(boolean lineNumbering)` Set whether line numbers are to be maintained in the constructed document
`void` `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 required
`void` `setStripSpace(int stripAction)` Set the space-stripping action to be applied to the source document
`void` `setSystemId(String id)` Set the System ID.
`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 used

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### makeAugmentedSource

    public static AugmentedSource makeAugmentedSource(Source source)

  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
  Since:
    8.8

### addFilter

    public void addFilter(ProxyReceiver filter)

  Add a filter to the list of filters to be applied to the raw input

### getFilters

    public List getFilters()

  Get the list of filters to be applied to the input. Returns null if there are no filters.

### getContainedSource

    public Source 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 of `Whitespace.IGNORABLE`, `Whitespace.ALL`, or `Whitespace.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`, or `Whitespace.NONE`
  Since:
    8.8

### setTreeModel

    public void setTreeModel(int model)

  Set the tree model to use. Default is the tiny tree

  Parameters:
    `model` - one of `Builder.TINY_TREE` or `Builder.LINKED_TREE`
  Since:
    8.9

### getTreeModel

    public int getTreeModel()

  Get the tree model that will be used.

  Returns:
    one of `Builder.TINY_TREE` or `Builder.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 of `Validation.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

### setDTDValidationMode

    public void setDTDValidationMode(int option)

  Set whether or not DTD validation of this source is required

  Parameters:
    `option` - one of `Validation.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` -
  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

    public void setXMLReader(XMLReader parser)

  Set the SAX parser (XMLReader) to be used

  Parameters:
    `parser` - the SAX parser
  Since:
    8.8

### getXMLReader

    public XMLReader getXMLReader()

  Get the SAX parser (XMLReader) to be used

  Returns:
    the parser
  Since:
    8.8

### setWrapDocument

    public 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.

  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

    public Boolean 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

    public void setSystemId(String id)

  Set the System ID. This sets the System Id on the underlying Source object.

  Specified by:
    `setSystemId` in interface `Source`
  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

    public String getSystemId()

  Get the System ID. This gets the System Id on the underlying Source object.

  Specified by:
    `getSystemId` in interface `Source`
  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 to `true` or `false`
  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

    public void setEntityResolver(EntityResolver resolver)

  Set an EntityResolver to be used when parsing

  Parameters:
    `resolver` - the EntityResolver to be used
  Since:
    8.9

### getEntityResolver

    public EntityResolver getEntityResolver()

  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

    public void setErrorListener(ErrorListener listener)

  Set an ErrorListener to be used when parsing

  Parameters:
    `listener` - the ErrorListener to be used
  Since:
    8.9

### getErrorListener

    public ErrorListener 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.

  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.

  Since:
    8.8

### 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

Copyright (C) Michael H. Kay. All rights reserved.