# Titanium.XML.Element

Represents an element in a DOM document, a Titanium.XML.Node defined by a start-tag and end-tag (or an empty tag). Elements may have Titanium.XML.Attr associated with them. Implements the DOM Level 2 API on Android and iOS with some non-standard extensions.

Availability
0.9
0.9
9.2.0

# Properties

# apiName READONLY

Availability
3.2.0
3.2.0
9.2.0
apiName :String

The name of the API that this proxy corresponds to.

The value of this property is the fully qualified name of the API. For example, Titanium.UI.Button returns Ti.UI.Button.


# attributes READONLY

Availability
0.9
0.9
9.2.0

A map of this node's attributes.

As defined by the DOM specification, only Titanium.XML.Element nodes have attributes. For all other node types, this property is always null.


# bubbleParent

Availability
3.0.0
3.0.0
9.2.0
bubbleParent :Boolean

Indicates if the proxy will bubble an event to its parent.

Some proxies (most commonly views) have a relationship to other proxies, often established by the add() method. For example, for a button added to a window, a click event on the button would bubble up to the window. Other common parents are table sections to their rows, table views to their sections, and scrollable views to their views. Set this property to false to disable the bubbling to the proxy's parent.

Default: true


# childNodes READONLY

Availability
0.9
0.9
9.2.0
childNodes :Titanium.XML.NodeList

A Titanium.XML.NodeList of this node's children.


# firstChild READONLY

Availability
0.9
0.9
9.2.0
firstChild :Titanium.XML.Node

This node's first child.


# lastChild READONLY

Availability
0.9
0.9
9.2.0
lastChild :Titanium.XML.Node

This node's last child.


# lifecycleContainer

Availability
3.6.0

The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.

If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks will also be called on the proxy. Proxies that require the activity lifecycle will need this property set to the appropriate containing Window or TabGroup.


# localName

Availability
0.9
0.9
9.2.0
localName :String

Local part of the qualified name of this node.

The local part of the qualified name that comes after the colon. That is, the name without the namespace prefix.


# namespaceURI READONLY

Availability
0.9
0.9
9.2.0
namespaceURI :String

Namespace URI of this node.


# nextSibling READONLY

Availability
0.9
0.9
9.2.0
nextSibling :Titanium.XML.Node

This node's next sibling.


# nodeName READONLY

Availability
0.9
0.9
9.2.0
nodeName :String

Name of this node.

Certain node types have constant values defined by the DOM specification:

  • Text node: #text
  • Comment node: #comment
  • CDATA section node: #cdata-section
  • Document node: #document
  • Document fragment node: #document-fragment

# nodeType READONLY

Availability
0.9
0.9
9.2.0
nodeType :Number

This node's type. One of ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE.


# nodeValue

Availability
0.9
0.9
9.2.0
nodeValue :String

Content (value) of this node.

As defined in the DOM specification, the node value is always null for Document, DocumentFragment, DocumentType, Element, Entity, EntityReference, and Notation nodes.


# ownerDocument READONLY

Availability
0.9
0.9
9.2.0
ownerDocument :Titanium.XML.Document

This node's owning document.

Note that a node always has an owning document, even if it is not part of the document tree.

For more on node ownership, see ownerDocument issues in the W3C DOM FAQ.


# parentNode READONLY

Availability
0.9
0.9
9.2.0
parentNode :Titanium.XML.Node

This node's parent node.


# prefix

Availability
0.9
0.9
9.2.0
prefix :String

Namespace prefix of this node.

Read-only on iOS, read-write on other platforms.


# previousSibling READONLY

Availability
0.9
0.9
9.2.0
previousSibling :Titanium.XML.Node

This node's previous sibling.


# tagName READONLY

Availability
0.9
0.9
9.2.0
tagName :String

The name of the element, as defined by its tag.


# text READONLYDEPRECATED

Availability
0.9
0.9
9.2.0
text :String

DEPRECATED SINCE 2.0.0

Use textContent instead.

Content (value) of all text nodes within this node.


# textContent READONLY

Availability
0.9
0.9
9.2.0
textContent :String

Content (value) of all text nodes within this node.

On Android, textContent is supported on Titanium.XML.Element and Titanium.XML.Text nodes only.

