## 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
`StartTagBufferEE()`

Method Summary
`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(int nameCode, String value, int location, int properties)` Notify an inheritable attribute
`void` `startElement(int nameCode, int 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, getElementNameCode, getLocalNamespaces, getURICode, getURIForPrefix, hasAttributes, iteratePrefixes, namespace, setPipelineConfiguration, startContent, startDocument, undeclareNamespacesForElement`

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, characters, close, comment, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, open, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, usesTypeAnnotations`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`append, 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()

Method Detail

### startElement

    public void startElement(int nameCode,
                             int 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`

### endElement

    public void endElement()
                    throws XPathException

  End of element

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `StartTagBuffer`
  Throws:
    `XPathException`

### notifyInheritableAttribute

    public void notifyInheritableAttribute(int 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-2010 Saxonica Limited. All rights reserved.