OpenLayers.Format.XML - OpenLayers

# OpenLayers. Format.XML

Read and write XML. For cross-browser XML generation, use methods on an instance of the XML format class instead of on <code>document<end>. The DOM creation and traversing methods exposed here all mimic the W3C XML DOM methods. Create a new parser with the OpenLayers.Format.XML constructor.

#### Inherits from

- OpenLayers.Format

Summary

OpenLayers. Format.XML | Read and write XML.
Properties |
namespaces | {Object} Mapping of namespace aliases to namespace URIs.
namespaceAlias | {Object} Mapping of namespace URI to namespace alias.
defaultPrefix | {String} The default namespace alias for creating element nodes.
readers | Contains public functions, grouped by namespace prefix, that will be applied when a namespaced node is found matching the function name.
writers | As a compliment to the readers property, this structure contains public writing functions grouped by namespace alias and named like the node names they produce.
xmldom | {XMLDom} If this browser uses ActiveX, this will be set to a XMLDOM object.
Constructor |
OpenLayers. Format.XML | Construct an XML parser.
Functions |
destroy | Clean up.
setNamespace | Set a namespace alias and URI for the format.
write | Serialize a DOM node into a XML string.
createElementNS | Create a new element with namespace.
createTextNode | Create a text node.
getElementsByTagNameNS | Get a list of elements on a node given the namespace URI and local name.
getAttributeNodeNS | Get an attribute node given the namespace URI and local name.
getAttributeNS | Get an attribute value given the namespace URI and local name.
getChildValue | Get the value of the first child node if it exists, or return an optional default string.
concatChildValues | Concatenate the value of all child nodes if any exist, or return an optional default string.
hasAttributeNS | Determine whether a node has a particular attribute matching the given name and namespace.
setAttributeNS | Adds a new attribute or changes the value of an attribute with the given namespace and name.
createElementNSPlus | Shorthand for creating namespaced elements with optional attributes and child text nodes.
setAttributes | Set multiple attributes given key value pairs from an object.
readNode | Shorthand for applying one of the named readers given the node namespace and local name.
readChildNodes | Shorthand for applying the named readers to all children of a node.
writeNode | Shorthand for applying one of the named writers and appending the results to a node.

### Properties

### namespaces

{Object} Mapping of namespace aliases to namespace URIs. Properties of this object should not be set individually. Read-only. All XML subclasses should have their own namespaces object. Use setNamespace to add or set a namespace alias after construction.

### namespaceAlias

{Object} Mapping of namespace URI to namespace alias. This object is read-only. Use setNamespace to add or set a namespace alias.

### defaultPrefix

{String} The default namespace alias for creating element nodes.

### readers

Contains public functions, grouped by namespace prefix, that will be applied when a namespaced node is found matching the function name. The function will be applied in the scope of this parser with two arguments: the node being read and a context object passed from the parent.

### writers

As a compliment to the readers property, this structure contains public writing functions grouped by namespace alias and named like the node names they produce.

### xmldom

{XMLDom} If this browser uses ActiveX, this will be set to a XMLDOM object. It is not intended to be a browser sniffing property. Instead, the xmldom property is used instead of <code>document<end> where namespaced node creation methods are not supported. In all other browsers, this remains null.

### Constructor

### OpenLayers. Format.XML

Construct an XML parser. The parser is used to read and write XML. Reading XML from a string returns a DOM element. Writing XML from a DOM element returns a string.

#### Parameters

options | {Object} Optional object whose properties will be set on the object.

### Functions

### destroy

> destroy: function()

Clean up.

### setNamespace

> setNamespace: function( | alias,
> | uri | )

Set a namespace alias and URI for the format.

#### Parameters

alias | {String} The namespace alias (prefix).
uri | {String} The namespace URI.

### write

> write: function( | node | )

Serialize a DOM node into a XML string.

#### Parameters

node | {DOMElement} A DOM node.

#### Returns

{String} The XML string representation of the input node.

