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.
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. |
{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.
{Object} Mapping of namespace URI to namespace alias. This object is read-only. Use setNamespace to add or set a namespace alias.
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} 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.
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.
uri | {String} Namespace URI for the element. |
name | {String} The qualified name of the element (prefix:localname). |
{Element} A DOM element with namespace.
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.
text | {String} The text of the node. |
{DOMElement} A DOM text node.
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.
node | {Element} Node on which to search for other nodes. |
uri | {String} Namespace URI. |
name | {String} Local name of the tag (without the prefix). |
{NodeList} A node list or array of elements.
getAttributeNodeNS: function( node, uri, name )
Get an attribute node given the namespace URI and local name.
node | {Element} Node on which to search for attribute nodes. |
uri | {String} Namespace URI. |
name | {String} Local name of the attribute (without the prefix). |
{DOMElement} An attribute node or null if none found.
getAttributeNS: function( node, uri, name )
Get an attribute value given the namespace URI and local name.
node | {Element} Node on which to search for an attribute. |
uri | {String} Namespace URI. |
name | {String} Local name of the attribute (without the prefix). |
{String} An attribute value or and empty string if none found.
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.
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. |
{String} The value of the first child of the given node.
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.
node | {DOMElement} The element used to look for child values. |
def | {String} Optional string to return in the event that no child exist. |
{String} The concatenated value of all child nodes of the given node.
hasAttributeNS: function( node, uri, name )
Determine whether a node has a particular attribute matching the given name and namespace.
node | {Element} Node on which to search for an attribute. |
uri | {String} Namespace URI. |
name | {String} Local name of the attribute (without the prefix). |
{Boolean} The node has an attribute matching the 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.
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: function( name, options )
Shorthand for creating namespaced elements with optional attributes and child text nodes.
name | {String} The qualified node name. |
options | {Object} Optional object for node configuration. |
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. |
{Element} An element node.
setAttributes: function( node, obj )
Set multiple attributes given key value pairs from an object.
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: 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.
node | {DOMElement} The node to be read (required). |
obj | {Object} The object to be modified (optional). |
{Object} The input object, modified (or a new one if none was provided).
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.
node | {DOMElement} The node to be read (required). |
obj | {Object} The object to be modified (optional). |
{Object} The input object, modified.
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.
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. |
{DOMElement} The child node.
Clean up.
destroy: function()
Set a namespace alias and URI for the format.
setNamespace: function( alias, uri )
Serialize a DOM node into a XML string.
write: function( node )
Create a new element with namespace.
createElementNS: function( uri, name )
Create a text node.
createTextNode: function( text )
Get a list of elements on a node given the namespace URI and local name.
getElementsByTagNameNS: function( node, uri, name )
Get an attribute node given the namespace URI and local name.
getAttributeNodeNS: function( node, uri, name )
Get an attribute value given the namespace URI and local name.
getAttributeNS: function( node, uri, name )
Get the value of the first child node if it exists, or return an optional default string.
getChildValue: function( node, def )
Concatenate the value of all child nodes if any exist, or return an optional default string.
concatChildValues: function( node, def )
Determine whether a node has a particular attribute matching the given name and namespace.
hasAttributeNS: function( node, uri, name )
Adds a new attribute or changes the value of an attribute with the given namespace and name.
setAttributeNS: function( node, uri, name, value )
Shorthand for creating namespaced elements with optional attributes and child text nodes.
createElementNSPlus: function( name, options )
Set multiple attributes given key value pairs from an object.
setAttributes: function( node, obj )
Shorthand for applying one of the named readers given the node namespace and local name.
readNode: function( node, obj )
Shorthand for applying the named readers to all children of a node.
readChildNodes: function( node, obj )
Shorthand for applying one of the named writers and appending the results to a node.
writeNode: function( name, obj, parent )