# Methods

# addEventListener

Availability
0.9
0.9
9.2.0
addEventListener(name, callback) void

Adds the specified callback as an event listener for the named event.

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to invoke when the event is fired.

Returns

Type
void

# appendChild

Availability
0.9
0.9
9.2.0
appendChild(newChild) Titanium.XML.Node

Appends the node newChild as a child of this node.

On iOS, appendChild is supported on Titanium.XML.Element nodes only.

Parameters

Name Type Description
newChild Titanium.XML.Node

New node to append.

Returns

Newly-appended node.


# applyProperties

Availability
3.0.0
3.0.0
9.2.0
applyProperties(props) void

Applies the properties to the proxy.

Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that myproxy[key] = value.

Parameters

Name Type Description
props Dictionary

A dictionary of properties to apply.

Returns

Type
void

# cloneNode

Availability
0.9
0.9
9.2.0
cloneNode(deep) Titanium.XML.Node

Returns a duplicate of this node.

Parameters

Name Type Description
deep Boolean

Whether or not to perform a deep copy of this node.

Returns

Cloned node.


# fireEvent

Availability
0.9
0.9
9.2.0
fireEvent(name[, event]) void

Fires a synthesized event to any registered listeners.

Parameters

Name Type Description
name String

Name of the event.

event Dictionary

A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.

Returns

Type
void

# getAttribute

Availability
0.9
0.9
9.2.0
getAttribute(name) String

Retrieves an attribute value by name, returning it as a string.

Parameters

Name Type Description
name String

The name of the attribute

Returns

The Titanium.XML.Attr value as a string, or empty string if the attribute has no specified or default value.

Type
String

# getAttributeNode

Availability
0.9
0.9
9.2.0
getAttributeNode(name) Titanium.XML.Attr

Retrieves an attribute value by name, returning it as a Titanium.XML.Attr object.

Parameters

Name Type Description
name String

The name of the attribute

Returns

The Titanium.XML.Attr value, or null if there is no such attribute.


# getAttributeNodeNS

Availability
0.9
0.9
9.2.0
getAttributeNodeNS(namespaceURI, localName) Titanium.XML.Attr

Retrieves an attribute value by local name and namespace URI, returning it as a Titanium.XML.Attr object.

Parameters

Name Type Description
namespaceURI String

The namespace URI of the attribute to retrieve.

localName String

The local name of the attribute to retrieve.

Returns

The Titanium.XML.Attr value, or null if there is no such attribute.


# getAttributeNS

Availability
0.9
0.9
9.2.0
getAttributeNS(namespaceURI, localName) String

Retrieves an attribute value by local name and namespace URI, returning it as a string.

Parameters

Name Type Description
namespaceURI String

The namespace URI of the attribute to retrieve.

localName String

The local name of the attribute to retrieve.

Returns

The Titanium.XML.Attr value as a string, or empty string if the attribute has no specified or default value.

Type
String

# getElementsByTagName

Availability
0.9
0.9
9.2.0
getElementsByTagName(name) Titanium.XML.NodeList

Retrieves a Titanium.XML.NodeList of all descendant elements with a given tag name, in preorder traversal.

Parameters

Name Type Description
name String

The name of the element. The value * matches all tags.

Returns


# getElementsByTagNameNS

Availability
0.9
0.9
9.2.0
getElementsByTagNameNS(namespaceURI, localName) Titanium.XML.NodeList

Retrieves a Titanium.XML.NodeList of all descendant elements with a given local name and namespace URI, in preorder traversal.

Parameters

Name Type Description
namespaceURI String

The namespace URI of the element. The value * matches all namespaces.

localName String

The local name of the element. The value * matches all local names.

Returns


# hasAttribute

Availability
0.9
0.9
9.2.0
hasAttribute(name) Boolean

Determines whether or not an attribute with the given name is available in the element, or has a default value.

Parameters

Name Type Description
name String

The name of the attribute to search for.

Returns

Type
Boolean

# hasAttributeNS

Availability
0.9
0.9
9.2.0
hasAttributeNS(namespaceURI, localName) Boolean

Determines whether or not an attribute with the given name is available in the element, or has a default value.

