lizh06 / ticpp

Automatically exported from code.google.com/p/ticpp
0 stars 0 forks source link

Not an issue - suggested merging #10

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
First, thx for your work. It helps me a lot ;-)

Just a little suggestion:

What about merging the projects around tinyXML: tinyXML, tinyXML++,
tinyXPath, tinyBind in one complete toolkit with tinyXML in the middle and
additional modules around ?
 At least, tinyXML and tinyXML++... This would avoid cross patching to get
a functional, up to date version (for example, tinyXML++ added support in
tinyXML sources for StyleSheetReferences that tinyXML "legacy code" has not) 

This morning, I merged manually the 4 projects with up to date sources for
each one (for tinyBind, I don't know if it's really alive...)

So I had to make some diff between the redistributed tinyXML in each
project and the original version to get changes added by each team. Then I
made a diff between tinyXML 2.5.3 and SVN HEAD. Finally, I took 2.5.3 and
applied all patches in sequence...

So I get tinyXML + tinyXML++ + tinyXPath + tinyBind in 4 small libs
interacting correctly. Fine.

But cross patching makes errors more probable. As projects are separated,
this merging done today will be probably very hard to maintain tomorrow.

Feel free to contact me for discussion...

Original issue reported on code.google.com by morgoth....@laposte.net on 8 Nov 2007 at 9:57

GoogleCodeExporter commented 9 years ago
When we first created this we offered TinyXML++ to the TinyXML people and they
declined and said it was fine to keep it separated.

I can also tell you there is very minimal changes needed to TinyXML source. 
Maybe a
total of 5 line, if memory serves. Our idea has always been to treat TinyXML as 
a
black box and wrap it. The wrapping is the only thing that needs to be coded 
inside
our few files. So I know I would love to see TimyXML++ be part of the official
distribution, but the developers of TinyXML have to agree.

P.S. I have no knowledge of TinyXPath and TinyBind so I can't comment.

Original comment by rpusz...@gmail.com on 8 Nov 2007 at 1:45

GoogleCodeExporter commented 9 years ago
I wasn't aware of the tinyXML++ story. Sorry... It's a bit strange that tinyXML
people didn't want to incorporate tinyXML++ as an extra module because it really
makes sense... Perhaps tinyXML was too young when you offered tinyXML++. The
situation has probably changed a little (tinyXML is more mature ?).

Anyway...About the changes, it's a little more than what you said: recently, 
tinyXML
changed some enums (not a big deal really) and some bugs have been corrected. 
On the
other side, tinyXML++ adds support for stylesheets declarations by adding a new
subclass in tinyXML. This makes both projects dependent in their evolution and
tinyXML is not a "black box" anymore. 

I see 3 possible solutions:
- even if tinyXML++ is not incorporated into tinyXML, your additions on 
stylesheets
declarations could be commited in current tinyXML CVS...This way, tinyXML is 
black
again for tixml++ ;) A new #define could eventually be added to activate 
stylesheet
support.
- if it doesn't work (for ex., tinxyXML team refuses your updates even with a 
nice
#ifdef XXX), at least, you could just distribute a patch against tinyXML (and 
not
tinyXML itself) to keep both code as separated as possible...More work here...
- you fork ;-( and incorporate tinyXML into YOUR project...but really it's a bad
solution...

For tinyXPath and tinyBind, just have a look here:
- http://tinyxpath.sourceforge.net/
- http://sourceforge.net/projects/tinybind/

tinyBind can be useful for serializing C++ objects to/from XML. This is an old 
code
and after some tests, it doesn't work with recent tinyXML versions. But the 
idea is
still here. As it deals with C++ objects, perhaps you could take the concept 
back
into tinyXML++ ? It's not really wrapping but a kind of new functionnality in 
tinyXML++.

tinyXPath is "just" an XPath implementation over tinyXML. Again, there's 
probably an
added value to offer a nicer C++ interface to this library as you did for 
tinyXML
(template for automatic conversions, iterators over xpath results ...)

I'm currently working with tinyxml/tinyXML++/tinyXpath and the 3 modules work 
really
fine together. xpath can save really a bunch of C++ lines and is not really 
bigger
than tinyXML ! My "3-in-1" library weights 250 Kb under Linux... Free, small,
efficient... What else ? (TM)

Original comment by morgoth....@laposte.net on 9 Nov 2007 at 1:02

GoogleCodeExporter commented 9 years ago
I am going to close this issue since the discussion seems to be over.

Original comment by rpusz...@gmail.com on 21 Jan 2008 at 6:21