geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (Jira)" <>
Subject [jira] [Commented] (GEODE-6914) Switch the XML parser from libxml to xerces
Date Thu, 26 Sep 2019 19:18:00 GMT


ASF subversion and git services commented on GEODE-6914:

Commit b85c9366ccb055636f19922b96fbd4863e7b026f in geode-native's branch refs/heads/master
from Blake Bender
[;h=b85c936 ]

GEODE-6914: Replace libxml with xerces-c in CacheXmlParser (#501)

- Replaced libxml references with Xerces.
- Removed dead code.
- Add xerces-c project back into dependencies.  This was pulled in 11/2017, but we're switching
to using it in product code now
- Templatize function pointers using std::function
- Remove unused endPdx method
- Rename member variables to conform to our conventions
- Move getFactoryFunc into Utils where it belongs
- Added negative test case to verify we assert if missing required attribute
- GEODE-6914: Apply correct compiler settings to Xerces
- GEODE-6914: Disable schema validation for the time being
- Add alias for xerces-c to CMakeLists, update reference to it
- Mark Xerces headers as system headers
- Spell out 'function' in getFactoryFunction
- Corresponding formatting changes
- Add a CacheXmlParser test that loads a cache.xml with a bad schema and assert it doesn't
throw, i.e. we're not validating schemas

Co-authored-by: Matthew Reddington <>
Co-authored-by: Mike Martell <>
Co-authored-by: Jacob Barrett <>

> Switch the XML parser from libxml to xerces 
> --------------------------------------------
>                 Key: GEODE-6914
>                 URL:
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Matthew Reddington
>            Priority: Major
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
> This is becoming a pain point on multiple dev platforms, so we need to switch to something
modern.  On MacOS, libxml2 no longer builds on Mojave with out-of-the-box tools, because
/usr/include and /usr/lib have been removed from the system.  You can build it by running
an installer package that Apple includes with the tools _for the time being_, but it's going
away, and BTW having these directories causes problems with other packages (OpenSSL).  On
Windows, the libxml build has a custom build step that _runs a javascript file from the command
line_, so if anything moves the .js file association away from the windows scripting host
(many, many applications do this, not least of which is Webstorm IDE), you can't build libxml2
without swapping back file associations manually.  In short, it hurts when we do this, so
let's not do this any more.

This message was sent by Atlassian Jira

View raw message