Parameters

Name Type Description
namespaceURI String

The namespace URI of the attribute to search for.

localName String

The local name of the attribute to search for.

Returns

Type
Boolean

# hasAttributes

Availability
0.9
0.9
9.2.0
hasAttributes() Boolean

Returns true if this node has attributes.

Returns

True if this node has attributes, false if it does not.

Type
Boolean

# hasChildNodes

Availability
0.9
0.9
9.2.0
hasChildNodes() Boolean

Returns true if this node has child nodes.

Returns

True if this node has children, false if it does not.

Type
Boolean

# insertBefore

Availability
0.9
0.9
9.2.0
insertBefore(newChild, refChild) Titanium.XML.Node

Inserts the node newChild before the node refChild.

On iOS, insertBefore is supported on Titanium.XML.Element nodes only.

Parameters

Name Type Description
newChild Titanium.XML.Node

Node to insert.

refChild Titanium.XML.Node

Node to insert newChild before.

Returns

The inserted node.


# isSupported

Availability
0.9
0.9
9.2.0
isSupported(feature, version) Boolean

Tests whether the DOM implementation supports a specific feature.

Parameters

Name Type Description
feature String

Name of the feature.

version String

Version number of the feature.

Returns

True if the feature is supported, false if it is not.

Type
Boolean

# normalize

Availability
0.9
normalize() void

Normalizes text and attribute nodes in this node's child hierarchy.

Returns

Type
void

# removeAttribute

Availability
0.9
0.9
9.2.0
removeAttribute(name) void

Removes an attribute by name. If the attribute has a default value, it is immediately replaced with this default, including namespace URI and local name. Throws an exception if the element is read-only.

Parameters

Name Type Description
name String

The name of the attribute to remove.

Returns

Type
void

# removeAttributeNode

Availability
0.9
0.9
9.2.0
removeAttributeNode(oldAttr) void

Removes the specified attribute node. If the removed attribute has a default value, it is replaced immediately, with the same namespace and local name as the removed attribute, if applicable. Throws an exception if the element is read-only, or the attribute is not an attribute of the element.

Parameters

Name Type Description
oldAttr Titanium.XML.Attr

The attribute to remove.

Returns

Type
void

# removeAttributeNS

Availability
0.9
0.9
9.2.0
removeAttributeNS(namespaceURI, localName) void

Removes an attribute by local name and namespace URI. If the attribute has a default value, it is immediately replaced with this default, including namespace URI and local name. Throws an exception if the element is read-only.

Parameters

Name Type Description
namespaceURI String

The namespace URI of the attribute to remove.

localName String

The local name of the attribute to remove.

Returns

Type
void

# removeChild

Availability
0.9
0.9
9.2.0
removeChild(oldChild) Titanium.XML.Node

Removes a child node from this node.

On iOS, removeChild is supported on Titanium.XML.Element nodes only.

Parameters

Name Type Description
oldChild Titanium.XML.Node

Node to remove.

Returns

Node that was removed.


# removeEventListener

Availability
0.9
0.9
9.2.0
removeEventListener(name, callback) void

Removes the specified callback as an event listener for the named event.

Multiple listeners can be registered for the same event, so the callback parameter is used to determine which listener to remove.

When adding a listener, you must save a reference to the callback function in order to remove the listener later:

var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);

To remove the listener, pass in a reference to the callback function:

window.removeEventListener('click', listener);

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to remove. Must be the same function passed to addEventListener.

Returns

Type
void

# replaceChild

Availability
0.9
0.9
9.2.0
replaceChild(newChild, oldChild) Titanium.XML.Node

Replaces the node oldChild with the node newChild.

On iOS, replaceChild is supported on Titanium.XML.Element nodes only.

Parameters

Name Type Description
newChild Titanium.XML.Node

New node.

oldChild Titanium.XML.Node

Node being replaced.

Returns

Node that was replaced.


# setAttribute

Availability
0.9
0.9
9.2.0
setAttribute(name, value) void

Adds a new attribute. Any attribute with the same name is replaced. Throws an exception if the element is read-only, or if the name contains an illegal character.

Parameters

Name Type Description
name String

The name of the attribute.

value String

