IU Extreme Computing Lab
soaprmi@extreme.indiana.edu
http://www.extreme.indiana.edu/
XML Pull Parser 2 (XPP2)
2.1.8
20030307
http://www.extreme.indiana.edu/soap/xpp/
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