# 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