The value of the attribute. This is value is not parsed as part of the assignment. Any markup is treated as literal text, and needs to be escaped.

Returns

Type
void

# setAttributeNode

Availability
0.9
0.9
9.2.0
setAttributeNode(newAttr) Titanium.XML.Attr

Adds a new attribute. Any attribute with the same nodeName as the argument is replaced. Throws an exception if the element is read-only, if newAttr is from a different document, or if newAttr is already an attribute of another element.

Parameters

Name Type Description
newAttr Titanium.XML.Attr

The attribute node to add to the element.

Returns

The attribute that was replaced, or null otherwise.


# setAttributeNodeNS

Availability
0.9
0.9
9.2.0
setAttributeNodeNS(newAttr) Titanium.XML.Attr

Adds a new attribute. Any attribute with the same local name and namespace URI is replaced. Throws an exception if the element is read-only, if newAttr is from a different document, or if newAttr is already an attribute of another element.

Parameters

Name Type Description
newAttr Titanium.XML.Attr

The attribute node to add to the element.

Returns

The attribute that was replaced, or null otherwise.


# setAttributeNS

Availability
0.9
0.9
9.2.0
setAttributeNS(namespaceURI, qualifiedName, value) void

Adds a new attribute. Any attribute with the same local name and namespace URI is present on the element is replaced, with its prefix changed to that of the qualifiedName parameter. Throws an exception if the element is read-only, if the name contains an illegal character, or if the qualified name contains an error.

Parameters

Name Type Description
namespaceURI String

The namespace URI of the attribute.

qualifiedName String

The qualified name of the attribute. If it is malformed, has a prefix and namespaceURI is null, or if the prefix is xml or xmlns but does not correspond to a property defined in the XML or XMLNS specifications, then it contains an error.

value String

The value of the attribute. This is value is not parsed as part of the assignment. Any markup is treated as literal text, and needs to be escaped.

Returns

Type
void

# Constants

# ATTRIBUTE_NODE

Availability
0.9
0.9
9.2.0
ATTRIBUTE_NODE :Number

Used with nodeType to identify an Titanium.XML.Attr node.


# CDATA_SECTION_NODE

Availability
0.9
0.9
9.2.0
CDATA_SECTION_NODE :Number

Used with nodeType to identify a Titanium.XML.CDATASection node.


# COMMENT_NODE

Availability
0.9
0.9
9.2.0
COMMENT_NODE :Number

Used with nodeType to identify a Titanium.XML.Comment node.


# DOCUMENT_FRAGMENT_NODE

Availability
0.9
0.9
9.2.0
DOCUMENT_FRAGMENT_NODE :Number

Used with nodeType to identify a Titanium.XML.DocumentFragment node.


# DOCUMENT_NODE

Availability
0.9
0.9
9.2.0
DOCUMENT_NODE :Number

Used with nodeType to identify a Titanium.XML.Document node.


# DOCUMENT_TYPE_NODE

Availability
0.9
0.9
9.2.0
DOCUMENT_TYPE_NODE :Number

Used with nodeType to identify a Titanium.XML.DocumentType node.


# ELEMENT_NODE

Availability
0.9
0.9
9.2.0
ELEMENT_NODE :Number

Used with nodeType to identify an Titanium.XML.Element node.


# ENTITY_NODE

Availability
0.9
0.9
9.2.0
ENTITY_NODE :Number

Used with nodeType to identify an Titanium.XML.Entity node.


# ENTITY_REFERENCE_NODE

Availability
0.9
0.9
9.2.0
ENTITY_REFERENCE_NODE :Number

Used with nodeType to identify an Titanium.XML.EntityReference node.


# NOTATION_NODE

Availability
0.9
0.9
9.2.0
NOTATION_NODE :Number

Used with nodeType to identify a Titanium.XML.Notation node.


# PROCESSING_INSTRUCTION_NODE

Availability
0.9
0.9
9.2.0
PROCESSING_INSTRUCTION_NODE :Number

Used with nodeType to identify a Titanium.XML.ProcessingInstruction node.


# TEXT_NODE

Availability
0.9
0.9
9.2.0
TEXT_NODE :Number

Used with nodeType to identify a Titanium.XML.Text node.