php-src/ext/simplexml
Marcus Boerger 9e29f17493 Major bugfix for consistency.
# After long discussions we came to a conclusion on how to make this
# extension consistent in itself.
# Thanks to Rob for all the work
2004-01-17 19:41:32 +00:00
..
examples - added interop between DOM and SimpleXML example 2003-10-26 19:15:52 +00:00
tests Major bugfix for consistency. 2004-01-17 19:41:32 +00:00
config.m4 - Fixed bug #26072 (--disable-libxml does not work). 2003-11-12 23:42:38 +00:00
config.w32 add optional dep on spl for simplexml. 2004-01-08 21:53:48 +00:00
CREDITS Major bugfix for consistency. 2004-01-17 19:41:32 +00:00
php_simplexml.h Major bugfix for consistency. 2004-01-17 19:41:32 +00:00
README Major bugfix for consistency. 2004-01-17 19:41:32 +00:00
simplexml.c Major bugfix for consistency. 2004-01-17 19:41:32 +00:00
simplexml.dsp - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 2004-01-17 13:00:38 +00:00

SimpleXML is meant to be an easy way to access XML data.

SimpleXML objects follow four basic rules:

1) properties denote element iterators
2) numeric indices denote elements
3) non numeric indices denote attributes
4) string conversion allows to access TEXT data

When iterating proerties then the extension always iterates over
all nodes with that elemtnt name. Thus method childen() must be 
called to iterate over subnodes. But also doing the following:
foreach $obj->node_name as $elem) {
  // do something with $elem
}
Always result in iteration of 'node_name' elements. So no further 
check is needed to distinguish the number of nodes of that type.

When an elements TEXT data is being accessed through a property
then the result does not include the TEXT data of subelements.

Known issues
============

Due to engine problems it is currently not possible to access
a subelement by index 0: $object->property[0].

TODO
====

At the moment property access to multiple elements of the same
name returns an array of SimpleXML objetcs. This should be an 
object of a new type instead so that all kinds of linkage,
assignment and deleting would work.