StartElement (Java SE 26 & JDK 26)
Description: declaration: module: java.xml, package: javax.xml.stream.events, interface: StartElement
Keywords: javax.xml.stream.events.StartElement interface

# Interface StartElement

All Superinterfaces:
  `XMLEvent, XMLStreamConstants`

public interface StartElement extends XMLEvent
The StartElement interface provides access to information about start elements. A StartElement is reported for each Start Tag in the document.

Since:
  1.6

- ## Field Summary

  ### Fields declared in interface XMLStreamConstants

  `ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT`
  Modifier and Type
  Field
  Description
  `static final int`
  `ATTRIBUTE`
  Indicates an event is an attribute
  `static final int`
  `CDATA`
  Indicates an event is a CDATA section
  `static final int`
  `CHARACTERS`
  Indicates an event is characters
  `static final int`
  `COMMENT`
  Indicates an event is a comment
  `static final int`
  `DTD`
  Indicates an event is a DTD
  `static final int`
  `END_DOCUMENT`
  Indicates an event is an end document
  `static final int`
  `END_ELEMENT`
  Indicates an event is an end element
  `static final int`
  `ENTITY_DECLARATION`
  Indicates a Entity Declaration
  `static final int`
  `ENTITY_REFERENCE`
  Indicates an event is an entity reference
  `static final int`
  `NAMESPACE`
  Indicates the event is a namespace declaration
  `static final int`
  `NOTATION_DECLARATION`
  Indicates a Notation
  `static final int`
  `PROCESSING_INSTRUCTION`
  Indicates an event is a processing instruction
  `static final int`
  `SPACE`
  The characters are white space (see [XML], 2.10 "White Space Handling").
  `static final int`
  `START_DOCUMENT`
  Indicates an event is a start document
  `static final int`
  `START_ELEMENT`
  Indicates an event is a start element

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Attribute`
  `getAttributeByName(QName name)`
  Returns the attribute referred to by the qname.
  `Iterator<Attribute>`
  `getAttributes()`
  Returns an Iterator of non-namespace attributes declared on this START_ELEMENT.
  `QName`
  `getName()`
  Get the name of this event
  `NamespaceContext`
  `getNamespaceContext()`
  Gets a read-only namespace context.
  `Iterator<Namespace>`
  `getNamespaces()`
  Returns an Iterator of namespaces declared on this element.
  `String`
  `getNamespaceURI(String prefix)`
  Gets the value that the prefix is bound to in the context of this element.

  ### Methods declared in interface XMLEvent

  `asCharacters, asEndElement, asStartElement, getEventType, getLocation, getSchemaType, isAttribute, isCharacters, isEndDocument, isEndElement, isEntityReference, isNamespace, isProcessingInstruction, isStartDocument, isStartElement, writeAsEncodedUnicode`
  Modifier and Type
  Method
  Description
  `Characters`
  `asCharacters()`
  Returns this event as Characters, may result in a class cast exception if this event is not Characters.
  `EndElement`
  `asEndElement()`
  Returns this event as an end element event, may result in a class cast exception if this event is not a end element.
  `StartElement`
  `asStartElement()`
  Returns this event as a start element event, may result in a class cast exception if this event is not a start element.
  `int`
  `getEventType()`
  Returns an integer code for this event.
  `Location`
  `getLocation()`
  Return the location of this event.
  `QName`
  `getSchemaType()`
  This method is provided for implementations to provide optional type information about the associated event.
  `boolean`
  `isAttribute()`
  A utility function to check if this event is an Attribute.
  `boolean`
  `isCharacters()`
  A utility function to check if this event is Characters.
  `boolean`
  `isEndDocument()`
  A utility function to check if this event is an EndDocument.
  `boolean`
  `isEndElement()`
  A utility function to check if this event is a EndElement.
  `boolean`
  `isEntityReference()`
  A utility function to check if this event is an EntityReference.
  `boolean`
  `isNamespace()`
  A utility function to check if this event is a Namespace.
  `boolean`
  `isProcessingInstruction()`
  A utility function to check if this event is a ProcessingInstruction.
  `boolean`
  `isStartDocument()`
  A utility function to check if this event is a StartDocument.
  `boolean`
  `isStartElement()`
  A utility function to check if this event is a StartElement.
  `void`
  `writeAsEncodedUnicode(Writer writer)`
  This method will write the XMLEvent as per the XML 1.0 specification as Unicode characters.

- ## Method Details

  - ### getName

    QName getName()
    Get the name of this event
    Returns:
      the qualified name of this event

  - ### getAttributes

    Iterator<Attribute> getAttributes()
    Returns an Iterator of non-namespace attributes declared on this START_ELEMENT. Returns an empty iterator if there are no attributes. The iterator must contain only implementations of the `Attribute` interface. Attributes are fundamentally unordered and may be reported in any order.
    Returns:
      a readonly Iterator over Attribute interfaces, or an empty iterator

  - ### getNamespaces

    Iterator<Namespace> getNamespaces()
    Returns an Iterator of namespaces declared on this element. This Iterator does not contain previously declared namespaces unless they appear on the current START_ELEMENT. Therefore this list may contain redeclared namespaces and duplicate namespace declarations. Use the getNamespaceContext() method to get the current context of namespace declarations.

    The iterator must contain only implementations of the `Namespace` interface.

    A `Namespace` is an `Attribute`. One can iterate over a list of namespaces as a list of attributes. However this method returns only the list of namespaces declared on this START_ELEMENT and does not include the attributes declared on this START_ELEMENT. Returns an empty iterator if there are no namespaces.

    Returns:
      a readonly Iterator over Namespace interfaces, or an empty iterator

  - ### getAttributeByName

    Attribute getAttributeByName(QName name)
    Returns the attribute referred to by the qname.
    Parameters:
      `name` - the qname of the desired attribute
    Returns:
      the attribute corresponding to the name value or null

  - ### getNamespaceContext

    NamespaceContext getNamespaceContext()
    Gets a read-only namespace context. If no context is available this method will return an empty namespace context. The NamespaceContext contains information about all namespaces in scope for this StartElement.
    Returns:
      the current namespace context

  - ### getNamespaceURI

    String getNamespaceURI(String prefix)
    Gets the value that the prefix is bound to in the context of this element. Returns null if the prefix is not bound in this context
    Parameters:
      `prefix` - the prefix to lookup
    Returns:
      the uri bound to the prefix or null