Is XMLWriter in the upcoming 1.2 image? It is not in the 1.1 image. --Hannes
On 11/3/10, Hannes Hirzel <[email protected]> wrote: > Thank you Stef, for pointing this out. > > I had a look at Torsten's email of July 6th about XMLWriter and the > subsequent discussion. > > Yes, an alternative approach would be to model an XML generation API > along the lines of Seaside html rendering -- with blocks instead of > start/end messages. > > Has there some work going on elsewhere besides what Torsten did? > http://squeaksource.com/PharoGoodies/XMLWriter-tbn.5.mcz > > --Hannes > > N.B. This is only about 'XML writing' NOT about XML parsing. The idea > is to have an API which allows to have readable XML generation code > with an implementation which does not consume much memory. And with > enough examples and tests. > > > On 11/2/10, Stéphane Ducasse <[email protected]> wrote: >> Thanks hannes >> I think that the XMLWriter offers a bit something similar influenced by >> seaside DSL. >> >> Stef >> >> On Nov 1, 2010, at 10:58 PM, Hannes Hirzel wrote: >> >>> Hello >>> >>> I read the post by Stephane Ducasse about writing XML (see below) with >>> a bibliography example. >>> >>> Recently I (re)-discovered the port to Squeak/Pharo of the Writing API >>> for XML (WAX) (http://java.ociweb.com/mark/programming/WAX.html) and >>> could put it to good use for writing an XML file a bit more complex >>> than the bibliography example. >>> >>> From the web site >>> WAX has the following characteristics: >>> >>> * focuses on writing XML, not reading it >>> * requires less code than other approaches >>> * uses less memory than other approaches >>> (because it outputs XML as each method is called rather than >>> storing it in a DOM-like structure and outputting it later) >>> * writes all XML node types >>> * always outputs well-formed XML or throws an exception unless >>> running in "trust me" mode >>> * knows how to associate DTDs, XML Schemas and XSLT stylesheets >>> with the XML it outputs >>> * is well-suited for writing XML request and response messages for >>> REST-based and SOAP-based services >>> >>> However I do not know how far these points apply to the Squeak/Pharo >>> port. >>> http://www.squeaksource.com/WAX >>> It needs the VB Regex package (http://www.squeaksource.com/Regex) >>> >>> As an exercise I did the code to produce the example Stephane gave. It >>> worked fine; see below. >>> >>> Regards >>> Hannes >>> >>> >>> >>> >>> >>> ========================================================== >>> >>> WAX new >>> stream: (FileStream newFileNamed: 'myBibliography.xml'); >>> writeXMLDeclaration: #1.0; >>> start: 'BDBase'; >>> attr: 'date' value: '25 May 2010'; >>> attr: 'note' value: 'nil'; >>> >>> start: 'bd'; >>> attr: 'authors' value: 'Larcenet'; >>> attr: 'editor' value: 'Dargaud'; >>> attr: 'entryCreationDate' value: '25 March >>> 2006'; >>> attr: 'entryNumber' value: '1'; >>> attr: 'number' value: '1'; >>> attr: 'original' value: 'true'; >>> attr: 'serie' value: 'Nic oumouk'; >>> attr: 'serieComplete' value: 'false'; >>> attr: 'title' value: 'Total souk pour nic >>> oumouk'; >>> attr: 'year' value: '2005'; >>> end; >>> >>> start: 'bd'; >>> attr: 'authors' value: 'Greg'; >>> attr: 'editor' value: 'Dargaud'; >>> attr: 'entryCreationDate' value: '5 May 2006'; >>> attr: 'entryNumber' value: '2'; >>> attr: 'notes' value: 'sur le 4eme de couv >>> aventure a manhattan'; >>> attr: 'number' value: '9'; >>> attr: 'original' value: 'true'; >>> attr: 'serie' value: 'Achille Talon'; >>> attr: 'title' value: 'Les petits desseins >>> d''Achille Talon'; >>> attr: 'year' value: '1974'; >>> end; >>> >>> start: 'bd'; >>> attr: 'authors' value: 'Greg'; >>> attr: 'editor' value: 'Dargaud'; >>> attr: 'entryCreationDate' value: '5 May 2006'; >>> attr: 'entryNumber' value: '3'; >>> attr: 'notes' value: 'sur la couverture une >>> histoire du journal >>> tintin'; >>> attr: 'number' value: '13'; >>> attr: 'original' value: 'true'; >>> attr: 'serie' value: 'Achille Talon'; >>> attr: 'title' value: 'Pas de pitié pour Achille >>> Talon'; >>> attr: 'year' value: '1976'; >>> end; >>> end; >>> close. >>> >>> ========================================================== >>> Output >>> <?xml version="1.0" encoding="UTF-8"?> >>> <BDBase date="25 May 2010" note="nil"> >>> <bd authors="Larcenet" editor="Dargaud" entryCreationDate="25 March >>> 2006" entryNumber="1" number="1" original="true" serie="Nic oumouk" >>> serieComplete="false" title="Total souk pour nic oumouk" year="2005"/> >>> <bd authors="Greg" editor="Dargaud" entryCreationDate="5 May 2006" >>> entryNumber="2" notes="sur le 4eme de couv aventure a manhattan" >>> number="9" original="true" serie="Achille Talon" title="Les petits >>> desseins d'Achille Talon" year="1974"/> >>> <bd authors="Greg" editor="Dargaud" entryCreationDate="5 May 2006" >>> entryNumber="3" notes="sur la couverture une histoire du journal >>> tintin" number="13" original="true" serie="Achille Talon" title="Pas >>> de pitié pour Achille Talon" year="1976"/> >>> </BDBase> >>> >>> >>> >>> ========================================================== >>> >>> On 10/31/10, stephane ducasse <[email protected]> wrote: >>>> How can I control that each of the node of my document get printed a cr >>>> at >>>> its end? >>>> >>>> In the past I got that >>>> >>>> <?xml version="1.0" encoding="UTF-8" ?> >>>> <BDBase date="25 May 2010" entriesNumber="2440" note="nil"> >>>> <bd authors="Larcenet" editor="Dargaud" entryCreationDate="25 March >>>> 2006" >>>> entryNumber="1" number="1" original="true" serie="Nic oumouk" >>>> serieComplete="false" title="Total souk pour nic oumouk" year="2005"/> >>>> <bd authors="Greg" editor="Dargaud" entryCreationDate="5 May 2006" >>>> entryNumber="2" notes="sur le 4eme de couv aventure a manhattan" >>>> number="9" >>>> original="true" serie="Achille Talon" title="Les petits desseins >>>> d'Achille >>>> Talon" year="1974"/> >>>> <bd authors="Greg" editor="Dargaud" entryCreationDate="5 May 2006" >>>> entryNumber="3" notes="sur la couverture une histoire du journal >>>> tintin" >>>> number="13" original="true" serie="Achille Talon" title="Pas de pitié >>>> pour >>>> Achille Talon" year="1976"/> >>>> <bd aut >>>> >>>> Now I get >>>> >>>> <?xml version="1.0" encoding="UTF-8"?><Base date="31 October 2010" >>>> entriesNumber="2448" note="nil"><bd serieComplete="false" >>>> editor="Dargaud" >>>> entryCreationDate="25 March 2006" entryNumber="1" authors="Larcenet" >>>> title="Total souk pour nic oumouk" serie="Nic oumouk" original="true" >>>> number="1" year="2005" /><bd serieComplete="false" editor="Dargaud" >>>> entryCreationDate="5 May 2006" entryNumber="2" authors="Greg" >>>> title="Les >>>> petits desseins d'Achille Talon" serie="Achille Talon" original="true" >>>> notes="sur le 4eme de couv aventure a manhattan" number="9" year="1974" >>>> /><bd serieComplete="false" editor="Dargaud" entryCreationDate="5 May >>>> 2006" >>>> entryNumber="3" authors="Greg" title="Pas de pitié pour Achille Talon" >>>> serie="Achille Talon" original="true" notes="sur la couverture une >>>> histoire >>>> du journal tintin" number="13" year="1976" /><bd serieComplete="false" >>>> editor="Dargaud" entryCreationDate="5 May 2006" entryNumber="4" >>>> authors="Greg" title >>>> >>>> Thanks >>>> >>>> Stef >>>> >>> >> >> >> >