### createElementNS

> createElementNS: function( | uri,
> | name | )

Create a new element with namespace. This node can be appended to another node with the standard node.appendChild method. For cross-browser support, this method must be used instead of document.createElementNS.

#### Parameters

uri | {String} Namespace URI for the element.
name | {String} The qualified name of the element (prefix:localname).

#### Returns

{Element} A DOM element with namespace.

### createTextNode

> createTextNode: function( | text | )

Create a text node. This node can be appended to another node with the standard node.appendChild method. For cross-browser support, this method must be used instead of document.createTextNode.

#### Parameters

text | {String} The text of the node.

#### Returns

{DOMElement} A DOM text node.

### getElementsByTagNameNS

> getElementsByTagNameNS: function( | node,
> | uri,
> | name | )

Get a list of elements on a node given the namespace URI and local name. To return all nodes in a given namespace, use ‘*’ for the name argument. To return all nodes of a given (local) name, regardless of namespace, use ‘*’ for the uri argument.

#### Parameters

node | {Element} Node on which to search for other nodes.
uri | {String} Namespace URI.
name | {String} Local name of the tag (without the prefix).

#### Returns

{NodeList} A node list or array of elements.

### getAttributeNodeNS

> getAttributeNodeNS: function( | node,
> | uri,
> | name | )

Get an attribute node given the namespace URI and local name.

#### Parameters

node | {Element} Node on which to search for attribute nodes.
uri | {String} Namespace URI.
name | {String} Local name of the attribute (without the prefix).

#### Returns

{DOMElement} An attribute node or null if none found.

### getAttributeNS

> getAttributeNS: function( | node,
> | uri,
> | name | )

Get an attribute value given the namespace URI and local name.

#### Parameters

node | {Element} Node on which to search for an attribute.
uri | {String} Namespace URI.
name | {String} Local name of the attribute (without the prefix).

#### Returns

{String} An attribute value or and empty string if none found.

### getChildValue

> getChildValue: function( | node,
> | def | )

Get the value of the first child node if it exists, or return an optional default string. Returns an empty string if no first child exists and no default value is supplied.

#### Parameters

node | {DOMElement} The element used to look for a first child value.
def | {String} Optional string to return in the event that no first child value exists.

#### Returns

{String} The value of the first child of the given node.

### concatChildValues

> concatChildValues: function( | node,
> | def | )

Concatenate the value of all child nodes if any exist, or return an optional default string. Returns an empty string if no children exist and no default value is supplied. Not optimized for large numbers of child nodes.

#### Parameters

node | {DOMElement} The element used to look for child values.
def | {String} Optional string to return in the event that no child exist.

#### Returns

{String} The concatenated value of all child nodes of the given node.

### hasAttributeNS

> hasAttributeNS: function( | node,
> | uri,
> | name | )

Determine whether a node has a particular attribute matching the given name and namespace.

#### Parameters

node | {Element} Node on which to search for an attribute.
uri | {String} Namespace URI.
name | {String} Local name of the attribute (without the prefix).

#### Returns

{Boolean} The node has an attribute matching the name and namespace.

### setAttributeNS

> setAttributeNS: function( | node,
> | uri,
> | name,
> | value | )

Adds a new attribute or changes the value of an attribute with the given namespace and name.

#### Parameters

node | {Element} Element node on which to set the attribute.
uri | {String} Namespace URI for the attribute.
name | {String} Qualified name (prefix:localname) for the attribute.
value | {String} Attribute value.

### createElementNSPlus

> createElementNSPlus: function( | name,
> | options | )

Shorthand for creating namespaced elements with optional attributes and child text nodes.

#### Parameters

name | {String} The qualified node name.
options | {Object} Optional object for node configuration.

#### Valid options

uri | {String} Optional namespace uri for the element - supply a prefix instead if the namespace uri is a property of the format’s namespace object.
attributes | {Object} Optional attributes to be set using the setAttributes method.
value | {String} Optional text to be appended as a text node.

