Package com.saxonica.ee.jaxp

## Class TypedContentHandler

- java.lang.Object
- - net.sf.saxon.event.ContentHandlerProxy
  - - com.saxonica.ee.jaxp.TypedContentHandler

- All Implemented Interfaces:
    `javax.xml.transform.Result`, `Receiver`

      public class TypedContentHandler
      extends ContentHandlerProxy

  This class is an extension of ContentHandlerProxy that provides access to type information, using the DOM Level 3 TypeInfo interfaces. The ContentHandlerProxy also acts as a TypeInfoProvider, providing information about the type of the current element or attribute.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `TypedContentHandler.TypeInfoProviderImpl` |

    - ### Nested classes/interfaces inherited from class net.sf.saxon.event.ContentHandlerProxy

      `ContentHandlerProxy.ContentHandlerProxyTraceListener`

  - ### Field Summary

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

      `handler, lexicalHandler`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TypedContentHandler()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `javax.xml.validation.TypeInfoProvider` | `getTypeInfoProvider()` | Get a TypeInfoProvider to provide type information for the current element or attribute event.
    `void` | `startElement​(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties)` | Notify the start of an element
    `boolean` | `usesTypeAnnotations()` | Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events

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

      `characters, close, comment, endDocument, endElement, getConfiguration, getCurrentLocation, getPipelineConfiguration, getSystemId, getTraceListener, getUnderlyingContentHandler, isRequireWellFormed, isUndeclareNamespaces, notifyNotWellFormed, open, processingInstruction, setLexicalHandler, setOutputProperties, setPipelineConfiguration, setRequireWellFormed, setSystemId, setUndeclareNamespaces, setUnderlyingContentHandler, setUnparsedEntity, startDocument`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.event.Receiver

      `append, append, handlesAppend`

- - ### Constructor Detail

    - #### TypedContentHandler

          public TypedContentHandler()

  - ### Method Detail

    - #### getTypeInfoProvider

          public javax.xml.validation.TypeInfoProvider getTypeInfoProvider()

      Get a TypeInfoProvider to provide type information for the current element or attribute event.

    - #### usesTypeAnnotations

          public boolean usesTypeAnnotations()

      Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events
      Specified by:
        `usesTypeAnnotations` in interface `Receiver`
      Overrides:
        `usesTypeAnnotations` in class `ContentHandlerProxy`
      Returns:
        true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation

    - #### startElement

          public void startElement​(NodeName elemName,
                                   SchemaType type,
                                   AttributeMap attributes,
                                   NamespaceMap namespaces,
                                   Location location,
                                   int properties)
                            throws XPathException

      Notify the start of an element
      Specified by:
        `startElement` in interface `Receiver`
      Overrides:
        `startElement` in class `ContentHandlerProxy`
      Parameters:
        `elemName` - the name of the element.
        `type` - the type annotation of the element.
        `attributes` - the attributes of this element
        `namespaces` - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
        `location` - an object providing information about the module, line, and column where the node originated
        `properties` - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class `ReceiverOption`
      Throws:
        `XPathException` - if an error occurs