Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
Abstract class for all XML elements

array
$_extensionAttributes= 'array()'
array()
Details
array
$_extensionElements= 'array()'
array()
Details
array
$_namespaceLookupCache= 'array()'
array()
Details
array
$_namespaces= 'array(
'atom' => array(
1 => array(
0 => 'http://www.w3.org/2005/Atom'
)
)'
List of namespaces, as a three-dimensional array. The first dimension represents the namespace prefix, the second dimension represents the minimum major protocol version, and the third dimension is the minimum minor protocol version. Null keys are NOT allowed.
When looking up a namespace for a given prefix, the greatest version number (both major and minor) which is less than the effective version should be used.
array(
'atom' => array(
1 => array(
0 => 'http://www.w3.org/2005/Atom'
)
)
Details
string
$_rootElement= 'null'
null
Details
string
$_rootNamespaceURI= 'null'
null
Details
__get(
string $name
)
:
void
Magic getter to allow access like $entry->foo to call $entry->getFoo() Alternatively, if no getFoo() is defined, but a $_foo protected variable is defined, this is returned.
TODO Remove ability to bypass getFoo() methods??
Name | Type | Description |
---|---|---|
$name | string | The variable name sought |

__set(
string $name, $val
)
:
void
Magic setter to allow acces like $entry->foo='bar' to call $entry->setFoo('bar') automatically.
Alternatively, if no setFoo() is defined, but a $_foo protected variable is defined, this is returned.
TODO Remove ability to bypass getFoo() methods??
Name | Type | Description |
---|---|---|
$name | string | |
$val |

__toString(
)
:
string
Magic toString method allows using this directly via echo Works best in PHP >= 4.2.0
Type | Description |
---|---|
string | The text representation of this object |

encode(
)
:
string
Alias for saveXML()
Can be overridden by children to provide more complex representations of entries.
Type | Description |
---|---|
string | Encoded string content |

flushNamespaceLookupCache(
)
:
void
Flush namespace lookup cache.
Empties the namespace lookup cache. Call this function if you have added data to the namespace lookup table that contradicts values that may have been cached during a previous call to lookupNamespace().

getDOM(
\DOMDocument $doc
=
null, $majorVersion
=
1, $minorVersion
=
null
)
:
\DOMElement
Retrieves a DOMElement which corresponds to this element and all child properties. This is used to build an entry back into a DOM and eventually XML text for sending to the server upon updates, or for application storage/persistence.
Name | Type | Description |
---|---|---|
$doc | \DOMDocument | The DOMDocument used to construct DOMElements |
$majorVersion | ||
$minorVersion |
Type | Description |
---|---|
\DOMElement | The DOMElement representing this element and all child properties. |

getExtensionAttributes(
)
:
array
Returns an array of all extension attributes not transformed into data model properties during parsing of the XML. Each element of the array is a hashed array of the format: array('namespaceUri' => string, 'name' => string, 'value' => string);
Type | Description |
---|---|
array | All extension attributes |

getExtensionElements(
)
:
array
Returns an array of all elements not matched to data model classes during the parsing of the XML
Type | Description |
---|---|
array | All elements not matched to data model classes during parsing |

getText(
$trim
=
true
)
:
string
Returns the child text node of this element This represents any raw text contained within the XML element
Name | Type | Description |
---|---|---|
$trim |
Type | Description |
---|---|
string | Child text node |

getXML(
)
:
string
Alias for saveXML() returns XML content for this element and all children
Type | Description |
---|---|
string | XML content |

lookupNamespace(
string $prefix, integer $majorVersion
=
1, integer $minorVersion
=
null
)
:
string
Get the full version of a namespace prefix
Looks up a prefix (atom:, etc.) in the list of registered namespaces and returns the full namespace URI if available. Returns the prefix, unmodified, if it's not registered.
Name | Type | Description |
---|---|---|
$prefix | string | The namespace prefix to lookup. |
$majorVersion | integer | The major protocol version in effect. Defaults to '1'. |
$minorVersion | integer | The minor protocol version in effect. Defaults to null (use latest). |
Type | Description |
---|---|
string |

registerAllNamespaces(
array $namespaceArray
)
:
void
Add an array of namespaces to the registered list.
Takes an array in the format of: namespace prefix, namespace URI, major protocol version, minor protocol version and adds them with calls to ->registerNamespace()
Name | Type | Description |
---|---|---|
$namespaceArray | array | An array of namespaces. |

registerNamespace(
string $prefix, string $namespaceUri, integer $majorVersion
=
1, integer $minorVersion
=
0
)
:
void
Add a namespace and prefix to the registered list
Takes a prefix and a full namespace URI and adds them to the list of registered namespaces for use by $this->lookupNamespace().
WARNING: Currently, registering a namespace will NOT invalidate any memoized data stored in $_namespaceLookupCache. Under normal use, this behavior is acceptable. If you are adding contradictory data to the namespace lookup table, you must call flushNamespaceLookupCache().
Name | Type | Description |
---|---|---|
$prefix | string | The namespace prefix |
$namespaceUri | string | The full namespace URI |
$majorVersion | integer | The major protocol version in effect. Defaults to '1'. |
$minorVersion | integer | The minor protocol version in effect. Defaults to null (use latest). |

saveXML(
)
:
string
Converts this element and all children into XML text using getDOM()
Type | Description |
---|---|
string | XML content |

setExtensionAttributes(
array $value
)
:
\Zend_Gdata_App_Base
Sets an array of all extension attributes not transformed into data model properties during parsing of the XML. Each element of the array is a hashed array of the format: array('namespaceUri' => string, 'name' => string, 'value' => string); This can be used to add arbitrary attributes to any data model element
Name | Type | Description |
---|---|---|
$value | array | All extension attributes |
Type | Description |
---|---|
\Zend_Gdata_App_Base | Returns an object of the same type as 'this' to provide a fluent interface. |

setExtensionElements(
array $value
)
:
\Zend_Gdata_App_Base
Sets an array of all elements not matched to data model classes during the parsing of the XML. This method can be used to add arbitrary child XML elements to any data model class.
Name | Type | Description |
---|---|---|
$value | array | All extension elements |
Type | Description |
---|---|
\Zend_Gdata_App_Base | Returns an object of the same type as 'this' to provide a fluent interface. |

setText(
string $value
)
:
\Zend_Gdata_App_Base
Sets the child text node of this element This represents any raw text contained within the XML element
Name | Type | Description |
---|---|---|
$value | string | Child text node |
Type | Description |
---|---|
\Zend_Gdata_App_Base | Returns an object of the same type as 'this' to provide a fluent interface. |

takeAttributeFromDOM(
\DOMNode $attribute
)
:
void
Given a DOMNode representing an attribute, tries to map the data into instance members. If no mapping is defined, the name and value are stored in an array.
Name | Type | Description |
---|---|---|
$attribute | \DOMNode | The DOMNode attribute needed to be handled |

takeChildFromDOM(
\DOMNode $child
)
:
void
Given a child DOMNode, tries to determine how to map the data into object instance members. If no mapping is defined, Extension_Element objects are created and stored in an array.
Name | Type | Description |
---|---|---|
$child | \DOMNode | The DOMNode needed to be handled |

transferFromDOM(
\DOMNode $node
)
:
void
Transfers each child and attribute into member variables.
This is called when XML is received over the wire and the data model needs to be built to represent this XML.
Name | Type | Description |
---|---|---|
$node | \DOMNode | The DOMNode that represents this object's data |

transferFromXML(
string $xml
)
:
void
Parses the provided XML text and generates data model classes for each know element by turning the XML text into a DOM tree and calling transferFromDOM($element). The first data model element with the same name as $this->_rootElement is used and the child elements are recursively parsed.
Name | Type | Description |
---|---|---|
$xml | string | The XML text to parse |