#### Returns

{Element} An element node.

### setAttributes

> setAttributes: function( | node,
> | obj | )

Set multiple attributes given key value pairs from an object.

#### Parameters

node | {Element} An element node.
obj | {Object || Array} An object whose properties represent attribute names and values represent attribute values. If an attribute name is a qualified name (“prefix:local”), the prefix will be looked up in the parsers {namespaces} object. If the prefix is found, setAttributeNS will be used instead of setAttribute.

### readNode

> readNode: function( | node,
> | obj | )

Shorthand for applying one of the named readers given the node namespace and local name. Readers take two args (node, obj) and generally extend or modify the second.

#### Parameters

node | {DOMElement} The node to be read (required).
obj | {Object} The object to be modified (optional).

#### Returns

{Object} The input object, modified (or a new one if none was provided).

### readChildNodes

> readChildNodes: function( | node,
> | obj | )

Shorthand for applying the named readers to all children of a node. For each child of type 1 (element), <readSelf> is called.

#### Parameters

node | {DOMElement} The node to be read (required).
obj | {Object} The object to be modified (optional).

#### Returns

{Object} The input object, modified.

### writeNode

> writeNode: function( | name,
> | obj,
> | parent | )

Shorthand for applying one of the named writers and appending the results to a node. If a qualified name is not provided for the second argument (and a local name is used instead), the namespace of the parent node will be assumed.

#### Parameters

name | {String} The name of a node to generate. If a qualified name (e.g. “pre:Name”) is used, the namespace prefix is assumed to be in the writers group. If a local name is used (e.g. “Name”) then the namespace of the parent is assumed. If a local name is used and no parent is supplied, then the default namespace is assumed.
obj | {Object} Structure containing data for the writer.
parent | {DOMElement} Result will be appended to this node. If no parent is supplied, the node will not be appended to anything.

#### Returns

{DOMElement} The child node.

Contains public functions, grouped by namespace prefix, that will be applied when a namespaced node is found matching the function name.

> destroy: function()

Clean up.

> setNamespace: function( | alias,
> | uri | )

Set a namespace alias and URI for the format.

> write: function( | node | )

Serialize a DOM node into a XML string.

> createElementNS: function( | uri,
> | name | )

Create a new element with namespace.

> createTextNode: function( | text | )

Create a text node.

> getElementsByTagNameNS: function( | node,
> | uri,
> | name | )

Get a list of elements on a node given the namespace URI and local name.

> getAttributeNodeNS: function( | node,
> | uri,
> | name | )

Get an attribute node given the namespace URI and local name.

> getAttributeNS: function( | node,
> | uri,
> | name | )

Get an attribute value given the namespace URI and local name.

> getChildValue: function( | node,
> | def | )

Get the value of the first child node if it exists, or return an optional default string.

> concatChildValues: function( | node,
> | def | )

Concatenate the value of all child nodes if any exist, or return an optional default string.

> hasAttributeNS: function( | node,
> | uri,
> | name | )

Determine whether a node has a particular attribute matching the given name and namespace.

> setAttributeNS: function( | node,
> | uri,
> | name,
> | value | )

Adds a new attribute or changes the value of an attribute with the given namespace and name.

> createElementNSPlus: function( | name,
> | options | )

Shorthand for creating namespaced elements with optional attributes and child text nodes.

> setAttributes: function( | node,
> | obj | )

Set multiple attributes given key value pairs from an object.

> readNode: function( | node,
> | obj | )

Shorthand for applying one of the named readers given the node namespace and local name.

> readChildNodes: function( | node,
> | obj | )

Shorthand for applying the named readers to all children of a node.

> writeNode: function( | name,
> | obj,
> | parent | )

Shorthand for applying one of the named writers and appending the results to a node.
Construct an XML parser.
Base class for format reading/writing a variety of formats.
As a compliment to the readers property, this structure contains public writing functions grouped by namespace alias and named like the node names they produce.
Close