# Titanium.XML.CharacterData

An interface extending Titanium.XML.Node with a set of attributes and methods for accessing character data in the DOM. Implements the DOM Level 2 API on Android and iOS. For reasons of compatibility with the javascript engine, text is represented by UTF-8 instead of UTF-16 on Android and iOS.

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.


# data

Availability
0.9
0.9
9.2.0
data :String

The character data of the node that implements this interface. Throws an exception during setting if this node is readonly.


# 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.


# length READONLY

Availability
0.9
0.9
9.2.0
length :Number

The number of characters that are available through data and the substringData method. This may have the value zero, i.e., Titanium.XML.CharacterData may be empty.


# 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.


# text READONLYDEPRECATED

Availability
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
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.


# appendData

Availability
0.9
0.9
9.2.0
appendData(arg) void

Append the string to the end of the character data of the node. Upon success, data provides access to the concatenation of data and the string specified. Throws an exception if this node is readonly.

Parameters

Name Type Description
arg String

The string to append.

Returns

Type
void

# 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.


# deleteData

Availability
0.9
0.9
9.2.0
deleteData(offset, count) void

Remove a range of characters from the node. Upon success, data and length reflect the change. Throws an exception if this node is readonly, if offset is negative, offset is beyond the data's length, or if count is negative.

Parameters

Name Type Description
offset Number

The offset from which to start removing.

count Number

The number of characters to delete. If the sum of offset and count exceeds length then all characters from offset to the end of the data are deleted.

Returns

Type
void

# 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

# 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.


# insertData

Availability
0.9
0.9
9.2.0
insertData(offset, arg) void

Insert a string at the specified offset. Throws an exception if this node is readonly, if offset is negative, or if offset is beyond the data's length.

Parameters

Name Type Description
offset Number

The character offset at which to insert.

arg String

The string to insert.

Returns

Type
void

# 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

# 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.


# replaceData

Availability
0.9
0.9
9.2.0
replaceData(offset, count, arg) void

Replace the characters starting at the specified offset with the specified string. Throws an exception if this node is readonly, if offset is negative, offset is beyond the data's length, or if count is negative.

Parameters

Name Type Description
offset Number

The offset from which to start replacing.

count Number

The number of characters to replace. If the sum of offset and count exceeds length, then all characters to the end of the data are replaced; (i.e., the effect is the same as a remove method call with the same range, followed by an append method invocation).

arg String

The string with which the range must be replaced.

Returns

Type
void

# substringData

Availability
0.9
0.9
9.2.0
substringData(offset, count) String

Extracts a range of data from the node. Throws an exception if offset is negative, offset is beyond the data's length, or if count is negative.

Parameters

Name Type Description
offset Number

Start offset of substring to extract.

count Number

The number of characters units to extract.

Returns

The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned.

Type
String

# 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.