This XML feature update can be loaded into a VisualAge Smalltalk 5.5.2 image.
The Smalltalk Transcript should contain the following header:

VisualAge Smalltalk Enterprise, V5.5.2
(C) Copyright IBM Corporation, 1994, 2001.  All Rights Reserved.
VM Timestamp: 4.0,(NC) 4/23/2001

Import updated code
------------------------------------
1) Open a configuration maps browser 
	'Tools->Browse Configuration Maps'
2) Import updated code from the library file named 'va552xmlfp1.dat'
	'Names->Import'
	Select each of the configuration maps from the list (version='5.5.2 xmlfp-1')

Load updated code
-------------------------------
It is prudent to make a copy of your development image prior to executing the steps
below.
1) Select the configuration map '5.5.2 XML fixpack'
2) Select the version '5.5.2 xmlfp-1'
3) Select 'Editions->Load with Required Maps'
4) Save your image


Fixes
---------
14339 - Extra tag written to output stream for collections.
Several changes were made to improve the serialization of collections.

14411 - Output serialization changes
Modified default serializer (AbtXmlOutputSerializer) to share serialization inputs (dtd,mappingSpec)
with child elements.   Developers should be aware of this change to the default behavior because
some objects may now serialize differently.   Previous behavior assumed that any complex attributes
of an object could be serialized independently of the parent object.   Therefore, the DTD and
mapping specification used to serialize a parent object were not being shared when 
serializing its attributes.   

14428 -  Add 'ObjectToStringConversionMethod' to attribute mappings 
An updated DTD (not included in this package) is required to exploit this feature.

14442 -  SAX parser improperly handles exception condition
Some exceptions caught and reported by the DOM processor were not being properly trapped
by the core SAX engine.   

14557 - XML attribute syntax checking is inaccurate
An enhancement to allow parser to proceed after discovering an attribute value
that was not properly formed.

14694 - Undefined object DNU #addText: during parsing
The above walkback occured if the first element of an XML document was malformed.
	

Other changes
------------------------
Added #parseDTD: API to AbtXmlDOMParser.  This allows a DTD to be parsed and cached separate
from any documents that reference it.

ie)	
" NOTE:  Must use 'validating' parser "
AbtXmlDOMParser newValidatingParser
	parseDTD: '..\xml\abtxmap.dtd'


Code was modified to better handle the mapping of collections that contain XML wrapper elements.
Previously, the mapping support required that a wrapper class be utilized to mirror the wrapper element.
The technique below is introduced to eliminate the need for collection wrapper objects.

It is very common for XML authors to delineate collections using an XML wrapper element. 

For example, the LineItems wrapper element below contains a collection of LineItem elements. 

<LineItems>
    <LineItem number="1">
       <Quantity>12</Quantity>
       <Item number= "12345" >
         <Description>Roses</Description>
         <UnitPrice>$3.50</UnitPrice>
       </Item>
    </LineItem>
    <LineItem number="2">
       <Quantity>1</Quantity>
       <Item number="67890">
         <Description>Box of Candy</Description>
         <UnitPrice>$5.50</UnitPrice>
       </Item>
    </LineItem>
<LineItems>
 

Applications typically won't have a use for wrapper elements like 'LineItems' since it is merely used as a container for the collection
of 'LineItem'. Subelement attribute mappings provides a nice mechanism to process the collection of 'LineItem' elements without the
need to directly map the 'LineItems' wrapper element. The attribute mapping for this scenario is as follows: 

<AttributeMapping ClassAttribute="lineItems">
 <SubElement>LineItems</SubElement>
  <Attribute>LineItem</Attribute>
</AttributeMapping>


Performance improvements to parser engine.
Some changes were made to make the parser stream processing more efficient.


Serialization of DOM uses double quotes when representing attribute values.  Previously, attribute values were enclosed
in single quotes.
