phpxpath-users Mailing List for Php.XPath (Page 15)
Brought to you by:
bs_php,
nigelswinson
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(346) |
Nov
(8) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(30) |
Feb
(13) |
Mar
|
Apr
(3) |
May
(70) |
Jun
(26) |
Jul
(48) |
Aug
(22) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
|
2003 |
Jan
(3) |
Feb
(3) |
Mar
(11) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2004 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(12) |
Aug
(8) |
Sep
(2) |
Oct
(2) |
Nov
(3) |
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2006 |
Jan
(3) |
Feb
(7) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: <php...@li...> - 2001-10-19 21:06:01
|
I was just writing because I haven't heard any news recently...I logged onto CVS and saw that changes have been made. Did anyone notice my bug submission about the & sign problem? Dan __________________________________________________ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com |
From: <php...@li...> - 2001-10-19 21:05:43
|
I was just writing because I haven't heard any news recently...I logged onto CVS and saw that changes have been made. Did anyone notice my bug submission about the & sign problem? Dan __________________________________________________ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com |
From: <php...@li...> - 2001-10-19 21:04:30
|
I was just writing because I haven't heard any news recently...I logged onto CVS and saw that changes have been made. Did anyone notice my bug submission about the & sign problem? Dan __________________________________________________ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com |
From: <php...@li...> - 2001-10-15 23:03:56
|
Ah good. So the new mail list is working :o) > Last week was a bit busy for me and I didn't get a chance to mention the > things on my mind, so here goes. > > Would it be possible to be able to create a result tree fragment and then > insert that result tree fragment into the XML tree. In particular, I am > refering to something similar to the javascript xmldom. You do something > this... > > create element > -> create attribute > -> add text > > then take that, and insert it into the tree....the only reason I would want > to do something like this is because I imagine it would be faster than having > to access the whole tree at once while continuously adding data to the same > node...or am I wrong in thinking that? DOM specifies that you can appendChild(Node), but a Node can be a DocumentFragment. This maps for us to an XmlString as opposed to a node name. So I'd imagine that in the future we will move to appendChild() taking an xmlString instead of a node name, and it will append the xml portion to the given node. This would allow: appendChild('/root[1]/users[1]', '<user><name>Nigel</name><country>Scotland</country></user>') So yeah, this is in the pipeline. > Secondly, I remember reading in the changelog that all DOM functions can > accept a single node xpath...such as > > $xmltree->appendChild("/root","newnode"); > > however, when I do the above, without the "[1]" at the end of root, I get an > error that the node does not describe a unique node in the tree, even though > I only have one root tag. Perhaps this is just a bug? This is the first big issue that every Php.XPath user tends to find.... /root is a bad example (as there can only be 1 root), but suppose you have xml that looks like: <root> <element/> </root> Now /root/element describes exactly 1 node, but suppose you then appendChild('/root[1]','element') you'd get: <root> <element/> <element/> </root> Now /root/element no longer describes 1 node but 2. So, when the interface takes a parameter of $absoluteXPath, you must provide the ABSOLUTE path to the node, ie fully qualified, not just a search that contains 1 node. Some of the functions allow you to use an XPath expression, others don't. We're in the process of upgrading all the calls to take an XPath expression and if it isn't an absolute XPath, it is evaluate()'ed then the function is applied to all the nodes. Sadly this may -sometimes- make the calls much slower, as it will have to make a call to evaluate(), but it will make the class a whole lot easier. So you've not found a bug, but you've found an area that is on the plan for being addressed in future releases. Cheers all, Nigel |
From: Dan A. <big...@ya...> - 2001-10-15 20:14:19
|
Last week was a bit busy for me and I didn't get a chance to mention the things on my mind, so here goes. Would it be possible to be able to create a result tree fragment and then insert that result tree fragment into the XML tree. In particular, I am refering to something similar to the javascript xmldom. You do something this... create element -> create attribute -> add text then take that, and insert it into the tree....the only reason I would want to do something like this is because I imagine it would be faster than having to access the whole tree at once while continuously adding data to the same node...or am I wrong in thinking that? Secondly, I remember reading in the changelog that all DOM functions can accept a single node xpath...such as $xmltree->appendChild("/root","newnode"); however, when I do the above, without the "[1]" at the end of root, I get an error that the node does not describe a unique node in the tree, even though I only have one root tag. Perhaps this is just a bug? Later, Dan |
From: Nigel S. <nig...@us...> - 2001-10-10 23:10:51
|
Hi all. The CVS repository, releases, bug and feature tracking and mailling lists from now on will be handled under the name of Php.XPath. The mapping has been as follows: PhpXml 1.N.1 => Php.XPath V1.4 PhpXml 1.N.5 => Php.XPath V2.0 PhpXml 1.6 => Php.XPath V2.1 If you have a found a definitive bug, could I please encourage you to use the bug tracking feature at the sourceforge project, not mail this list. The us...@li... does not exist any more, in association with the renaming of this project from <PhpXml/> to Php.XPath. The new list is called php...@li.... Links: Sourceforge project: http://www.sourceforge.net/projects/phpxpath Join via: http://lists.sourceforge.net/lists/listinfo/phpxpath-users View the archive at: http://www.geocrawler.com/lists/3/SourceForge/16154/0/ I have obtained the membership of the list, and have taken the liberty of subscribing you all. This will result in you all recieving an email with a list password, that allows you to change your preferrences. If anyone really objects to me moving the membership, then you will be able to unsubscribe yourself without much hassle by visiting the links below. All evidence of phpxml will be removed from the phpxmldb project shortly, including CVS, mail list and archive and releases. Cheers all. Nigel =========================== For the most recent version of Php.XPath, V2.x, and an archive of this list visit: http://www.sourceforge.net/projects/phpxpath |
From: Nigel S. on b. of <li...@ae...> - 2001-10-10 22:09:40
|
Thankz Luc, I checked the lines that you pointed me to and I thought I'd let you know what I discovered: When reading though the file I thought !!! "wait a sec! HTML4.0 doesn't specify an entity encoding for the apostrophe." I did some research. And sure enough, it is not an HTML entity. The simple ' character is good enough. Also, the " for " is not truly needed in HTML. By the way, in my file the semi-colon was missing in the ' entity conversion array. The browser still couldn't handle the ' with the ; inserted, so I adjusted the xml.php file to the ISO Latin set since I am not sure if this conversion will be needed in another script that I write. 122 /** 123 * var $entities = array ( "&" => "&", "<" => "<", ">" => ">", 124 * "'" => "&apos", '"' => """ ); 125 */ 126 var $entities = array ( "&" => "&", "<" => "<", ">" => ">", 128 "'" => "'", '"' => """ ); Now the CDATA Sections seems to render fine in IE5+. :-) I wonder why the ISO Latin codes were not used in xmlphp. Especially since ISO 8859/1 is the 8-bit single-byte coded graphic character set. Thankz again :-) Liz Bostetter -----Original Message----- From: lu...@sa... [mailto:lu...@sa...] Sent: Tuesday, July 24, 2001 12:12 AM To: us...@li... Subject: [phpXML] Re: phpxml Version 1.N.4 Liz, I use phpxml for the same reason. In order to have a correct output I had to empty the array entities (near line 123 var $entities = array ( ); Luc At 03:09 24/07/01 +0000, you wrote: >HI > >I am using xmlphp on a site that retreives an XML file from another server. >The XML file contains >CDATA Sections. >When I try to display the contents of the XML file in a table in HTML to a >browser all the apostrophe characters within the CDATA Section are being >rendered as &apos as in (Picket's) (Picket&aposs). (I haven't checked to see >if other General Entity type characters do this also.) >The results page's source code shows (Picket&aposs)..... missing semi-colon? > >In the original XML file, the character is typed as a ' and not as the >entity '. > >Any ideas out there of what is going on and how I could correct the HTML >display? > >Thankz for any adive you can give. :-) > >Liz -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <fca...@la...> - 2001-10-10 22:09:34
|
tahnk you, it runs!!! :))) ----- Original Message ----- From: "Luc Saint-Elie" <lu...@sa...> To: <us...@li...>; <fca...@la...> Sent: Thursday, September 13, 2001 12:44 PM Subject: Re: Beginners question > Hello, > > attributes are in an array() > > try : > $t = array(); > > $list_imentenoticias = $xml->evaluate('/imentenoticias'); > > foreach ( $list_imentenoticias as $imentenoticia ) > { > $t = $xml->get_attributes($imentenoticia); > $id =$t['id'] > > $url = $xml->get_content($imentenoticia ."/url[1]"); > $titular_texto = $xml->get_content($imentenoticia ."/titular_texto[1]"); > $media = $xml->get_content($imentenoticia ."/media[1]"); > $url_fuente = $xml->get_content($imentenoticia ."/url_fuente[1]"); > > and so on.... > > } > > Luc > > > En réponse à fca...@la...: > > > Hello everybody, I'm a beginner working with xml, and I have a little > > problem extracting the data. > > I have an estructure like this > > <?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE imentenoticias > > SYSTEM > > "http://imente.com/xml/dtd/imentenoticias.dtd"> > > <imentenoticias> > > <article id="1000279706996255072"> > > > > <url>http://www.imente.com/ver/not.cgi?1000279706996255072</url> > > <titular_texto>Cientificos Apoyan Celulas Madre Y Creen No > > Suficiente Plan Bush</titular_texto> > > <fuente>NAVEGALIA.COM Noticias - Sociedad</fuente> > > <media>text</media> > > > > <url_fuente>http://www.navegalia.com/Channels/Noticias/Secciones/layout_Secc > > ion/0,18600,sociedad,00.html</url_fuente> > > <fecha_captura>Mie 12 Set 2001 09:28</fecha_captura> > > <indexacion></indexacion> > > </article> > > </imentenoticias> > > > > and i want to select everything including the id. I could select > > everything > > but how can i take the id? > > i have tried > > $xml = new XML("exemple.xml"); > > // Select all members of the government. > > $imentenoticias = $xml->evaluate("//@id"); > > // Run through all members of the government. > > foreach ( $imentenoticias as $noticia ) > > { > > // Retrieve information about the person. > > $id = $xml->get_content("//@id[1]"); > > $id2 = $xml->get_content($noticia."/id[1]"); > > } > > > > and I obtain empty values. > > > > thank you > > best regards > > Fernando Caamaño > > > > -- > > This message has been sent through the <phpXML/> user discussion list. > > To unsubscribe, please visit > > https://sslsites.de/mailinglisten/user/us...@li.../ > > > -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <li...@ae...> - 2001-10-10 22:09:31
|
Hi You might try here http://apps.xmlschema.com/schema_source.htm for information about XML Schemas and DTDs available for public use (indistry dependent too). The issue of Attributes VS Elements is a hot debate. Some say one. Some say the other. With XML DTDs you 'do' have a little more control over a DTD, less control with Elements. Here is are some articles about the topic. http://wdvl.com/Authoring/Languages/XML/Tutorials/DoingIt/eltsVSattrs.html http://www.personal.u-net.com/~sgml/contexts.doc Hope this helps Liz -----Original Message----- From: phi...@ls... [mailto:phi...@ls...] Sent: Friday, August 03, 2001 4:02 PM To: us...@li... Subject: [phpXML] RE: [phpXML] Design questions... > 2) About my question regarding a standrd DTD for a normal Website > I just would like to know is a basic set of DTD suitable for a > normal website existe .... Try HTML 4.01 or XHTML 1.0. They are the 'standard' dtd's of the web. > What I'm looking for is a set of dtd describing a text, a menu, a > newsfeed and > so on. If you are looking for feeds for syndication, Try RSS or RDF. They are both described in detail at w3.org and xml.com. Good luck. Philip Cohen --------------- Webmaster Large Scale Biology Corporation (707) 446-5501 x354 phi...@ls... -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <ma...@po...> - 2001-10-10 22:09:27
|
Hello all. let's make some example: test.xml: <article> <header> header of article </header> <body> <para> paragraph ... </para> <emp> emphasized text </emp> <para> whatever </para> </body> </article> and php code: <?php include './xml/xml.php'; $xmlfile = new XML ('test.xml'); $body = $xmlfile -> evaluate('/article/body/*'); foreach ($body as $body_elem) { print $body_elem.'<br/>'; } ?> Result is: /article[1]/body[1]/para[1] /article[1]/body[1]/para[2] /article[1]/body[1]/emp[1] I would like to see result like this: /article[1]/body[1]/para[1] /article[1]/body[1]/emp[1] /article[1]/body[1]/para[2] . Can you suggest a solution that might solve this problem. I need to obtain paths to nodes in the same order as in xml. waiting for help. :) Maciej Kus -------------------- [POLBOX - REKLAMA] ------------------------ Sprawd swoje bezpieczeñstwo w Sieci Zabezpiecz siê ! www.symantec.com/region/pl/product/nis2001.html ---------------------------------------------------------------- -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <ma...@po...> - 2001-10-10 22:09:21
|
Hi! I found that "not" operator doesn't work properly. for example Xpath expression like : //car[not(@*)] should select those nodes, which doesn't contain any attributes. <cars> <car colour="Blue"> ... </car> <car colour="Red"> ... </car> <car> <- this should be highlighted. ... </car> </cars> and second problem: When I use a "|" operator then in result array (of evaluate method) nodes appear in a order of "Or-ed" expressions , not in arrangement as in xml structure. Example XPath: //bear | //bird <animals> <bird> (selected as third) </bird> <bear> (selected as first) </bear> <bear> (selected as second) </bear> <bird> </bird> (selected as fourth) </animals> Similar problem shows in use of axes like "ancestors-or-self" if anyone know how to solve those problems, please write... Maciej Kus ps. <phpXML/> is something what I needed :) -------------------- [POLBOX - REKLAMA] ------------------------ Sprawd swoje bezpieczeñstwo w Sieci Zabezpiecz siê ! www.symantec.com/region/pl/product/nis2001.html ---------------------------------------------------------------- -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <li...@ae...> - 2001-10-10 22:09:15
|
HI I am using xmlphp on a site that retreives an XML file from another server. The XML file contains CDATA Sections. When I try to display the contents of the XML file in a table in HTML to a browser all the apostrophe characters within the CDATA Section are being rendered as &apos as in (Picket's) (Picket&aposs). (I haven't checked to see if other General Entity type characters do this also.) The results page's source code shows (Picket&aposs)..... missing semi-colon? In the original XML file, the character is typed as a ' and not as the entity '. Any ideas out there of what is going on and how I could correct the HTML display? Thankz for any adive you can give. :-) Liz -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <ma...@po...> - 2001-10-10 22:09:11
|
Hi. The same happend to me ;) As Marco Faldix said phpxml is not designed to process sequentially xml file. He told me that I should use standard php parser function instead. Because I like phpxml i've changed little my xml files: try sometehing like this: <paragraph> <text> This is the first </text><text style="bold">paragraph</text>< text>. A second is below</text> </paragraph> and the order of data after evaluating Xpaths is the same like in xml file. It's NOT A SOLUTION but it's a "passing by" the problem. :) Maciek Kus. -------------------- [POLBOX - REKLAMA] ------------------------ Sprawd swoje bezpieczeñstwo w Sieci Zabezpiecz siê ! www.symantec.com/region/pl/product/nis2001.html ---------------------------------------------------------------- -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <fca...@la...> - 2001-10-10 22:09:05
|
Hello everybody, I'm a beginner working with xml, and I have a little problem extracting the data. I have an estructure like this <?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE imentenoticias SYSTEM "http://imente.com/xml/dtd/imentenoticias.dtd"> <imentenoticias> <article id="1000279706996255072"> <url>http://www.imente.com/ver/not.cgi?1000279706996255072</url> <titular_texto>Cientificos Apoyan Celulas Madre Y Creen No Suficiente Plan Bush</titular_texto> <fuente>NAVEGALIA.COM Noticias - Sociedad</fuente> <media>text</media> <url_fuente>http://www.navegalia.com/Channels/Noticias/Secciones/layout_Secc ion/0,18600,sociedad,00.html</url_fuente> <fecha_captura>Mie 12 Set 2001 09:28</fecha_captura> <indexacion></indexacion> </article> </imentenoticias> and i want to select everything including the id. I could select everything but how can i take the id? i have tried $xml = new XML("exemple.xml"); // Select all members of the government. $imentenoticias = $xml->evaluate("//@id"); // Run through all members of the government. foreach ( $imentenoticias as $noticia ) { // Retrieve information about the person. $id = $xml->get_content("//@id[1]"); $id2 = $xml->get_content($noticia."/id[1]"); } and I obtain empty values. thank you best regards Fernando Caamaño -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: Nigel S. on b. of <ti...@sc...> - 2001-10-10 22:09:02
|
Tag Michael Mehl, Ich habe leider ein Problem mit PHP und XML, w=E4re sch=F6n wenn Du viellei= cht eine Idee h=E4ttest. Folgendes: 1. Ich versende von einem Flashfilm ein XML im Hilfe der POST-Methode an eine PHP Datei. 2. Nun ist es ja recht einfach ein <input> tag von einer HTML Seite als Variable im PHP wiederzufinden. 3. Leider kann ich mein XML Tag nicht wie ein <input> Tag im PHP auswerten. Folgende Versuche die XML Attribute <beispiel frage=3D"XML" name=3D"Hans" /> viel eine HTML und PHP zu behandeln, also $beispiel, $frage oder $name, blieben erfolglos.=20 Mein Problem liegt also in der Auswertung - ich Weis leider nicht Wie und Wonach ich im Script fragen mu=DF, um mein XML finden zu k=F6nnen. Es geht mir nicht um die Auswertung des XML's!! Alle bisherigen Beschreibungen von XML Interpretationen gehen davon aus, da=DF das XML als File vorliegt und mit fopen() eingelesen werden k=F6nnen. Also wenn Dir vielleicht hierzu etwas einf=E4llt w=E4re es sch=F6n wenn Du = mir eine Antwort senden k=F6nntest. Vielen Dank=20 Tilo Erwin=20 -- This message has been sent through the <phpXML/> user discussion list. To u= nsubscribe, please visit https://sslsites.de/mailinglisten/user/user@lists.= phpxml.org/ |
From: nigel s. on b. of <jan...@im...> - 2001-10-09 17:14:06
|
I guess or hope that this can help you. Maybe it is not so well programmed but it works ... This is a interactive driver list. I programmed it to make our weekly trip to the Underwater Rugby pracise more easy to organize. For this it works very well. The data is saved to a xml file but also uses the template to show the new form (which depends on the template). Sorry that it is in german but maybe you check http://dict.le.org to get some translations. Just a short decription: - You can sign in as driver (then a car-form with the amount of seats (as form fields) is created) - or you sign in as someone who likes to join a ride - then you are taken into a waiting list - persons from the waiting list can then get assigned to a car Bugs: I do not handle special chars jet - maybe some one can help me? E.g. the input of a ' returns an error. I tried htmlentities() but it does not work because it is not usefull in forms and xml can not handle entities without defining ... > -----Ursprüngliche Nachricht----- > Von: bl...@io... [mailto:bl...@io...] > Gesendet: Freitag, 31. August 2001 14:44 > An: us...@li... > Betreff: [phpXML] get_file() function > > > I am relatively new to the XML realm but have some good > experience with PHP. > I was wondering if anyone could send a code sample of a simple use of the > get_file() function used as follows: > > 1. Read in XML and write out the contents to a new XML document. I am > really just look for the behavior of the function. > 2. Using a form to submit data, formatting that based on a coded template > in XML string and writing out to file. > > If anyone has some code samples of this, I would greatly > appreciate viewing > them. > > Thank you, > > Robby > > ______________________________________________ > Robby Black > Consultant > intercode Technologies > p: 865.406.6999 > f: 419.818.0185 > http://www.intercodetechnologies.com/ > > -- > This message has been sent through the <phpXML/> user discussion > list. To unsubscribe, please visit > https://sslsites.de/mailinglisten/user/us...@li.../ > -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: nigel s. on b. of <it...@on...> - 2001-10-09 17:12:12
|
Hi, The Australian Music Database has just changed over to an XML based system (PHP/MYSQL) which is great but they have implemented a reasonably complex XML layout and I was wondering if your script could be tweaked to work with it. I can run the script on it and it highlights all the TAGS as it should but I want to be able to run a script over the XML file and have it pull the data out and insert the data into a MYSQL db...all in one go. A part of the XML file is below. I would like to pull out every entitiy into a db so I need to parse the file and probably include some INSERT statements etc so that it can throw everything into a db. ----------------------------------------------------------- <AMROC> <Version>1.0</Version> <TITLES> <CompanyCode>BBB</CompanyCode> <TitleXref>BIGKBOST</TitleXref> <CountryCode>AUS</CountryCode> <Title>BIG KAHUNAS</Title> <Artist>BOSTON BUN MUNCHERS, THE</Artist> <GENRES> <GenreCode>8</GenreCode> </GENRES> <Compilation>NO</Compilation> <LabelCode>BLA</LabelCode> <ProductTypeCode>A</ProductTypeCode> <OriginalReleaseDate>28/07/1997</OriginalReleaseDate> <PRODUCTS> <CatalogNo>BBB</CatalogNo> <ProductCountryCode>AUS</ProductCountryCode> <MediaCode>21</MediaCode> <PackageCode>49</PackageCode> <ReleaseDate>28/07/1997</ReleaseDate> <apn>9323190000188</apn> <PRICES> <PriceCode>BBB*BBB*C1808</PriceCode> </PRICES> <TRACKS> <TrackXref>BUSTBOST</TrackXref> <TrackNo>1</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>BUS TRUCKIN </TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>DESTBOST</TrackXref> <TrackNo>2</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>DESTINY</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>ITSABOST:1</TrackXref> <TrackNo>3</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>IT S A REAL THING</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>PRETBOST:1</TrackXref> <TrackNo>4</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>PRETTY BOY</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>STILBOST:2</TrackXref> <TrackNo>5</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>STILL RUNNIN</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>MOOCBOST</TrackXref> <TrackNo>6</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>MOO COW</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>BUSTBOST:1</TrackXref> <TrackNo>7</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>BUS TRUCKIN REHEARSAL</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>MYDRBOST</TrackXref> <TrackNo>8</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>MY DREAM S OBSCENE</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>BOBSBOST</TrackXref> <TrackNo>9</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>BOB S RHAPSODY NO. 1</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>TAKEBOST:1</TrackXref> <TrackNo>10</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>TAKE THIS PILL</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>BENNBOST</TrackXref> <TrackNo>11</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>BENNY S BACKDOOR BONANZA</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>WEREBOST:1</TrackXref> <TrackNo>12</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>WE RE HERE FOREVER</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>BOBSBOST:1</TrackXref> <TrackNo>13</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>BOB S REPRISE</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> <TRACKS> <TrackXref>ATHEBOST</TrackXref> <TrackNo>14</TrackNo> <TrackLabelCode>BLA</TrackLabelCode> <TrackTitle>A THEORY ON THE COLLECTIVE UNCONSCIOUS</TrackTitle> <TrackArtist>BOSTON BUN MUNCHERS, THE</TrackArtist> <isrc></isrc> </TRACKS> </PRODUCTS> </TITLES> </AMROC> ---------------------------------------------------------------- Kind Regards Jason Savidge IT Manager One Stop Entertainment Australia -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: nigel s. on b. of <wa...@po...> - 2001-10-09 17:10:39
|
Hi I am new to phpxml and trying to implement a PHP / XML CSM system. I cant seem to get some of the methods to work, no matter how hard I try. And I don't seem to get any helpful error msgs. I have gone through everything I can find on the internet about phpxml, but I cant find any examples of some methods being used (for example add_node, remove_node, set_content etc). I was wondering if you have any real world examples of how these methods being used, or know where I could find any? if anybody can point me to some sources of a working system that uses these and other methods, especially to edit and write XML files I would really be pleased. Regards Warwick poole ------------------------------ warwick.poole wa...@po... ------------------------------ -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: nigel s. on b. of <jan...@im...> - 2001-10-09 17:09:06
|
Hi! I am looking for an working example of set_content or other edit xml functions. Reading/Parsing is no problem - but my script does not like to edit my xml file :( Thanks for help!!! Jan -- This message has been sent through the <phpXML/> user discussion list. To unsubscribe, please visit https://sslsites.de/mailinglisten/user/us...@li.../ |
From: <nig...@us...> - 2001-10-09 13:11:54
|
> I was initially thrown off by the 'trivialness' of the example but = when I=20 > look at how you intend to process the file it seems to cry out for a=20 > different structure altogether. >=20 > Is it not true that _if_ there are children _then_ the children should = > stand as elements of the parent? ((then the other 'content' is/are = really=20 > attributes of the parent)) >=20 > That would say to me that the example being discussed could (should?) = > better be constructed like >=20 > <blah1 precursor=3D"Text" postcursor=3D"text."> > <blah2>more</blah2> > </blah> >=20 > Wouldn't that be more parallel to the processing that you intend to do = to=20 > the file? The problem with this approach is when you come to an XML fragment like = this: <p>Hello there <b>my</b> name is <i>Nigel</i> Swinson</p> Where do we put the "name is" text with a precursor, postcursor = approach? Currently this is the structure that we obtain (This clearly shows the = "Hello therename isSwinson" text property of the /p[1] entry): We currently have I suggest we aim for =20 xml Object ( [nodes] =3D> Array ( [/p[1]] =3D> Array ( [context-position] =3D> 1 [document-position] =3D> 1 [name] =3D> p [text] =3D> Hello therename isSwinson [parent] =3D>=20 [attributes] =3D> Array ( ) [children] =3D> Array ( [b] =3D> 1 [i] =3D> 1 ) ) [] =3D> Array ( [document-position] =3D> 0 [children] =3D> Array ( [p] =3D> 1 ) ) [/p[1]/b[1]] =3D> Array ( [context-position] =3D> 1 [document-position] =3D> 2 [name] =3D> b [text] =3D> my [parent] =3D> /p[1] [attributes] =3D> Array ( ) ) [/p[1]/i[1]] =3D> Array ( [context-position] =3D> 1 [document-position] =3D> 2 [name] =3D> i [text] =3D> Nigel [parent] =3D> /p[1] [attributes] =3D> Array ( ) ) ) ) xml Object ( [nodes] =3D> Array ( [/p[1]] =3D> Array ( [context-position] =3D> 1 [document-position] =3D> 1 [name] =3D> p [text] =3D> "Hello there " [after-element-text] =3D> "" [parent] =3D>=20 [attributes] =3D> Array ( ) [children] =3D> Array ( [b] =3D> 1 [i] =3D> 1 ) ) [] =3D> Array ( [document-position] =3D> 0 [children] =3D> Array ( [p] =3D> 1 ) ) [/p[1]/b[1]] =3D> Array ( [context-position] =3D> 1 [document-position] =3D> 2 [name] =3D> b [text] =3D> "my" [after-element-text] =3D> " name is " [parent] =3D> /p[1] [attributes] =3D> Array ( ) ) [/p[1]/i[1]] =3D> Array ( [context-position] =3D> 1 [document-position] =3D> 2 [name] =3D> i [text] =3D> "Nigel" [after-element-text] =3D> " Swinson" [parent] =3D> /p[1] [attributes] =3D> Array ( ) ) ) )=20 =20 Using a system like this I think is scaleable, lossless, and wouldn't be = all that hard to implement. ? Nigel |
From: <nig...@us...> - 2001-10-09 13:11:50
|
Been sick this week, trying to catch up here so replying to lots in = one... First thanks for all the support that has been shown for the 1.N.X = releases. I will happily continue with the work :o) -------------------------------------------------------------------------= ------- From: <jw...@sh...> > 1. If I want a node like this: <blah>0</blah>, why it becomes <blah/> = ? "0" > is definately content imho... In add_content() (line 650) change this line: $this->nodes[$path]["text"] .=3D $value; to $this->nodes[$path]["text"] .=3D (string)$value; and it will probably fix it. If that doesn't work then you may need to go to the get_file_internal() = function (line 1068) and change =20 if ( empty($this->nodes[$root]["text"]) && !isset($this->nodes[$root]["children"]) ) to =20 if ( isset($this->nodes[$root]["text"]) && !isset($this->nodes[$root]["children"]) ) or perhaps if ( empty((string)$this->nodes[$root]["text"]) && !isset($this->nodes[$root]["children"]) ) Will fix in 1.N.5 -------------------------------------------------------------------------= ------- From: <mf...@mr...> > I don't know every technical term yet: What is a fork? Instrument to = eat? Where a project branches off in two incompatible directions. We = currently have the 1.X branch and the 1.N.X branch. Given that we have = not yet seen 1.1 yet, we don't technically have a fork yet. =20 A fork means wasted development time, dilution of support for the = module, confusion for the users, and other such bad things. If Michael doesn't like the 1.N.X work then we will end up with a fork = and two different branches. I think we are all hoping this won't = happen. -------------------------------------------------------------------------= ------- From: <sh...@co...> > Is there any hope in sight for the problem > with PHP memory being exceeded when trying to parse > large files (not actually even that large, 675K for > example)? Yes. From what I can gather, it isn't so much the loading of large = files that is the problem, it is the performing operations on the files = that is slow. There are two reasons for this. Firstly the internal = nodes array is large, and the operations of the class tend to rebuild = the array completely and then do a $nodes =3D $newnodes command which = means that at some point in the execution path there are two practically = identical arrays in memory. If this array is large, then that's two = large arrays in memory. Not good. I currently only know that the = remove_node() function suffers from this, but there may be others. The second problem is due to stack issues. If you try to call = evaluate() with a not wildly complex expression, then you end up = recusing to a depth of 10 or more calls between the check_predicates, = evaluate_predicates(), evaluate_step() and evaluate() functions. Something can (and will) be done about both of these in the future, as = currently they are crippling the performance. Could you tell me exactly what function calls that you are using of the = phlxml class? Is it definately the parsing that blows up or is it in = doing operations on the class? -------------------------------------------------------------------------= ------- From: <die...@ga...> Subject: [phpXML] RE: [phpXML] Re: Entities > part of the problem is that the entities array is in the wrong order = (as of > the last version i downloaded). I got a bit confused by all the branches of this thread. Could someone = please tell me if there is further work needed on this that isn't fixed = in 1.N.4? Currently it has: var $entities =3D array ( "&" =3D> "&", "<" =3D> "<", ">" = =3D> ">" , '"' =3D> """ ); This array is only used significantly in the handle_character_data() = function. Should this in fact be moved to the add_content() function? = It looks like you could screw your data up by calling = add_content('/Node[1]','><') Why don't we just use htmlspecialchars() instead of this array? Opinions? -------------------------------------------------------------------------= ------- Lastly I'm on holiday for a week starting this Saturday, so I'll shortly = be falling silent on this list until after the 6th of August, so you can = store up lots of goodies and fixes that week for the next 1.N.X release. And if you are new to this list and wondering what on earth a 1.N.X = release is then visit: http://www.sourceforge.net/projects/phpxmldb Cheers all. Nigel |
From: <nig...@us...> - 2001-10-09 13:11:46
|
> I am new to phpxml and trying to implement a PHP / XML CSM system. I > cant seem to get some of the methods to work, no matter how hard I > try. And I don't seem to get any helpful error msgs. I have gone > through everything I can find on the internet about phpxml, but I cant > find any examples of some methods being used (for example add_node, > remove_node, set_content etc). I was wondering if you have any real > world examples of how these methods being used, or know where I could > find any? if anybody can point me to some sources of a working system > that uses these and other methods, especially to edit and write XML > files I would really be pleased. If you are new to phpxml, then the problem is probably that you are = trying to use add_node, remove_node, etc with a $context parameter that = is not a "Full path of the parent". If you pass "//Element" instead of = "/Root[1]/Element[4]" then the call isn't going to work. In general you = need to use evaluate() in order to get an array of "Full paths" that you = then use with each of the other functions. You can't just use the other = functions with any old XPath expression, even if it would evaluate to = only one node. As for examples and documentation, the most recent documentation is the = stuff that ships with phpxml 1.0. Also at: = http://www.phpxml.org/scripts/documentation/ but there is a more recent = version of the class, available at = http://sourceforge.net/projects/phpxmldb/ as 1.N.X releases. I'm still = waiting and hoping for "approval" from Michael for this "fork" so that = it can be considered 1.X releases not 1.N.X releases. I have no = immediate plans to update the html documentation, but will continue to = commit to the source documentation. The release notes describe the = changes. If anyone wants to volunteer to take on the task of maintaining the html = documentation given the comments in the 1.N.X releases, then that would = be great. :o) Examples wise the best I can offer is the phpxmldb project, that is = built upon the phpxml work also, not surprisingly, available from = http://sourceforge.net/projects/phpxmldb/ The code is well documented, = and might help you with how to use the phpxml class. As a short example = below is the private AddRecord function that shows use of add_node() and = add_content() functions. I hope that this post helps flo...@co... and = lu...@sa... with their request too. Nigel -------------------------------------------------------------------------= ------- = /////////////////////////////////////////////////////////////////////////= /////////////////// // Internal version of AddRecord. =20 function _AddRecord($TableTag, $RecordTag, $aElementData) { =20 // If you are having difficulty using this function. Then set this to = true and=20 // you'll get diagnostic info displayed to the output. $bDebugThisFunction =3D false; =20 if ($bDebugThisFunction) { $aStartTime =3D $this->BeginDebugFunction("AddRecord"); echo "TableTag: $TableTag\n";=20 echo "RecordTag: $RecordTag\n";=20 echo "ElementData:\n"; print_r($aElementData); } =20 // Numpty check if (!$TableTag || !$RecordTag) { trigger_error("The TableTag and RecordTag arguments must have a = value."); return false; } =20 ////////////////////////////////////////////// =20 // Get the table path, creating the table if it doesn't exist. $TablePath =3D $this->_FindTable($TableTag, true); =20 // Obtain a new record id. $NewRecordId =3D $this->_GetNewRecordId($TablePath); if ($bDebugThisFunction) echo "New record id is $NewRecordId\n"; =20 ////////////////////////////////////////////// =20 // Add the record if ($bDebugThisFunction) echo "Adding new record at $TablePath\n"; $RecordPath =3D $this->XmlDb->add_node($TablePath, $RecordTag); $this->XmlDb->add_attributes($RecordPath, array("created" =3D> = $this->GetDbTime(), "RecordId" =3D> $NewRecordId)); if ($bDebugThisFunction) echo "New record now at $RecordPath\n"; =20 ////////////////////////////////////////////// // Add the content. foreach($aElementData as $Name =3D> $Value) { $EntryPath =3D $this->XmlDb->add_node($RecordPath, "$Name"); if ($bDebugThisFunction) echo "Added new entry $EntryPath\n";=20 =20 // Prepare the value by stripping \r's and calling htmlspecialchars. $Value =3D htmlspecialchars($Value); $Value =3D str_replace("\r", "", $Value); =20 $this->XmlDb->add_content($EntryPath, $Value); if ($bDebugThisFunction) echo "Added new content to $EntryPath: = ".$this->XmlDb->get_content($EntryPath)."\n";=20 } =20 if ($bDebugThisFunction) echo "\n"; =20 $bResult =3D true; =20 ////////////////////////////////////////////// =20 if ($bDebugThisFunction) $this->CloseDebugFunction($aStartTime, = $bResult); return $bResult; } -------------------------------------------------------------------------= ------- |
From: <nig...@us...> - 2001-10-09 13:11:42
|
---- Original Message -----=20 From: Geo...@sq...=20 To: us...@li...=20 Sent: Monday, July 16, 2001 5:47 PM Subject: [phpXML]=20 IS ENYBODY WORKING WITH <phpXML/>. UNDER Windows NT ???????????=20 I am writing a php4-script using XML-files under Windows NT without = using WEB-server.=20 I was very interested by <phpXML/>.,but I can't start it with = php.exe for Windows NT .=20 PHP-interpreter gives warnings: "Undefined index " in function = add_node ( $context, $name ).=20 You must have just joined the mailing list. Undefined index is usually = the first bug folks find with phpxml. Follow the link below and you = should get a version that doesn't suffer from undefined index errors. ----- Original Message -----=20 From: Nigel Swinson=20 To: us...@li...=20 Sent: Sunday, July 15, 2001 1:47 AM Subject: phpxml with all my bug fixes to date including = get_as_xml_file() function Hi folks. It's been three weeks since I started developing with phpxml = so I thought it was about time I released to you all the fixes and = changes I have made for you to use if you want or bin if you prefer. ftp://129.215.200.115/Pub/phpxml/xml.php a.. Undefined index errors: It includes all of the Marko Faldix = mf...@mr... undefined index errors, and all of the Tim Strehle = ti...@di... undefined index errors. Also some I found too which = could be duplicates just fixed in a different way...=20 b.. &apos has been removed=20 c.. get_file has been renamed to get_file_as_html as it is a somewhat = misleading name for the function anyway. get_file_as_html() is = implemented by get_file_internal() which is mostly a copy of get_file.=20 d.. get_file_as_xml This is a function that will return you a buffer = that can in it's entirity be dumped to an output file. it includes the = <?xml version... ?> line too. Very useful function. The support for = this was added to get_file_internal() so that it will quote < > and & = only if it is called from get_file_as_html.=20 e.. stripslashes I don't bother calling addslashes to all the data = that the class holds, as this just gets really inconvenient. xmlphp = should be able to read in from file and write out as xml without = altering the logical content of the data and addslashes() restricts = this. Addslashes is useful for data that you use in php or javascript = strings, but xml can handle ' " and \ so why escape them? Consequently = all addslahes and stripslashes calls have been removed.=20 f.. Output formating I've changed the rules for output formatting so = as to preserve "content" more effectively. Consequently if an element = has only content, it will be written as "<Tag>Text</Tag>" as opposed to = "<Tag>\n\tText\n<Tag>\n". This makes for a more compact output.=20 g.. Whitespace is preserved When space is read, it is added to the = content of the node. It is only when the end tag is read that = whitespace is potentially discarded. Even then whitespace is only = discarded if the entire text content of the node is whitespace. This = strips "meaningless" whitespace that facilitates formatting of the xml = file, while preserving whitespace in text.=20 h.. Boolean predicates didn't work The check_predicates function = didn't work with and and or because the return value of bool was being = interpreted as an integer and being considered to be an index instead of = a true or false. This has been fixed. If you look for "// ## N.S" then you'll be able to browse through the = changes that I have made. www.sourceforge.net looks like a really good site! I didn't realise = that it would do bug tracking, wishlists and user support too. Most of = the traffic of this list so far should be transferred to that system. = Please could you add me as a developer of the phpxml project? My = sourceforge username is "nigelswinson". I'll leave the file on the above ftp server until the bug fixes and = enhancements have been agreed/rejected and then possibly added to the = project at sourceforge.net. Thanks all. Nigel |
From: <nig...@us...> - 2001-10-09 13:11:39
|
Hi folks. It's been three weeks since I started developing with phpxml = so I thought it was about time I released to you all the fixes and = changes I have made for you to use if you want or bin if you prefer. ftp://129.215.200.115/Pub/phpxml/xml.php a.. Undefined index errors: It includes all of the Marko Faldix = mf...@mr... undefined index errors, and all of the Tim Strehle = ti...@di... undefined index errors. Also some I found too which = could be duplicates just fixed in a different way... b.. &apos has been removed c.. get_file has been renamed to get_file_as_html as it is a somewhat = misleading name for the function anyway. get_file_as_html() is = implemented by get_file_internal() which is mostly a copy of get_file. d.. get_file_as_xml This is a function that will return you a buffer = that can in it's entirity be dumped to an output file. it includes the = <?xml version... ?> line too. Very useful function. The support for = this was added to get_file_internal() so that it will quote < > and & = only if it is called from get_file_as_html. e.. stripslashes I don't bother calling addslashes to all the data = that the class holds, as this just gets really inconvenient. xmlphp = should be able to read in from file and write out as xml without = altering the logical content of the data and addslashes() restricts = this. Addslashes is useful for data that you use in php or javascript = strings, but xml can handle ' " and \ so why escape them? Consequently = all addslahes and stripslashes calls have been removed. f.. Output formating I've changed the rules for output formatting so = as to preserve "content" more effectively. Consequently if an element = has only content, it will be written as "<Tag>Text</Tag>" as opposed to = "<Tag>\n\tText\n<Tag>\n". This makes for a more compact output. g.. Whitespace is preserved When space is read, it is added to the = content of the node. It is only when the end tag is read that = whitespace is potentially discarded. Even then whitespace is only = discarded if the entire text content of the node is whitespace. This = strips "meaningless" whitespace that facilitates formatting of the xml = file, while preserving whitespace in text. h.. Boolean predicates didn't work The check_predicates function = didn't work with and and or because the return value of bool was being = interpreted as an integer and being considered to be an index instead of = a true or false. This has been fixed. If you look for "// ## N.S" then you'll be able to browse through the = changes that I have made. www.sourceforge.net looks like a really good site! I didn't realise = that it would do bug tracking, wishlists and user support too. Most of = the traffic of this list so far should be transferred to that system. = Please could you add me as a developer of the phpxml project? My = sourceforge username is "nigelswinson". I'll leave the file on the above ftp server until the bug fixes and = enhancements have been agreed/rejected and then possibly added to the = project at sourceforge.net. Thanks all. Nigel |
From: <nig...@us...> - 2001-10-09 13:11:36
|
> I see that only version 1.0 is available for download from phpxml.org, > but I've seen many error reports and fixes come through this list. = Where > can I download the latest version? As far as I'm aware, the version that I have "published" contains the = combination of all the bug fixes that I have seen so far. ftp://129.215.200.115/Pub/phpxml/xml.php I have found a series of "issues" recently with the XPath expressions = that I am currently fixing. =20 -------------------------------------------------------------------------= ------- Detailed description for those who care: The issue arises in the function evaluate() and it's calls to = evaluate_predicate() function. =20 To demostrate the problem visit: = http://www.phpxml.org/scripts/testsuite/index.php and select the = translation-example.xml file and use the following XPath expression = leaving the XPath context blank. //*[contains('title','to')] Clearly the string "title" does not contain "to", so this XPath = expression is logically the same as: //*[false] Yet the evaluate function recons that the template element holds an = element where this condition is true. The problem arises from the fact that evaluate() removes all ' chars, = thus making the XPath expression equal to: //*[contains(title,to)] Hence the script catches the fact that /template[1]/title[1] exists and = tries to see if it's content contains the XPath expression "to". Now the XPath expression "to" should evaluate to the empty node set, as = there are no <to> elements, but instead evaluate_predicate() returns the = string itself deciding that "to" must be a literal string, not a node = name. And so it decides that //*[contains('title','to')] matches the = /template[1] element. -------------------------------------------------------------------------= ------- Resolution: The evalute function should not strip ' chars, as it needs to = distinguish between string literals, and XPath expressions. The = evaluation should then detect the literal strings and not evaluate them = as XPath expressions. -------------------------------------------------------------------------= ------- The version at my ftp site contains this fix. ftp://129.215.200.115/Pub/phpxml/xml.php I'm still hoping that Michael will make me a sourceforge developer of = this project, otherwise I will continue to post fixes at the above site = and update the Changes.html document that can be found there. Nigel |