Class Xml
Main XML class.
Parses and stores XML data, representing the root of an XML document
Since: CakePHP v .0.10.3.1400
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: xml.php
Properties summary
-
$__file
publicresource
File handle to XML indata file. -
$__header
publicstring
XML document header -
$__parser
publicresource
Resource handle to XML parser. -
$__rawData
publicstring
Raw XML string data (for loading purposes) -
$__tags
publicarray
Default array keys/object properties to use as tag names when converting objects or array structures to XML. Set by passing $options['tags'] to this object's constructor.
-
$encoding
publicstring
XML document encoding -
$version
publicstring
XML document version
Inherited Properties
Method Summary
-
__construct() public
Constructor. Sets up the XML parser with options, gives it this object as its XML object, and sets some variables.
-
__destruct() public
Destructor, used to free resources. -
__initParser() public
Initializes the XML parser resource -
addGlobalNamespace() public
Alias to Xml::addNs -
addGlobalNs() public
Adds a namespace to any XML documents generated or parsed -
addNamespace() public
Adds a namespace to the current document -
compose() public deprecated
Returns a string representation of the XML object -
error() public
If debug mode is on, this method echoes an error message. -
getError() public
Returns a string with a textual description of the error code, or FALSE if no description was found. -
header() public
Return a header used on the first line of the xml file -
load() public
Initialize XML object from a given XML string. Returns false on error. -
next() public
Get next element. NOT implemented. -
options() public
Sets/gets global XML options -
parent() public
Get parent element. NOT implemented. -
parse() public
Parses and creates XML nodes from the __rawData property. -
previous() public
Get previous element. NOT implemented. -
removeGlobalNamespace() public
Alias to Xml::removeNs -
removeGlobalNs() public
Removes a namespace added in addNs() -
removeNamespace() public
Removes a namespace to the current document -
resolveNamespace() public
Resolves current namespace -
toString() public
Return string representation of current object.
Method Detail
__construct() public ¶
__construct( mixed $input = null , array $options = array() )
Constructor. Sets up the XML parser with options, gives it this object as its XML object, and sets some variables.
Options
- 'root': The name of the root element, defaults to '#document'
- 'version': The XML version, defaults to '1.0'
- 'encoding': Document encoding, defaults to 'UTF-8'
- 'namespaces': An array of namespaces (as strings) used in this document
- 'format': Specifies the format this document converts to when parsed or rendered out as text, either 'attributes' or 'tags', defaults to 'attributes'
- 'tags': An array specifying any tag-specific formatting options, indexed by tag name. See XmlNode::normalize().
- 'slug': A boolean to indicate whether or not you want the string version of the XML document to have its tags run through Inflector::slug(). Defaults to true
Parameters
- mixed $input optional null
The content with which this XML document should be initialized. Can be a string, array or object. If a string is specified, it may be a literal XML document, or a URL or file path to read from.
- array $options optional array()
- Options to set up with, for valid options see above:
See
Overrides
addGlobalNs() public ¶
addGlobalNs( string $name , string $url = null )
Adds a namespace to any XML documents generated or parsed
Parameters
- string $name
- The namespace name
- string $url optional null
- The namespace URI; can be empty if in the default namespace map
Returns
False if no URL is specified, and the namespace does not exist default namespace map, otherwise true
addNamespace() public ¶
addNamespace( string $prefix , string $url )
Adds a namespace to the current document
Parameters
- string $prefix
- The namespace prefix
- string $url
- The namespace DTD URL
Overrides
compose() public deprecated ¶
compose( mixed $options = array() )
Returns a string representation of the XML object
Deprecated
Parameters
- mixed $options optional array()
If boolean: whether to include the XML header with the document (defaults to true); if an array, overrides the default XML generation options
Returns
XML data
See
error() public ¶
error( string $msg , integer $code = 0 , integer $line = 0 )
If debug mode is on, this method echoes an error message.
Parameters
- string $msg
- Error message
- integer $code optional 0
- Error code
- integer $line optional 0
- Line in file
getError() public ¶
getError( integer $code )
Returns a string with a textual description of the error code, or FALSE if no description was found.
Parameters
- integer $code
- Error code
Returns
Error message
header() public ¶
header( mixed $attrib = array() )
Return a header used on the first line of the xml file
Parameters
- mixed $attrib optional array()
- attributes of the header element
Returns
formated header
load() public ¶
load( string $input )
Initialize XML object from a given XML string. Returns false on error.
Parameters
- string $input
- XML string, a path to a file, or an HTTP resource to load
Returns
Success
options() public ¶
options( array $options = array() )
Sets/gets global XML options
Parameters
- array $options optional array()
Returns
parse() public ¶
parse( )
Parses and creates XML nodes from the __rawData property.
Returns
Success
See
removeGlobalNs() public ¶
removeGlobalNs( string $name )
Removes a namespace added in addNs()
Parameters
- string $name
- The namespace name or URI
removeNamespace() public ¶
removeNamespace( string $prefix )
Removes a namespace to the current document
Parameters
- string $prefix
- The namespace prefix
Overrides
resolveNamespace() public ¶
resolveNamespace( string $name , string $url )
Resolves current namespace
Parameters
- string $name
- string $url
Returns
toString() public ¶
toString( $options = array() )
Return string representation of current object.
Returns
String representation
Overrides
Methods inherited from XmlNode
__tagOptions() public ¶
__tagOptions( string $name , string $option = null )
Gets the tag-specific options for the given node name
Parameters
- string $name
- XML tag name
- string $option optional null
- The specific option to query. Omit for all options
Returns
A specific option value if $option is specified, otherwise an array of all options
__toString() public ¶
__toString( )
Returns data from toString when this object is converted to a string.
Returns
String representation of this structure.
_killParent() public ¶
_killParent( boolean $recursive = true )
Debug method. Deletes the parent. Also deletes this node's children, if given the $recursive parameter.
Parameters
- boolean $recursive optional true
- Recursively delete elements.
append() public ¶
append( object $child , array $options = array() )
Append given node as a child.
Parameters
- object $child
- XmlNode with appended child
- array $options optional array()
- XML generator options for objects and arrays
Returns
A reference to the appended child node
child() public ¶
child( string $id )
Returns child node with given ID.
Parameters
- string $id
- Name of child node
Returns
Child XmlNode
children() public ¶
children( string $name )
Gets a list of childnodes with the given tag name.
Parameters
- string $name
- Tag name of child nodes
Returns
An array of XmlNodes with the given tag name
compare() public ¶
compare( object $node )
Compares $node to this XmlNode object
Parameters
- object $node
- XmlNode or subclass instance
Returns
True if the nodes match, false otherwise
createElement() public ¶
createElement( string $name = null , string $value = null , array $attributes = array() , string $namespace = false )
Creates an XmlElement object that can be appended to this document or a node in it
Parameters
- string $name optional null
- Element name
- string $value optional null
- Element value
- array $attributes optional array()
- Element attributes
- string $namespace optional false
- Node namespace
Returns
XmlElement
createNode() public ¶
createNode( string $name = null , string $value = null , string $namespace = false )
Creates an XmlNode object that can be appended to this document or a node in it
Parameters
- string $name optional null
- Node name
- string $value optional null
- Node value
- string $namespace optional false
- Node namespace
Returns
XmlNode
createTextNode() public ¶
createTextNode( string $value = null )
Creates an XmlTextNode object that can be appended to this document or a node in it
Parameters
- string $value optional null
- Node value
Returns
XmlTextNode
document() public ¶
document( )
Returns the XML document to which this node belongs
Returns
Parent XML object
hasChildren() public ¶
hasChildren( )
Returns true if this structure has child nodes.
Returns
nextSibling() public ¶
nextSibling( )
Gets a reference to the next child node in the list of this node's parent.
Returns
A reference to the XmlNode object
normalize() public ¶
normalize( object $object , $keyName = null , $options = array() )
Gets the XML element properties from an object.
Parameters
- object $object
- Object to get properties from
- $keyName optional null
- $options optional array()
Returns
Properties from object
previousSibling() public ¶
previousSibling( )
Gets a reference to the previous child node in the list of this node's parent.
Returns
A reference to the XmlNode object
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.