You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(157) |
Dec
(87) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(78) |
Feb
(246) |
Mar
(83) |
Apr
(32) |
May
(99) |
Jun
(85) |
Jul
(34) |
Aug
(24) |
Sep
(65) |
Oct
(60) |
Nov
(45) |
Dec
(90) |
2004 |
Jan
(8) |
Feb
(40) |
Mar
(12) |
Apr
(17) |
May
(56) |
Jun
(13) |
Jul
(5) |
Aug
(30) |
Sep
(51) |
Oct
(17) |
Nov
(9) |
Dec
(20) |
2005 |
Jan
(16) |
Feb
(22) |
Mar
(14) |
Apr
(6) |
May
(12) |
Jun
(41) |
Jul
(21) |
Aug
(26) |
Sep
(7) |
Oct
(42) |
Nov
(10) |
Dec
(7) |
2006 |
Jan
(6) |
Feb
(9) |
Mar
(19) |
Apr
(7) |
May
(1) |
Jun
(10) |
Jul
(5) |
Aug
|
Sep
|
Oct
(8) |
Nov
(9) |
Dec
(3) |
2007 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
(5) |
May
(10) |
Jun
(32) |
Jul
(6) |
Aug
(8) |
Sep
(10) |
Oct
(3) |
Nov
(11) |
Dec
(2) |
2008 |
Jan
(3) |
Feb
|
Mar
(11) |
Apr
|
May
(6) |
Jun
(4) |
Jul
|
Aug
(3) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
(1) |
Nov
(4) |
Dec
(3) |
2010 |
Jan
(3) |
Feb
(6) |
Mar
(16) |
Apr
(2) |
May
|
Jun
|
Jul
(7) |
Aug
(3) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Stefan S. <se...@sy...> - 2004-06-01 13:51:30
|
Christophe de Vienne wrote: > Currently, the lifetime of nodes is controlled by libxml2, via callbacks > on node ceation/deletion. The restrictions are that we cannot create a > standalone node, nor detach and then delete a node like a normal class > instance. Why do you believe this is a restriction ? Being able to unlink a node from its document will open up a big can of worms. Not only will you have to deal with resource allocation issues (until now nodes are owned and thus taken care of by a document), but there are other issues such as context data that are required for the node to make sense. Just think about namespaces. Sometimes it's better for an API to make it hard (if not impossible) for users to do certain things, just because there are better ways to achieve what they want. Regards, Stefan |
From: Christophe de V. <cde...@al...> - 2004-06-01 13:42:18
|
Daniel Holbach a écrit : >Hello everyone, > >I want to read a XML file and stick into a data structure of my own; I >need bits of it across my whole project, so passing around NodeSets >seems to be a no-go and not the appropriate option, but maybe I'm wrong. > > What makes you think it's inappropriate ? As long as your structures and your xml tree are organised in a similar way, I'd say that using xpath expressions is a bit overkill. ><snip> >I libxml2-xml-schema-validated it, got the appropriate NodeSet via > ns = rootNode->find("//datasource/descendant::*"); >and begin iterating over it: > for(xmlpp::NodeSet::iterator it=ns.begin();it!=ns.end();++it) > >The problem is, to know when which ddd-list is finished, to add it to >the bbb one. Maybe there's a clever trick and I don't see or maybe my >"design" is crap. I even appreciate flames, so thanks alot in advance. > > Either use the NodeLists, either make more precise xpath expression. Christophe |
From: Daniel H. <dh...@ma...> - 2004-06-01 08:51:13
|
Am Di, den 01.06.2004 um 9:35 Uhr +0200 schrieb Daniel Holbach: > data structure: > struct t_aaa > { > std::list<t_bbb> bbb; > }; > struct t_bbb > { > std::string ccc; > t_ddd ddd; > }; > struct t_ddd > { > std::list<int> eee; > }; I was being silly, gonna convert the structs into classes. But my general problem stays: when/how do I decide, which object is finished and can be "appended" to the other one? Have a nice day, Daniel |
From: Daniel H. <dh...@ma...> - 2004-06-01 07:36:27
|
Hello everyone, I want to read a XML file and stick into a data structure of my own; I need bits of it across my whole project, so passing around NodeSets seems to be a no-go and not the appropriate option, but maybe I'm wrong. In short my problem looks like this: XML file: <aaa> <bbb> <ccc>bla</ccc> <ddd> <eee>1</eee> <eee>2</eee> ... </ddd> </bbb> <bbb> <ccc>blah</ccc> <ddd> <eee>7</eee> <eee>8</eee> ... </ddd> </bbb> </aaa> data structure: struct t_aaa { std::list<t_bbb> bbb; }; struct t_bbb { std::string ccc; t_ddd ddd; }; struct t_ddd { std::list<int> eee; }; Of course I don't DOM-parse stupid aaa-bbb-files to bug you; the real file is http://protosquared.sf.net/protosquared.conf.xml (and http://protosquared.sf.net/protosquared.conf.xsd if you like) - I need the <datasources>-section to be put into http://protosquared.sf.net/datastructures.hh. After that utterly exhausting talk, now my question: How do I do it? I libxml2-xml-schema-validated it, got the appropriate NodeSet via ns = rootNode->find("//datasource/descendant::*"); and begin iterating over it: for(xmlpp::NodeSet::iterator it=ns.begin();it!=ns.end();++it) The problem is, to know when which ddd-list is finished, to add it to the bbb one. Maybe there's a clever trick and I don't see or maybe my "design" is crap. I even appreciate flames, so thanks alot in advance. Have a nice day, Daniel |
From: Christophe de V. <cde...@al...> - 2004-05-29 10:21:35
|
Hi, I'd like to discuss a possible improvement of the API. To illustrate my idea I'll take the example of the Element class, but all nodes are concerned. Currently, the lifetime of nodes is controlled by libxml2, via callbacks on node ceation/deletion. The restrictions are that we cannot create a standalone node, nor detach and then delete a node like a normal class instance. I think there is a solution which, without breaking the current behavior, would permit such things. I describe the deletion first because it's more simple. 0. Example With this modifications we could something like : Document doc; // ... Element * e = <any node of the document> e->detach(); // detach the node from the tree e->attach( new Element("achild") ); delete e; 1. Deletion Currently the destructor of Node does not release the underlying C structure, because it is supposed to be deleted from the callback "on_libxml_destruct". To allow a safe deletion, we have to release the structure, but ensure that the callback will not delete a second time the object. This can be done by setting impl_->_private to 0 in Element destructor (Node destructor would probably be ok too). The problem is that a destruction initiated by libxml2 would release twice the C structure. To avoid that, we can reset the Node::impl_ field before deleting the object. We would have then : Node::~Node() { if( impl_ ) { imp_->_private = 0; xmlFreeNode(impl_); } } on_libxml_destruct(xmlNode* node) { if( node->_private = 0 ) { return; } // ... 118 else 119 { 120 xmlpp::Node* cppNode = static_cast<xmlpp::Node*>(node->_private); 121 if(cppNode) 122 { > cppNode->impl_ = 0; 123 delete cppNode; 124 bPrivateDeleted = true; 125 } 126 } 127 } 2. Instanciation The instanciation is a bit more complex because we can't flag anything to tell the create callback that no node needs to be instanciated. My idea is to deactivate the callback during the node instanciation, if the default constructor is called. The callback registration in libxml2 being thread specific it should be safe to do so. The implementation would be something like this : /// This class deactivate the callback in the constructor, /// and reactive it in its destructor class ScopedCallbackDeactivator { // ... }; /// Static function xmlNode * Element::initXmlNode(Glib::ustring const & name) { ScopedCallbackDeactivator cd; return xmlNewNode((const xmlChar *)name.c_str()); } Element::Element(Glib::ustring const & name) : impl_( initXmlNode(name) ) { impl_->_private = static_cast<Node*>(this); } To be consistent, this technic could be used for destruction. Comments / critics are welcome, before I eventually produce a patch. Regards, Christophe |
From: Christophe de V. <cde...@al...> - 2004-05-28 21:36:34
|
Hi, I've just commited the dtdvalidator patch proposed a few month ago by Guillaume Arreckx. I changed few things from the original patche : - renamed *.cpp -> *.cc - fixed a few comments which where copy/paste from other files - replaced std::string with Glib::ustring - Added Dtd::cobj, since the patch rely on it. - added a validaty_error as suggested by jon I put the inputbuffer classes in the io subdirectory, and created a new directory, "validators", to put the validator implementation. I added an example in examples/dtdvalidation. Feel free to comment, I'm sure there is some stuffs to improve. I'll do a release of libxml++-2.7.0 when it will be roughly tested from cvs and the htmlparser patched reviewed and eventually included. Regards, Christophe PS: Guillaume, you should subscribe to the mailing if you want to discuss with the rest of the team. |
From: Akbar <li...@cw...> - 2004-05-25 15:11:34
|
Hey, this is my code: void Wall::on_button_apply() { char *server_name = getenv("HOME"); Glib::ustring filepath = server_name; filepath += "/.wallpapoz/wallpapoz.xml"; xmlpp::Document document; document.set_internal_subset("wallpaper", "", ""); xmlpp::Element* nodeRoot = document.create_root_node("wallpaper"); Gtk::TreeModel::Children children = m_refTreeModel->children(); for(Gtk::TreeModel::Children::iterator iter=children.begin(); iter!=children.end(); iter++) { Gtk::TreeModel::Row row= *iter; Glib::ustring temp2 = row[m_Columns.m_col_wallp]; xmlpp::Element* nodeChild = nodeRoot->add_child("file"); nodeChild->set_child_text(temp2); } document.write_to_file(filepath); } And my xml file will be like this: <?xml version="1.0"?> <!DOCTYPE wallpaper> <wallpaper><file>/home/knight/wallpaper/eowyn2.jpg </file><file>/home/knight/wallpaper/eowyn2.jpg </file><file>/home/knight/wallpaper/eowyn2.jpg </file><file>/home/knight/wallpaper/eowyn2.jpg </file><file>/home/knight/wallpaper/eowyn2.jpg </file></wallpaper> How can I make it like this: <?xml version="1.0"?> <!DOCTYPE wallpaper> <wallpaper> <file>/home/knight/wallpaper/eowyn2.jpg</file> <file>/home/knight/wallpaper/eowyn2.jpg</file> <file>/home/knight/wallpaper/eowyn2.jpg</file> <file>/home/knight/wallpaper/eowyn2.jpg</file> <file>/home/knight/wallpaper/eowyn2.jpg</file> </wallpaper> Thank you. |
From: LARRODE X. (DR&T) <xav...@sn...> - 2004-05-25 11:01:43
|
Ok, thank you very much Christophe. I'm goint to check all of this, soon =20 On Tue, 2004-05-25 at 10:04, Christophe de VIENNE wrote: > LARRODE Xavier (DR&T) a =E9crit : >=20 > >Hello,=20 > >i would like to add a progress bar in my parser (i 'm using a SAX > >parser), and my question is ... if we can get the (relative) position = of > >the stream in octect or in percentage of the file? > > =20 > > >=20 > Hi again, >=20 > I just though of a pure libxml++ solution which would be to use=20 > parse_chunck and then calculate the progression before giving each=20 > chunck of data to the parser. > cf=20 > http://libxmlplusplus.sourceforge.net/reference/2.6/html/classxmlpp_1_1= SaxParser.html#a5 > and=20 > http://libxmlplusplus.sourceforge.net/reference/2.6/html/classxmlpp_1_1= SaxParser.html#a6. >=20 > Christophe >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle 10g= .=20 > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dclick > _______________________________________________ > Libxmlplusplus-general mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libxmlplusplus-general |
From: Christophe de V. <cde...@al...> - 2004-05-25 08:02:26
|
LARRODE Xavier (DR&T) a =E9crit : >Hello,=20 >i would like to add a progress bar in my parser (i 'm using a SAX >parser), and my question is ... if we can get the (relative) position of >the stream in octect or in percentage of the file? > =20 > Hi again, I just though of a pure libxml++ solution which would be to use=20 parse_chunck and then calculate the progression before giving each=20 chunck of data to the parser. cf=20 http://libxmlplusplus.sourceforge.net/reference/2.6/html/classxmlpp_1_1Sa= xParser.html#a5=20 and=20 http://libxmlplusplus.sourceforge.net/reference/2.6/html/classxmlpp_1_1Sa= xParser.html#a6. Christophe |
From: Christophe de V. <cde...@al...> - 2004-05-25 07:57:09
|
Hi, LARRODE Xavier (DR&T) a =E9crit : >i would like to add a progress bar in my parser (i 'm using a SAX >parser), and my question is ... if we can get the (relative) position of >the stream in octect or in percentage of the file? > =20 > There is not direct solution in the libxml++ API, but libxml2 provides=20 getColumnNumber:=20 http://www.xmlsoft.org/html/libxml-SAX.html#getColumnNumber which should=20 do what you want. Note that this is a SAX1 function, since the stable versions of libxml++=20 use it. The future one should use SAX2. Regards, Christophe |
From: LARRODE X. (DR&T) <xav...@sn...> - 2004-05-25 07:17:11
|
Hello, i would like to add a progress bar in my parser (i 'm using a SAX parser), and my question is ... if we can get the (relative) position of the stream in octect or in percentage of the file? Thank you all Xavier |
From: Christophe de V. <cde...@al...> - 2004-05-23 21:55:21
|
*** libxml++ libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and DOM-like APIs, but does not attempt to conform exactly to the DOM specifications because they are not aimed at C++. Its API is much simpler than the underlying libxml C API. *** Homepage http://libxmlplusplus.sourceforge.net/ *** Notes This release only fixes the distribution tarball. *** Changes * Fixed the dist tarball. *** Download You can download libxml++ 1.0.4 from gnome servers: http://ftp.gnome.org/pub/GNOME/sources/libxml++/1.0/ Best Regards, Christophe de Vienne |
From: Chris L. <ch...@le...> - 2004-05-19 07:01:45
|
On Tue, May 18, 2004 at 23:57:32 +0200, Christophe de Vienne wrote: <snip> > Since there was quite a long time since 1.0.3 release, should I just > upload a fixed tarball or make another release (I was going for the > first option) ? Definately make a new release. Modifing an already released tarball is just asking for a support nightmare - especially as distributions like Debian have already picked up the broken tarball and are distributing it (with the missing file included as a patch). Regards, Chris |
From: Jim G. <gar...@ca...> - 2004-05-15 02:56:22
|
Hello, I'm not sure if anybody reported this problem yet, so please bear with me. In the 1.0 branch, the file libxml++/api_export.h is not referenced by Makefile.am. Therefore it is not included in the tarball, and nothing will build against libxml++ 1.0.3. I consider this a serious enough bug to warrant another release. Details were filed on Debian's bug tracking system, as far as I have seen. However, the problem is in libxml++/Makefile.am, not Debian. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=248968 Jim |
From: Christophe de V. <cde...@al...> - 2004-05-10 20:15:48
|
Hi, I know about this problem, I actually fixed the package but I cannot connect to the gnome servers to replace it since sunday. Meanwhile see http://bugzilla.gnome.org/show_bug.cgi?id=142136 to compile it. Regards Christophe |
From: Frederik H. <fre...@ar...> - 2004-05-10 19:35:46
|
I'm trying to compile libxml++ 1.0.3, but it fails with this error: g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_ STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"libxml++\" -DVERSION=\"1.0.3\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHA VE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_ST DINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_STRING=1 -DHAVE_LIST=1 -DHAVE _MAP=1 -DLIBXMLPP_COMPILATION -I. -I. -I../.. -I/usr/include/libxml2 -g -O2 -MT parser.lo -MD -MP -MF .deps/parser.Tpo -c parser.cc -fPIC -DPIC -DPIC -o parser .o In file included from ../../libxml++/nodes/node.h:10, from ../../libxml++/nodes/element.h:10, from ../../libxml++/parsers/parser.h:14, from parser.cc:7: ../../libxml++/noncopyable.h:11:33: libxml++/api_export.h: No such file or directory [...] -- Frederik Himpe |
From: Akbar <li...@cw...> - 2004-05-10 05:06:32
|
On Mon, 2004-05-10 at 11:29, Jim Garrison wrote: > xmlpp::Element *el = dynamic_cast<xmlpp::Element*>(*iter); > if (!el) > continue; > xmlpp::TextNode *t = el->get_child_text(); > if (!t) > continue; > t->get_content(); // and do something with it. > > Let me know if that doesn't work. Thanks, that works!!! > > Jim > > On Sun, 2004-05-09 at 13:49, Akbar wrote: > > <?xml version="1.0"?> > > <!DOCTYPE wallpaper> > > > > <wallpaper> > > <file> /home/knight/wallpaper/wallpaper11.jpg </file> > > <file> /home/knight/wallpaper/wallpaper12.jpg </file> > > <file> /home/knight/wallpaper/wallpaper13.jpg </file> > > <file> /home/knight/wallpaper/wallpaper14.jpg </file> > > </wallpaper> > > > > That is my xml file. I want to read this xml file and pass the value of > > file to let's say array of strings. So assume we have : > > string array[5]; > > > > In the end of the program I want to do this: > > for( int i =0; i<4; i++) > > cout << array[i] << endl; > > > > And the output should be > > /home/knight/wallpaper/wallpaper11.jpg > > /home/knight/wallpaper/wallpaper12.jpg > > /home/knight/wallpaper/wallpaper13.jpg > > /home/knight/wallpaper/wallpaper14.jpg > > > > But I don't know how to extract this value. I have read the example. But > > all I know are just writing xml file, extract the reference, extract the > > comment. I am getting difficulties because there is no tutorial > > outthere. How can I do this? I have tried. This is my effort: > > Glib::ustring filee = "wallpaper.xml"; > > xmlpp::DomParser parser; > > parser.parse_file(filee); > > xmlpp::Node* pNode = parser.get_document()->get_root_node(); > > xmlpp::Node::NodeList list = pNode->get_children(); > > for(xmlpp::Node::NodeList::iterator iter = list.begin(); iter != > > list.end(); iter++) { > > //this is where I stuck > > //I don't know what to do here > > //there is no (*iter)->get_content(); stuff > > } > > > > Can you help me, guyz???? > > > > Thank you. > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Sleepycat Software > > Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to > > deliver higher performing products faster, at low TCO. > > http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3 > > _______________________________________________ > > Libxmlplusplus-general mailing list > > Lib...@li... > > https://lists.sourceforge.net/lists/listinfo/libxmlplusplus-general > |
From: Jim G. <gar...@ca...> - 2004-05-10 04:29:45
|
xmlpp::Element *el = dynamic_cast<xmlpp::Element*>(*iter); if (!el) continue; xmlpp::TextNode *t = el->get_child_text(); if (!t) continue; t->get_content(); // and do something with it. Let me know if that doesn't work. Jim On Sun, 2004-05-09 at 13:49, Akbar wrote: > <?xml version="1.0"?> > <!DOCTYPE wallpaper> > > <wallpaper> > <file> /home/knight/wallpaper/wallpaper11.jpg </file> > <file> /home/knight/wallpaper/wallpaper12.jpg </file> > <file> /home/knight/wallpaper/wallpaper13.jpg </file> > <file> /home/knight/wallpaper/wallpaper14.jpg </file> > </wallpaper> > > That is my xml file. I want to read this xml file and pass the value of > file to let's say array of strings. So assume we have : > string array[5]; > > In the end of the program I want to do this: > for( int i =0; i<4; i++) > cout << array[i] << endl; > > And the output should be > /home/knight/wallpaper/wallpaper11.jpg > /home/knight/wallpaper/wallpaper12.jpg > /home/knight/wallpaper/wallpaper13.jpg > /home/knight/wallpaper/wallpaper14.jpg > > But I don't know how to extract this value. I have read the example. But > all I know are just writing xml file, extract the reference, extract the > comment. I am getting difficulties because there is no tutorial > outthere. How can I do this? I have tried. This is my effort: > Glib::ustring filee = "wallpaper.xml"; > xmlpp::DomParser parser; > parser.parse_file(filee); > xmlpp::Node* pNode = parser.get_document()->get_root_node(); > xmlpp::Node::NodeList list = pNode->get_children(); > for(xmlpp::Node::NodeList::iterator iter = list.begin(); iter != > list.end(); iter++) { > //this is where I stuck > //I don't know what to do here > //there is no (*iter)->get_content(); stuff > } > > Can you help me, guyz???? > > Thank you. > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by Sleepycat Software > Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to > deliver higher performing products faster, at low TCO. > http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3 > _______________________________________________ > Libxmlplusplus-general mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libxmlplusplus-general |
From: Akbar <li...@cw...> - 2004-05-10 04:17:02
|
<?xml version="1.0"?> <!DOCTYPE wallpaper> <wallpaper> <file> /home/knight/wallpaper/wallpaper11.jpg </file> <file> /home/knight/wallpaper/wallpaper12.jpg </file> <file> /home/knight/wallpaper/wallpaper13.jpg </file> <file> /home/knight/wallpaper/wallpaper14.jpg </file> </wallpaper> That is my xml file. I want to read this xml file and pass the value of file to let's say array of strings. So assume we have : string array[5]; In the end of the program I want to do this: for( int i =0; i<4; i++) cout << array[i] << endl; And the output should be /home/knight/wallpaper/wallpaper11.jpg /home/knight/wallpaper/wallpaper12.jpg /home/knight/wallpaper/wallpaper13.jpg /home/knight/wallpaper/wallpaper14.jpg But I don't know how to extract this value. I have read the example. But all I know are just writing xml file, extract the reference, extract the comment. I am getting difficulties because there is no tutorial outthere. How can I do this? I have tried. This is my effort: Glib::ustring filee = "wallpaper.xml"; xmlpp::DomParser parser; parser.parse_file(filee); xmlpp::Node* pNode = parser.get_document()->get_root_node(); xmlpp::Node::NodeList list = pNode->get_children(); for(xmlpp::Node::NodeList::iterator iter = list.begin(); iter != list.end(); iter++) { //this is where I stuck //I don't know what to do here //there is no (*iter)->get_content(); stuff } Can you help me, guyz???? Thank you. |
From: Christophe de V. <cde...@al...> - 2004-05-06 19:04:07
|
Hi all, cde...@al... wrote: >*** CVS branches *** > >The eventual 2.6.x future modifications will go on the cvs branch >LIBXMLPP_BRANCH_2_6. >The 2.7/2.8 work will be done on the HEAD branch. > > CVS branch is done. We now have a LIBXMLPP_BRANCH_2_6 branch, and the HEAD branch has been updated with the new version numbers. Regards, Christophe |
From: <cde...@al...> - 2004-05-05 22:04:06
|
Hi all, Now that libxml++ 2.6 is stable, we're going to start version 2.7/2.8 developpement. *** CVS branches *** The eventual 2.6.x future modifications will go on the cvs branch LIBXMLPP_BRANCH_2_6. The 2.7/2.8 work will be done on the HEAD branch. *** API adds *** We already have to patches that are ready to go in the unstable branch. One is the HtmlParser proposed by Laurent Hoss (needs some work though), the other one is a DTD validation proposed by Guillaume ARRECKX (looks clean). A few things that could be done : - Complete the XmlReader binding. - Take a look at XmlWrite and see if it worth being wrapped. - Redo SaxParser on top of SAX2. - Wrap other parts of libxml2 if *** Scheduling *** I'll try to branch and integrate the patches this week, and then make a first release so the new API can be tested. The Gnome 2.7/2.8 release schedule is here : http://www.gnome.org/start/2.7/ The big deadline is API/ABI freeze on July 21th. Best regards, Christophe |
From: <cde...@al...> - 2004-05-05 21:04:03
|
*** libxml++ libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and DOM-like APIs, but does not attempt to conform exactly to the DOM specifications because they are not aimed at C++. Its API is much simpler than the underlying libxml C API. *** Homepage http://libxmlplusplus.sourceforge.net/ *** Notes This is a bugfix release. *** Changes * Fixed ContentNode::SetContent behavior. * Made libxml++ build as a dll with mingw32 (tested under linux). *** Download You can download libxml++ 1.0.3 from gnome servers: http://ftp.gnome.org/pub/GNOME/sources/libxml++/1.0/ Best Regards, Christophe de Vienne |
From: <cde...@al...> - 2004-05-05 20:25:10
|
*** libxml++ libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and DOM-like APIs, but does not attempt to conform exactly to the DOM specifications because they are not aimed at C++. Its API is much simpler than the underlying libxml C API. *** Homepage http://libxmlplusplus.sourceforge.net/ *** Notes This release fixes 2 annoying bugs found in libxml++ 2.6.0. *** Changes * Fixed an issue (#141824) with Glib::ustring instanciation in character and cdata_block saxparser callbacks. * Fixed ContentNode::SetContent behavior. *** Download You can download libxml++ 2.6.1 from gnome servers: http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.6/ Best Regards, Christophe de Vienne |
From: Jonathan W. <co...@co...> - 2004-05-05 10:28:23
|
On Wed, May 05, 2004 at 11:55:05AM +0200, Christophe de VIENNE wrote: > It's so evident it's the right solution I'm ashamed I didn't see it ! Hey, at least you could see the XML decl at the top of Frederik's file! I think I keep all rights to be ashamed round here for a while ;) jon -- If one tells the truth, one is sure, sooner or later, to be found out. - Oscar Wilde |
From: Christophe de V. <cde...@al...> - 2004-05-05 09:53:53
|
Jonathan Wakely wrote: >On Tue, May 04, 2004 at 11:13:54PM +0200, Christophe de Vienne wrote: > > > >>Christophe de Vienne wrote: >> >> >>The solution is, I think, to instanciate like this : >>Glib::ustring( std::string(ch, len) ) >>This should not make unecessary buffer copy with g++ 3.x at least, since >>std::string has a COW implementation, and Glib::ustring constructor >>taking a std::string just copy it. >> >> > >How about using this ctor taking an iterator range: > > template <class InputIterator> > Glib::ustring::ustring(InputIterator begin, InputIterator end); ><snip> > > It's so evident it's the right solution I'm ashamed I didn't see it ! I'll commit this ASAP. Christophe |