Re: [PHP-XML-DEV] simple xml api

[email protected] ("Ryan Brothers")
Newsgroups php.xml.dev
Message-ID <[email protected]>
From reading through the notes, I think this Simple XML API is a great idea
and will make xml document parsing just as easy as parsing an associative
array.  A couple notes:

I think accessing attributes via associative arrays would be better only
because a node could have a attribute and a child node of the same name, so
if $simple->name->length was used, distinguishing them wouldn't be possible,
such as:

<simple>
    <name length="4">
        <length>2</length>
    </name>
</simple>

Also, I think it would be great if we could build up new xml structures
using this new API and then dump it back into a xml string.  I was
previously using domxml to build up new xml streams, but I recently switched
to string concats because I didn't need all the domxml features and I
noticed a slowdown in script execution under high loads with domxml - so
something like this Simple XML API that will take care of converting the
object back into valid xml would be perfect.

Ryan


"Sterling Hughes" <[email protected]> wrote in message
news:1044021310.15188.3222.camel@hasele...
> On Fri, 2003-01-31 at 05:55, Christian Stocker wrote:
> > On Thu, 2003-01-30 at 18:18, Sterling Hughes wrote:
> > > Sam Ruby sent me the following URL:
> > >
http://dev2dev.bea.com/articlesnews/discussion/thread.jsp?thread=JSchneider_
XML
> > >
> > > It looks really neat, and much in the PHP way of doing things.  Take
the
> > > following XML document, and I'll show you how easy parsing it is with
> > > the Simple API proposed above (ported slightly to PHP).
> >
> > IMHO, it's a nice way to approach XML documents which are relatively
> > shallow like the example below (data centric XML-docs). But I wouldn't
> > want to process something Docbook-style with that :) And how does it
> > handle attributes, comments, processing instructions, namespaces, etc.?
> >
>
> You would want to process something like docbook? :-)
>
> attributes and namespaces are just another level of indirection.  ie:
>
> <php.dev>
>  <php.dev.xml>cool</php.dev.xml>
> </php.dev>
>
> var_dump($php->dev->xml);
> // string (4) "cool"
>
> and
>
> <simple>
>  <name length="4">John</name>
> </simple>
>
> var_dump($simple->name->length);
> // int (4)
> var_dump($simple->name);
> // string (4) "John"
>
> Or we could make them associative array accesses:
>
> var_dump($simple->name['length']);
> // int (4)
>
> Processing instructions could be per node arrays.  Remember, since we're
> overloading we can do some magic here.  Comments could be in a "special"
> array $node->__comments.
>
>
> > So, it would be certainly a nice additon to DOM/SAX/XSLT, but it can't
> > provide a replacement for them (again IMHO...)
>
> Agreed.  But what I like about is that its a much simplified subset of
> 95% of what most people want to do.
>
> -Sterling
>
> --
> "The computer programmer is a creator of universes for which he
>  alone is responsible. Universes of virtually unlimited complexity
>  can be created in the form of computer programs."
>     - Joseph Weizenbaum
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.