# 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.
# 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.
# data
The character data of the node that implements this interface. Throws an exception during setting if this node is readonly.
# length READONLY
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
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
# appendData
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
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
# deleteData
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
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
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
# insertData
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
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
# 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
# replaceData
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
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
# 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.