--- XML-Parser-2.31/Expat/Expat.pm      2002-04-02 12:35:54.000000000 -0500
+++ XML-Parser-2.32/Expat/Expat.pm      2002-10-19 12:51:00.000000000 -0400
@@ -568,7 +568,8 @@
   }
   else {
     my $sep = $self->{Type} == CHOICE ? '|' : ',';
-    $ret = '(' . join($sep, @{$self->{Children}}) . ')';
+    my @children_str = map { $_->asString } @{$self->{Children}};
+    $ret = '(' . join($sep, @children_str) . ')';
   }

   $ret .= $self->{Quant} if $self->{Quant};
Only in XML-Parser-2.32/Expat: Expat.pm~
diff -ur XML-Parser-2.31/Expat/Expat.xs XML-Parser-2.32/Expat/Expat.xs
--- XML-Parser-2.31/Expat/Expat.xs      2002-04-02 12:35:54.000000000 -0500
+++ XML-Parser-2.32/Expat/Expat.xs      2002-10-19 12:20:12.000000000 -0400
@@ -259,7 +259,7 @@

   switch(model->type) {
   case XML_CTYPE_NAME:
-    hv_store(hash, "Tag", 3, newSVpv((char *)model->name, 0), 0);
+    hv_store(hash, "Tag", 3, newUTF8SVpv((char *)model->name, 0), 0);
     break;

   case XML_CTYPE_MIXED:
