com.saxonica.validate

## Class StartTagBufferEE

- java.lang.Object
- - net.sf.saxon.event.SequenceReceiver
  - - net.sf.saxon.event.ProxyReceiver
    - - net.sf.saxon.event.StartTagBuffer
      - - com.saxonica.validate.StartTagBufferEE

- All Implemented Interfaces:
    Result, Receiver, NamespaceResolver

      public class StartTagBufferEE
      extends StartTagBuffer

  This class handles attribute inheritance. It's a ProxyReceiver inserted into the validation pipeline that received notification of all events.

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.event.StartTagBuffer

      `bufferedAttributes, elementLocationId, elementNameCode, elementProperties, elementTypeCode, namespaces, namespacesSize`

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

    Constructors
    Constructor and Description
    `StartTagBufferEE(Receiver next)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `NodeInfo` | `createSkeletonElementNode()` Get an element node representing the element whose start tag this is, as required for implementing conditional type assignment
    `void` | `endElement()` End of element
    `void` | `gatherInheritedAttributes(AttributeCollectionImpl atts)` Get all inherited attributes
    `boolean` | `hasInheritedAttributes()` Ask whether there are any attributes to inherit.
    `void` | `notifyInheritableAttribute(NodeName nameCode, String value, int location, int properties)` Notify an inheritable attribute
    `void` | `startElement(NodeName nameCode, SchemaType typeCode, int locationId, int properties)` Notify the start of an element

    - ### Methods inherited from class net.sf.saxon.event.StartTagBuffer

      `attribute, declareAllNamespaces, declareNamespacesForStartElement, endDocument, getAllAttributes, getAttribute, getAttribute, getLocalNamespaces, getURIForPrefix, hasAttributeInNamespace, hasAttributes, iteratePrefixes, namespace, setPipelineConfiguration, startContent, startDocument, undeclareNamespacesForElement`

    - ### Methods inherited from class net.sf.saxon.event.ProxyReceiver

      `append, characters, close, comment, getNamePool, getUnderlyingReceiver, open, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, usesTypeAnnotations`

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

    - #### StartTagBufferEE

          public StartTagBufferEE(Receiver next)

  - ### Method Detail

    - #### 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 `StartTagBuffer`
      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` - properties of the element node
        `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

    - #### endElement

          public void endElement()
                          throws XPathException

      End of element
      Specified by:
        `endElement` in interface `Receiver`
      Overrides:
        `endElement` in class `StartTagBuffer`
      Throws:
        `XPathException` - if an error occurs

    - #### notifyInheritableAttribute

          public void notifyInheritableAttribute(NodeName nameCode,
                                        String value,
                                        int location,
                                        int properties)

      Notify an inheritable attribute
      Parameters:
        `nameCode` - the name of the attribute
        `value` - the value of the attribute

    - #### gatherInheritedAttributes

          public void gatherInheritedAttributes(AttributeCollectionImpl atts)

      Get all inherited attributes
      Parameters:
        `atts` - a collection of attributes; inherited attributes will be added to this collection unless there is already an attribute in the collection with the same name

    - #### hasInheritedAttributes

          public boolean hasInheritedAttributes()

      Ask whether there are any attributes to inherit. (This is an optimization, returning true when there are none does not matter)

    - #### createSkeletonElementNode

          public NodeInfo createSkeletonElementNode()
                                             throws XPathException

      Get an element node representing the element whose start tag this is, as required for implementing conditional type assignment
      Returns:
        an element node. This contains all the required namespaces and attributes, and has no children; it is untyped, as are the attributes.
      Throws:
        `XPathException`

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