<?xml version="1.0"?>
<!DOCTYPE xsa PUBLIC "-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML" 
                     "http://birk105.studby.uio.no/www_work/xsa/xsa.dtd">

<xsa>
  <vendor>
    <name>IU Extreme Computing Lab</name>
    <email>soaprmi@extreme.indiana.edu</email>
    <url>http://www.extreme.indiana.edu/</url>
  </vendor>

  <product id="xpp">
    <name>XML Pull Parser 2 (XPP2)</name>
    <version>2.1.8</version>
    <last-release>20030307</last-release>
    <info-url>http://www.extreme.indiana.edu/soap/xpp/</info-url>
    <changes>
  XPP2 is now no longer developed instead see XPP3/MXP1 at
  http://www.extreme.indiana.edu/xgws/xsoap/xpp/mxp1/

  2003-03-07 (XPP_2_1_9)

     * added standard JAR output that has no JAXP11 or SAX2 driver as
       requested by Ben Walding who wanted to be able to use JAXP11
       parser and XPP2 and not worry about conflicts in CLASSPATH ..
     * fixed bug in XmlNoe.removeAttributeBy* that was showing if the
       attribute was first removed and then added - slot at position n in
       attribute array was incorrectly pointing to the same location as
       slot n-1 ...
     * changed readName to be more XML 1.0 and 1.1 compatible to allow
       full range of possible name characters and not rely on Java
       Character.isLower/uppercase ...
     * NOTE: backward incompatible change: fixed typo in method
       XmlStartTag.removeAtttributes -> removeAttributes name reported by
       Yogesh
     * added to XmlStartTag two new methods: removeAttributeByName(String
       uri, String localName) and removeAttributeByRawName(String
       rawName)
     * compiled and tested against latest Xerces 2 from CVS (bug with
       duplicated xmlns seems to be fixed in X2 CVS)
     * improved X2 cumulative reader to correctly support unshrinkable
       buffer

  2002-04-03 (XPP_2_1_8)

     * fixed a bug in tokenizer: it was trying always to fill buffer even
       though one byte was still available - now it will use buffer to
       the end and then read new chunk from Reader
     * updated XPP2 implementation to compile with patched latest
       Xerces2.0.1
     * added build and run scripts (finally ...)

  2001-12-10 (XPP_2_1_7)

     * fixed SAX2 driver to correctly report prefixes and better handle
       invalid input for parsing
     * improved Xerces 2 driver to use Augmentations (working with BETA3
       of Xerces2)

  2001-11-21 (XPP_2_1_6_ALPHA)

     * fixed bug in default implementation of PullParser that prevented
       it from reading list of decalred namespaces when END_TAG is
       current event
     * added SAX2 driver that translates pull events into SAX2 push
       callbacks
     * added JAXP11 driver (based on code from Xerces 2 except for
       minimal changes)

  2001-11-20 (XPP_2_1_5_ALPHA)

     * split XmlPullParser interface into proper XmlPullParser and
       separate "feature" interfaces XmlPullParserBufferControl and
       XmlPullParserEventPosition that clearly mark optional interfaces.
       NOTE: for XmlPullParser pp use if(pp instanceof
       XmlPullParserBufferControl) to check if an optional interface is
       implemented by pull parser

  2001-10-18 (VER_2_1_4_ALPHA)

     * X2 driver is no integrated with latest Xerces 2 XNI and the
       problem with EOL normalization is gone however there is another
       problem related to attribute value normalization - reported to
       Xerces 2 mailing list.
     * added more tests and removed some namespace bugs

  2001-10-18 (VER_2_1_3_ALPHA)

     * X2 driver is becoming quite stable and passes almost all tests
       except two reported bugs in Xerces 2 and lack of support for low
       level parsing (control of input buffer and event position):
         1. [major] handling of end-of-line normalization is incosistent
            with XML spec ... (commented out checks in
            testNormalizeLine() from ParserTest for now)
         2. [minor] apparently Xerces allows duplicate attribute with
            namespaces to be declared (commented one line checking it in
            testAttribUniq from ParserTest for now)
     * it is also very easy to switch between X2 driver and default XPP2
       driver implementation or even control it by system property
       (similarly to JAXP). when both drivers are on CLASSPATH normally
       first on CLASSPATH will be used but the selection can be forced
       with system property by writing:
       XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserF
       actory.DEFAULT_PROPERTY_NAME));

  2001-10-10 (VER_2_1_2_ALPHA)

     * a first milestone towards support of other parser engines in XPP2
       and SAX2 driver. initial X2 driver can run simple count sample but
       does not pass internal XPP2 unit tests (yet!)

  2001-08-20 (XPP_VER_2_0_2 is the same as VER_2_0_1_BETA8)

   Stable 2.0.2 version released and frozen! Summary of changes since
   initial 2.x version:
     * reduced memory footprint of node tree by 50% (both Node and
       PullNode),
     * increased performance tree node build by 20%
     * improved and optimized output (Formatter and Recorder)
     * much more of JUnit tests
     * added PalmOS Midlet sample
     * small changes and improvement in API
     * fixed few bugs ...

  2001-08-20 (VER_2_0_1_BETA8)

     * fixed bug that prevented to add first attribute to StartTag
       (ensureCapacity called with 2*size where size == 0 ... ) reported
       by Dennis Sosnoski. bug was introduced when fine tuning memory
       footprint in BETA6...
     * XmlPullNode.getPullParser() will now correctly parse unfinished
       children before returning parser, add JUnit tests...
     * changed XmlPullParser.getCurrentEvent() to getEventType()
     * switch to use in build.xml tar/gzip instead of zip (much smaller
       output archive!)


Complete list of changes available at:
http://www.extreme.indiana.edu/xgws/xsoap/xpp/download/PullParser2/doc/changes.html
    </changes>
  </product>
</xsa>

