> > My thoughts on this are as follows, some are directly related to the
> topic,
> > some are related to simplexml's original design and current functionality.
> > SimpleXML was originally designed to provide a direct mapping between a
> > XML document and a data structure, through access to the properties and
> > attributes and *only* the properties and attributes.
> 
> What's the ultimate goal for simpleXML? I have been hesitant from ever
> touching this extension as what I thought it was intended to do, seems
> simplistic to where it acutally (is going/went?). Correct me if I'm wrong,
> but when it started I thought simpleXML's intent was to handle XML
> structures containing only elements and attributes (or at least ignoring
> everything else). The structure could never contain an element which had an
> attribute named the same as one of its child elements (otherwise you would
> need to be adding functionality as well to distinguish when you work with
> the attribute or element). Also, elements would contain either text or
> children elements but not both.
>

Now that Zend can differentiate between array accessors and property accesses, 
attributes and nodes should be separated.

As for the second, yes, that's true, although xpath expressions could
achieve this.

> Not sure about how adding one of these types was to be handled as you would
> need a way to determine wether you are adding an element or an attribute.
> 
> As I said, this may be a simplistic view, but as it evolved, I just dont
> understand the concept behind simpleXML anymore.
> 
> > 3) For the next version of PHP, PHP5.1 add a new xpath extension which
> > provides a generic query interface to XML objects.  This would be
> > something like:
> >
> > if (xpath_query('/child::node()', $node, $results)) {
> > }
> >
> > As xpath is very much akin to regular expressions for XML.  This is a
> > more elegant solution than the current DOM api for XML which would
> > require a casting into a dom object, then a domxpath object, then a
> > simplexml object. (*)
> 
> There is a problem here however as simpleXML can only handle Element,
> Attribute and Text nodes, so if any other node type is returned in the
> nodelist there will be problems. simpleXML will need a custom xpath handler
> to insure that the returned nodes are of type element or attribute.
> 
> The dom api for xpath also wasnt meant as the end all solution either. It
> was a quick implementation to at least support querying nodes in the
> document, but thats about all it does. The majority of XPath functionality
> wasnt touched.
> 
> I do agree with the comment that DOM is big and clunky. In reality, I have
> only ever had to use a handful of its functions and the only reason it got
> done is that people using domxml wanted a compliant implementation that
> implemented the functionality correctly and I had time to kill. Personally I
> would like a simpleXML/DOM hybrid extension which took some of the best
> features of each, so would offer the ease of use of simpleXML, some of the
> more advanced features/methods in dom, yet noy have all the dom api baggage.
>

Well, this can be added with userspace handlers as I mentioned to
Marcus.  The real trick to XML manipulation is Xpath, not adding a bunch
of broken methods.  If people want to do that, they can load a simplexml
object into DOM, and use the two together. ;)

-Sterling

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to