<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <br>
    Nick, Julien, Alain,<br>
    <br>
    As said before we'd like to harmonize the XML parsing accross the
    GateIn projects. Let's kill this once for all...<br>
    <br>
    It doesn't mean we would change the existing parsers overnight but
    it means we will impose a way for any new parsing (or when we decide
    to rewrite a parser).<br>
    <br>
    If we need parser tools, they will go in Common module ultimately.
    There might be a phase when the code will be duplicated (as Nick's
    tools need to work on an untouched portal where upgrading common is
    not an option).<br>
    <br>
    We already agreed that StAX as a base was the way to go, I hope we
    still agree ;)<br>
    <br>
    Let's separate in reading/writing XML (doesn't necessarily
    necessarily mean marhalling/unmarshalling BTW) and agree on both.<br>
    <br>
    Reading XML:<br>
    &nbsp;&nbsp;&nbsp; Option 1:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Plain StAX, JBoss AS 7 uses that (in fact they use StAX
    Mapper, a very lightweight library made by the JBoss AS7 team.
    <a class="moz-txt-link-freetext" href="https://github.com/jbossas/staxmapper/">https://github.com/jbossas/staxmapper/</a> which only helps to work with
    multiple namespaces + some little helpers for ignoring part of the
    file, format the XML when writing...)<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; One example of JBoss AS 7 parsing file:
<a class="moz-txt-link-freetext" href="https://github.com/emuckenhuber/jboss-as/blob/master/web/src/main/java/org/jboss/as/web/WebSubsystemParser.java">https://github.com/emuckenhuber/jboss-as/blob/master/web/src/main/java/org/jboss/as/web/WebSubsystemParser.java</a><br>
    &nbsp;&nbsp;&nbsp; Option 2:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Nick's stuff (please explain advantages/drawbacks)<br>
    &nbsp;&nbsp;&nbsp; Option 3:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Julien/Alain's stuff (please explain advantages/drawbacks)<br>
    <br>
    Writing XML:<br>
    &nbsp;&nbsp;&nbsp; Option 1:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Plain StAX (well-formed guaranteed over plain Writer)<br>
    &nbsp;&nbsp;&nbsp; Option 2:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Nick's stuff (please explain advantages/drawbacks)<br>
    &nbsp;&nbsp;&nbsp; Option 3:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Julien/Alain's stuff (please explain advantages/drawbacks)<br>
    <br>
    Note that there are other utilities and frameworks based on StAX:<br>
    &nbsp;&nbsp;&nbsp; Stax-Utils: <a class="moz-txt-link-freetext" href="http://stax-utils.dev.java.net/">http://stax-utils.dev.java.net/</a><br>
    &nbsp;&nbsp;&nbsp; StaxMate: <a class="moz-txt-link-freetext" href="http://wiki.fasterxml.com/StaxMateHome">http://wiki.fasterxml.com/StaxMateHome</a><br>
    &nbsp;&nbsp;&nbsp; Apache Axiom: <a class="moz-txt-link-freetext" href="http://ws.apache.org/commons/axiom/">http://ws.apache.org/commons/axiom/</a><br>
    &nbsp;&nbsp;&nbsp; <br>
    Thomas<i><br>
    </i>
  </body>
</html>