Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.validate
Class XSIAttributeHandler

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              com.saxonica.validate.ValidatingFilter
                  com.saxonica.validate.XSIAttributeHandler

All Implemented Interfaces:
  Result, Receiver

    public class XSIAttributeHandler

extends ValidatingFilter

This class processes attributes such as xsi:schemaLocation and xsi:type. To achieve this, it needs to be preceded in the pipeline by a StartTagBuffer, which buffers all attributes and namespaces, because the xsi:type and schemaLocation need to be processed before the start element event. Apart from the StartTagBuffer, this is the first class in the validation pipeline.

The main work of this class can be done in the startElement event, because the StartTagBuffer ensures that by this time, all the namespaces and attributes for the element are known and accessible.

Field Summary

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`nextReceiver`

Fields inherited from class net.sf.saxon.event.SequenceReceiver
`pipelineConfiguration, previousAtomic, systemId`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`XSIAttributeHandler(ValidationStack out)` Create a handler for xsi: attributes

Method Summary
`void` | `attribute(NodeName nameCode, SimpleType typeCode, CharSequence value, int locationId, int properties)` Notify an attribute.
`void` | `endDocument()` Notify the end of a document node
`void` | `setPipelineConfiguration(PipelineConfiguration pipe)` Set the pipeline configuration
`void` | `setStartTagBuffer(StartTagBufferEE stb)` Provide the location of the start tag buffer which buffers the attributes for a start tag and resolves namespaces
`void` | `startElement(NodeName nameCode, SchemaType typeCode, int locationId, int properties)` Notify the start of an element

Methods inherited from class com.saxonica.validate.ValidatingFilter
`append, getErrorCode, getInvalidity, isInvalid, reportIfInvalid, reportValidationError, setErrorCode, setInvalidity, usesTypeAnnotations`

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`characters, close, comment, endElement, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`append, getConfiguration, getPipelineConfiguration, getSystemId`

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

Constructor Detail

### XSIAttributeHandler

    public XSIAttributeHandler(ValidationStack out)

  Create a handler for xsi: attributes

  Parameters:
    `out` - the next filter in the pipeline

Method Detail

### setStartTagBuffer

    public void setStartTagBuffer(StartTagBufferEE stb)

  Provide the location of the start tag buffer which buffers the attributes for a start tag and resolves namespaces

  Parameters:
    `stb` - the start tag buffer

### setPipelineConfiguration

    public void setPipelineConfiguration(PipelineConfiguration pipe)

  Description copied from interface: `Receiver`
  Set the pipeline configuration

  Specified by:
    `setPipelineConfiguration` in interface `Receiver`
  Overrides:
    `setPipelineConfiguration` in class `ProxyReceiver`
  Parameters:
    `pipe` - the pipeline configuration

### startElement

    public void startElement(NodeName nameCode,
                             SchemaType typeCode,
                             int locationId,
                             int properties)
                      throws XPathException

  Notify the start of an element

  Specified by:
    `startElement` in interface `Receiver`
  Overrides:
    `startElement` in class `ProxyReceiver`
  Parameters:
    `nameCode` - integer code identifying the name of the element within the name pool.
    `typeCode` - integer code identifying the element's type within the name pool.
    `properties` - for future use. Should be set to zero.
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
  Throws:
    `XPathException` - if an error occurs

### attribute

    public void attribute(NodeName nameCode,
                          SimpleType typeCode,
                          CharSequence value,
                          int locationId,
                          int properties)
                   throws XPathException

  Notify an attribute. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled.

  Specified by:
    `attribute` in interface `Receiver`
  Overrides:
    `attribute` in class `ProxyReceiver`
  Parameters:
    `nameCode` - The name of the attribute, as held in the name pool
    `typeCode` - The type of the attribute, as held in the name pool
    `properties` - Bit significant value. The following bits are defined:
    DISABLE_ESCAPING
  Disable escaping for this attribute
    NO_SPECIAL_CHARACTERS
  Attribute value contains no special characters
    `value` - the string value of the attribute
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
  Throws:
    `IllegalStateException:` - attempt to output an attribute when there is no open element start tag
    `XPathException` - if an error occurs

### endDocument

    public void endDocument()
                     throws XPathException

  Description copied from class: `ProxyReceiver`
  Notify the end of a document node

  Specified by:
    `endDocument` in interface `Receiver`
  Overrides:
    `endDocument` in class `ProxyReceiver`
  Throws:
    `XPathException` - if an error occurs

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.