[vtk-developers] Add pugixml to VTK

Dan Lipsa dan.lipsa at kitware.com
Fri Jun 22 14:28:12 EDT 2018


Thank you all for your comments.  I am trying to summarize them next:

Advantages
1. ParaView, SMTK and CMB already use pugixml, so instead of maintaining
this library in three projects we'll do it in one VTK (for those of us that
work on more than one of these projects)
2. pugixml has a clean interface and it is (much) faster than the
alternatives available in VTK. (only the latest pugixml version?)

Drawbacks:
1. no validation
2. no streaming (SAX interface)
3. an additional library to maintain in VTK.
4. Three different XML libraries in VTK.

Looking at the drawbacks: The features named in drawbacks 1. and 2. are not
important if you don't want to use them. If you do, you have alternatives
(libxml2 and expat).
I think drawback 3 is mitigated by advantage 1.

4. Seems to be the case that different XML libraries have different
strengths (completeness versus speed). Given that, we either use the most
complete library and give up speed or we have several libraries available
and use them based on the feature we need most. VTK already seems to have
taken this path with libxml2 and expat. I also suspect that in certain
cases we just use the XML library available at the time, so we could
convert the code to use a different XML library - Of course this requires
time and work!

I setup a survey to better assess the community feeling on this:

https://goo.gl/forms/3cnOk6To0zuaVP2k2



On Wed, Jun 20, 2018 at 12:13 PM Robert Michael O'Bara <
bob.obara at kitware.com> wrote:

> SMTK and CMB use pugixml for years and have been very happy with it.
>
> Bob
>
> Sent from my iPad
>
> On Jun 20, 2018, at 12:07 PM, Jonathan Borduas <
> jonathan.borduas at caboma.com> wrote:
>
> My 2 cents here is that speed is of the essence. Validating XML are good
> for debugging, however I found that most don’t take the time to create an
> XSD file to enable the validation.
>
>
>
> In most of our cases at Caboma, XML and meant to be human readable and
> editable, but it is rare that we manually edit the structure of an XML
> file.
>
> However, we do wait after .xml parsing when the files are 20mb+. We hope
> that the community would move to the latest version of pugixml (1.9): by
> looking at the changelogs, there was a lot of performance improvements
> since version 1.4 (the current version used in ParaView).
> https://pugixml.org/docs/manual.html#v1.5
>
>
>
> Best
>
>
>
> Jonathan Borduas
>
> CTO, Caboma Inc.
>
>
>
>
>
> *From:* vtk-developers <vtk-developers-bounces at public.kitware.com> *On
> Behalf Of *David E DeMarle
> *Sent:* Wednesday, June 20, 2018 11:49 AM
> *To:* Elvis Stansvik <elvis.stansvik at orexplore.com>
> *Cc:* vtkdev <vtk-developers at vtk.org>
> *Subject:* Re: [vtk-developers] Add pugixml to VTK
>
>
>
>  I was thinking more if there should be a push towards one single lib, ...
>
>
>
> I for one would really like us to get down to just one xml parser in VTK.
> The more the less merrier in terms of maintenance effort and project
> complexity eh?
>
>
>
> David E DeMarle
> Kitware, Inc.
> Principal Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4909
>
>
>
>
>
> On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik <
> elvis.stansvik at orexplore.com> wrote:
>
> 2018-06-16 8:37 GMT+02:00 Chiranjib Sur <sur.chiranjib at gmail.com>:
>
> My few cents... The disadvantage with pugixml is that it's a
> non-validating parser. If I want to make full use of XML schema for any
> custom developed plugin, it's a very poor choice then.
>
>
>
> Any thoughts?
>
>
>
> Also worth noting that it's a DOM-like parser only AFAIK, so if you want
> to do streaming parsing in a push paradigm à la SAX or a pull paradigm à la
> libxml2's reader interface, you'd need to turn to another library. Note
> that may not be a problem if VTK already has libxml2 as a dep, since then
> you could use that. I was thinking more if there should be a push towards
> one single lib, then it might make sense to pick one that has both DOM and
> streaming interfaces (don't know if that's a goal/consideration though).
>
>
>
> Elvis
>
>
>
>
>
> Thanks and regards,
> Chiranjib
>
> ------
> Using hand held device. Sorry for the typo, if any.
>
>
>
> On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit <
> utkarsh.ayachit at kitware.com> wrote:
>
> > I thought Ben Boeckel was working on a removing as many things from
> ThirdParty as possible (and making them parts of a superbuild). So perhaps
> the CityGML reader should live in a VTK module that requires an external
> pugi? I know pugi is small, but...
>
> I am not sure that's correct. He was doing that for Python 3rd party
> modules. Are you referring to that?
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtk-developers
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtk-developers
>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtk-developers
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtk-developers
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtk-developers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtk-developers/attachments/20180622/9325f4b8/attachment.html>


More information about the vtk-developers mailing list