# 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.
# Properties
# apiName READONLY
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
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
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
A Titanium.XML.NodeList of this node's children.
# lifecycleContainer
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
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.
# nodeName READONLY
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
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
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
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.
# prefix
Namespace prefix of this node.
Read-only on iOS, read-write on other platforms.
# text READONLYDEPRECATED
DEPRECATED SINCE 2.0.0
Use textContent instead.
Content (value) of all text nodes within this node.
# textContent READONLY
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
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
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.
- Type
- Titanium.XML.Node
# applyProperties
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
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.
- Type
- Titanium.XML.Node
# fireEvent
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
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
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.
- Type
- Titanium.XML.Attr
# getAttributeNodeNS
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.
- Type
- Titanium.XML.Attr
# getAttributeNS
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
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 |
Returns
# getElementsByTagNameNS
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 |
localName | String | The local name of the element. The value |
Returns
# hasAttribute
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
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
Returns true
if this node has attributes.
Returns
True if this node has attributes, false if it does not.
- Type
- Boolean
# hasChildNodes
Returns true
if this node has child nodes.
Returns
True if this node has children, false if it does not.
- Type
- Boolean
# insertBefore
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 |
Returns
The inserted node.
- Type
- Titanium.XML.Node
# isSupported
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
Normalizes text and attribute nodes in this node's child hierarchy.
Returns
- Type
- void
# removeAttribute
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
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
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
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.
- Type
- Titanium.XML.Node
# removeEventListener
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 |
Returns
- Type
- void
# replaceChild
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.
- Type
- Titanium.XML.Node
# setAttribute
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
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.
- Type
- Titanium.XML.Attr
# setAttributeNodeNS
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.
- Type
- Titanium.XML.Attr
# setAttributeNS
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 | |
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
# CDATA_SECTION_NODE
Used with nodeType to identify a Titanium.XML.CDATASection node.
# DOCUMENT_FRAGMENT_NODE
Used with nodeType to identify a Titanium.XML.DocumentFragment node.
# DOCUMENT_TYPE_NODE
Used with nodeType to identify a Titanium.XML.DocumentType node.
# ENTITY_REFERENCE_NODE
Used with nodeType to identify an Titanium.XML.EntityReference node.
# PROCESSING_INSTRUCTION_NODE
Used with nodeType to identify a Titanium.XML.ProcessingInstruction node.