jasons      01/07/08 22:18:18

  Modified:    targets/xerces-p domcount.html domcreate.html domprint.html
                        download.html index.html releases.html samples.html
               targets/xerces-p/graphics index-header.jpg
  Added:       targets/xerces-p sax2count.html saxcount.html
  Log:
  new
  
  Revision  Changes    Path
  1.6       +2 -1      xml-site/targets/xerces-p/domcount.html
  
  Index: domcount.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/domcount.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- domcount.html     2001/07/08 23:39:57     1.5
  +++ domcount.html     2001/07/09 05:18:15     1.6
  @@ -7,6 +7,8 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
   
  @@ -22,7 +24,6 @@
   #
   
   my $USAGE = &quot;USAGE: $0 [-v][-n] file\n&quot;;
  -my $VERSION = q[$Id: domcount.html,v 1.5 2001/07/08 23:39:57 jasons Exp $];
   
   getopts ('vn') and ($#ARGV == 0)     or die &quot;$USAGE&quot;;
   -f $ARGV[0] or die &quot;File '$ARGV[0]' does not exist!\n&quot;;
  
  
  
  1.5       +2 -0      xml-site/targets/xerces-p/domcreate.html
  
  Index: domcreate.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/domcreate.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- domcreate.html    2001/07/08 23:39:57     1.4
  +++ domcreate.html    2001/07/09 05:18:15     1.5
  @@ -7,6 +7,8 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
   
  
  
  
  1.5       +2 -0      xml-site/targets/xerces-p/domprint.html
  
  Index: domprint.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/domprint.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- domprint.html     2001/07/08 23:39:57     1.4
  +++ domprint.html     2001/07/09 05:18:15     1.5
  @@ -7,6 +7,8 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
   
  
  
  
  1.2       +2 -0      xml-site/targets/xerces-p/download.html
  
  Index: download.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/download.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- download.html     2001/07/08 23:39:38     1.1
  +++ download.html     2001/07/09 05:18:15     1.2
  @@ -7,6 +7,8 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
   
  
  
  
  1.10      +244 -35   xml-site/targets/xerces-p/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/index.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- index.html        2001/07/08 23:39:57     1.9
  +++ index.html        2001/07/09 05:18:15     1.10
  @@ -1,4 +1,4 @@
  -<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" 
type="text/javascript"></SCRIPT><TITLE>Xerces Perl</TITLE></HEAD><BODY 
alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" 
marginheight="4" marginwidth="4" text="#000000" topmargin="4" 
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" 
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" 
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" 
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" 
valign="top" width="456"><IMG border="0" height="5" hspace="0" 
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" 
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" 
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD 
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" 
width="456"><IMG alt="" border="0" height="35" hspace="0" 
src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD 
align="left" height="20" valign="top" width="168"><IMG border="0" height="20" 
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://xml.apache.org/"; onMouseOut="rolloverOff('xml');" 
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"; 
border="0" height="20" hspace="0" name="xml" 
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
 src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://www.apache.org/"; onMouseOut="rolloverOff('asf');" 
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"; 
border="0" height="20" hspace="0" name="asf" 
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
 src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"; 
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" 
target="new"><IMG alt="http://www.w3.org/"; border="0" height="20" hspace="0" 
name="w3c" 
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
 src="resources/button-w3c-lo.gif" vspace="0" 
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" 
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG 
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" 
width="120"><BR>
  +<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" 
type="text/javascript"></SCRIPT><TITLE>Xerces.pm: The Perl API to the Apache 
Xerces XML parser</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" 
leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" 
topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" 
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" 
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" 
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" 
valign="top" width="456"><IMG border="0" height="5" hspace="0" 
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" 
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" 
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD 
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" 
width="456"><IMG alt="" border="0" height="35" hspace="0" 
src="graphics/index-header.jpg" vspace="0" width="456"></TD></TR><TR><TD 
align="left" height="20" valign="top" width="168"><IMG border="0" height="20" 
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://xml.apache.org/"; onMouseOut="rolloverOff('xml');" 
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"; 
border="0" height="20" hspace="0" name="xml" 
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
 src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://www.apache.org/"; onMouseOut="rolloverOff('asf');" 
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"; 
border="0" height="20" hspace="0" name="asf" 
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
 src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"; 
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" 
target="new"><IMG alt="http://www.w3.org/"; border="0" height="20" hspace="0" 
name="w3c" 
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
 src="resources/button-w3c-lo.gif" vspace="0" 
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" 
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG 
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" 
width="120"><BR>
     <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" 
onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" 
hspace="0" name="side-ext-2" 
onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');"
 src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <IMG alt="Readme" border="0" height="12" hspace="0" 
src="graphics/index-label-1.jpg" vspace="0" width="120"><BR>
  @@ -7,40 +7,195 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
   
   <IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" 
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE 
border="0" cellpadding="3" cellspacing="0"><TR><TD>
  -  <P> The Xerces Perl project has created a Perl module,
  -  <B>Xerces.pm</B>, as the Perl API to the Apache project's Xerces
  -  XML parser. It is implemented using the Xerces C++ API, and it
  -  provides access to all of the C++ API from Perl.
  -  </P>
  -
  -  <P> Because it is based on Xerces-C, Xerces.pm provides a validating
  -  XML parser that makes it easy to give your application the ability
  -  to read and write XML data. A shared library is provided for
  -  parsing, generating, manipulating, and validating XML
  -  documents. Xerces.pm is faithful to the XML 1.0 recommendation and
  -  associated standards ( DOM 1.0, DOM 2.0. SAX 1.0, SAX 2.0,
  -  Namespaces), The parser provides high performance, modularity, and
  -  scalability. Source code, samples and API documentation are provided
  -  with the parser.
  -  </P>
  -
  -  <P> The majority of the API is created automatically using <A 
href="http://www.swig.org/";>Simplified Wrapper Interface Generator
  -  (SWIG)</A>. However, care has been taken to make most method
  -  invocations natural to perl programmers, so a number of rough C++
  -  edges have been smoothed over (See the <A href="#perl-api">Special Perl 
API Features</A> section).
  -  </P>
  -  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Xerces.pm version 1.3</B></FONT></TD><TD 
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="492"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -    <P> This is the first fully-featured release of Xerces.pm. It
  -    provides access to <B>all</B> functionality in the Xerces-C 1.3
  -    API. 
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Xerces.pm 1.5.0</B></FONT></TD><TD bgcolor="#017299" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <P> This module implements the Perl API to the Apache project's
  +      Xerces XML parser. It is implemented using the Xerces C++ API, and
  +      it provides access to <B>most</B> of the C++ API from Perl.
  +    </P>
  +
  +    <P> Because it is based on Xerces-C, Xerces.pm provides a validating
  +      XML parser that makes it easy to give your application the
  +      ability to read and write XML data. A shared library is provided
  +      for parsing, generating, manipulating, and validating XML
  +      documents. Xerces.pm is faithful to the XML 1.0 recommendation
  +      and associated standards (DOM 1.0, DOM 2.0. SAX 1.0, SAX 2.0,
  +      Namespaces, and Schema), The parser provides high performance,
  +      modularity, and scalability.
  +    </P>
  +
  +    <P>Xerces.pm implements the vast majority of the Xerces-C API (if you
  +      notice any discrepancies please mail the <A 
href="mailto:[email protected]";>list</A>). The
  +      exception of this is functions in the C++ API which have been
  +      overloaded to accept different arguments, currently have only a
  +      single version in the Perl API. This is a simple fix, but will
  +      take time.
  +    </P>
  +
  +    <P> The majority of the API is created automatically using <A 
href="http://www.swig.org/";>Simplified Wrapper Interface Generator
  +     (SWIG)</A>. However, care has been taken to make most method
  +      invocations natural to perl programmers, so a number of rough C++
  +      edges have been smoothed over (See the <A href="#perl-api">Special 
Perl API Features</A> section).
  +    </P>
  +  </FONT></TD></TR></TABLE><BR>
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Available Platforms</B></FONT></TD><TD 
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="492"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <P> The code has been tested on the following Unix platforms: </P>
  +    <UL>
  +      <LI>Linux</LI>
  +      <UL>
  +     <LI>PPC-debian: works jason</LI>
  +     <LI>x86-debian: works harmon</LI>
  +     <LI>x86-redhat6.2: works jason</LI>
  +     <LI>x86-redhat7: works jason (recompile Xerces-C and
  +     Perl-5.6.1 from source)</LI>
  +      </UL>
  +      <LI>BSD</LI>
  +      <UL>
  +     <LI>NetBSD (egcs-2.91.66, works: Emanuel Dreyfus
  +     &lt;[EMAIL PROTECTED]&gt;)</LI>
  +     </UL>
  +      <LI>Solaris </LI>
  +      <UL>
  +     <LI>Solaris 8: works cc and gcc (recompile perl and Xerces-C from 
source)</LI>
  +     <LI>Solaris 5.6: works gcc</LI>
  +      </UL>
  +    </UL>
  +    <P>Windows is currently not supported. However, minimal changes would be
  +      necessary to enable functionality under Windows (modification of
  +      some Unix 'make' specific code in Makefile.PL).
  +    </P>
  +  </FONT></TD></TR></TABLE><BR>
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Build Requirements</B></FONT></TD><TD bgcolor="#017299" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <OL>
  +      <LI>An ANSI C++ compiler.  Builds are known to work with the GNU
  +     compiler.  Ports to other compilers such as MSVC++ (the Microsoft
  +     Visual C++ compiler and development environment) are in the works.
  +     Contributions in this area are always welcome :-).
  +      </LI>
  +      <LI>Perl5 (Xerces.pm has been tested with perl 5.005 and 5.6).
  +     Currently only tested on XML documents that are encoded in plain
  +     old ASCII.
  +      </LI>
  +      <LI>The Apache Xerces C++ XML Parser version 1.5 (which can be
  +     downloaded from: <A 
href="http://xml.apache.org/dist/xerces-c/stable/";>http://xml.apache.org/dist/xerces-c/stable/</A>
  +     <BR><BR>
  +     You'll need both the library and header files, and to set up any
  +     environment variables that will direct the Xerces.pm build to the
  +     directories where these reside.
  +      </LI>
  +    </OL>
  +  </FONT></TD></TR></TABLE><BR>
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Optional Components</B></FONT></TD><TD 
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="492"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <P><A href="http://www.swig.org/";> Simplified Wrapper Interface
  +     Generator (SWIG)</A> is an open source tool by David Beazley of
  +      the University of Chicago for automatically generating Perl
  +      wrappers for C and C++ libraries (i.e. *.a or *.so for UNIX, *.dll
  +      for Windoes).  You can get the source from <A 
href="http://www.swig.org/";>www.swig.org</A> and then build it
  +      for your platform.
  +    </P>
  +    <P>You will only need this if the include Xerces.C and Xerces.pm
  +      files do not work for your perl distribution. The pre-generated
  +      files have been created by SWIG 1.3 and work under perl-5.005
  +      and perl-5.6.
  +    </P>
  +    <P>
  +      This port is know to work with versions 1.1p5 and 1.3a5 of SWIG.
  +    </P>
  +    <P>
  +      If your planning to use SWIG, you can set the environment variable
  +      SWIG to the full path to the SWIG executable before running 
<CODE><FONT face="courier, monospaced">perl
  +     Makefile.pl</FONT></CODE>. For example:</P>
  +    <UL>
  +      <LI><CODE><FONT face="courier, monospaced">export 
SWIG=/usr/bin/swig</FONT></CODE></LI>
  +    </UL>
  +    <P>
  +      This is only necessary if it isn't in your path or you have more
  +      than one version installed.
       </P>
     </FONT></TD></TR></TABLE><BR>
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Prepare for the build</B></FONT></TD><TD 
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="492"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <OL>
  +      <LI>Unpack the archive in a directory of your choice.  Example (for
  +     UNIX):</LI>
  +      <UL>
  +     <LI><CODE><FONT face="courier, monospaced">cd &lt;DIRECTORY OF YOUR 
CHOICE&gt;</FONT></CODE></LI>
  +     <LI><CODE><FONT face="courier, monospaced">tar xvf &lt;DIRECTORY 
Xerces-1.5.x.tar.gz IS
  +         LOCATED&gt;/Xerces-1.5.x.tar.gz</FONT></CODE></LI>
  +      </UL>
  +      <LI>Go to the Xerces-1.5.x directory:</LI>
  +      <UL>
  +     <LI><CODE><FONT face="courier, monospaced">cd 
Xerces-1.5.x</FONT></CODE></LI>
  +      </UL>
  +      <LI>Examine the Perl script &quot;Makefile.PL&quot;.  You may need to 
change
  +     some locations of libraries and include directories. If you
  +     attempt to build on a platform other than UNIX, you will probably
  +     have to change more.
  +     <BR><BR>
  +     Also, you may want to edit the path to the swig executable
  +     ($SWIG), if you're planning on regenerating Xerces.C and
  +     Xerces.pm
  +      </LI>
  +      <LI>If the Xerces-C library and header files are installed on your
  +     system directly, e.g. via an rpm or deb package, proceed to the
  +     build.
  +     <BR><BR>    
  +     Otherwise, you must download Xerces from xml.apache.org and build
  +     it.  To build Xerces.pm in this case, make sure the value of your
  +     XERCESCROOT environment variable is the top-level directory of
  +     your xerces distribution (i.e. the same value it needs to be to
  +     build XERCES).
  +     <BR><BR>
  +     If you have built Xerces-C yourself and want to work directly from
  +     the build directory, then you should only need to set the
  +     XERCESCROOT environment variable.
  +     If you have installed xerces on your system you should only need
  +     to set the XERCES_INCLUDE and XERCES_LIB environment
  +     variables. For example:
  +      </LI>
  +      <UL>
  +     <LI><CODE><FONT face="courier, monospaced">export
  +         XERCES_INCLUDE=/usr/include/xerces</FONT></CODE></LI>
  +     <LI><CODE><FONT face="courier, monospaced">export 
XERCES_LIB=/usr/lib</FONT></CODE></LI>
  +      </UL>
  +    </OL>
  +  </FONT></TD></TR></TABLE><BR>
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Build Xerces.pm</B></FONT></TD><TD bgcolor="#017299" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <OL>
  +      <LI>Go to the Xerces-1.5.x directory.</LI>
  +      <LI>Build Xerces.pm as you would any perl package that you might get
  +     from CPAN: </LI>
  +      <UL>
  +     <LI><CODE><FONT face="courier, monospaced">perl 
Makefile.PL</FONT></CODE></LI>
  +     <LI><CODE><FONT face="courier, monospaced">make</FONT></CODE></LI>      
  +     <LI><CODE><FONT face="courier, monospaced">make test</FONT></CODE></LI> 
  +     <LI><CODE><FONT face="courier, monospaced">make 
install</FONT></CODE></LI>      
  +      </UL>
  +    </OL>
  +  </FONT></TD></TR></TABLE><BR>
  +  <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Using Xerces.pm</B></FONT></TD><TD bgcolor="#017299" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  +    <P>
  +      Xerces.pm implements the vast majority of the Xerces-C API (if
  +      you notice any discrepancies please mail the
  +      list). Documentation for this API are sadly not available in POD
  +      format, but the Xerces-C html documentation is available at:
  +      <A href="http://xml.apache.org/xerces-c/apiDocs/index.html";>
  +      http://xml.apache.org/xerces-c/apiDocs/index.html </A></P>
  +    <P>
  +      For more information, see the sample scripts: DOMCount.pl,
  +      DOMCreate.pl, and DOMPrint.pl in the samples/ directory, or the test
  +      scripts located in the t/ directory (especially the TestUtils.pm
  +      module).
  +    </P>
  +  </FONT></TD></TR></TABLE><BR>
     <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Special Perl API Features</B></FONT></TD><TD 
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="492"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
  -    <P> Special handling has been provided for certain functions:
  +    <P> Even though Xerces.pm is based on the C++ API, it has been modified 
in
  +      a few ways to make it more accessible to typical Perl usage,
  +      primarily in the handling:
       <A name="perl-api"><!--anchor--></A>
       </P>
       <UL>
  @@ -48,10 +203,13 @@
         <LI> <A href="#list">List I/O</A>   (Perl lists versus 
DOM_NodeList's)</LI>
         <LI> <A href="#hash">Hash I/O</A>   (Perl hashes versus 
DOM_NamedNodeMap's)</LI>
         <LI> <A href="#serialize">Serialize API</A></LI>
  +      <LI> <A href="#handlers">Implementing Perl handlers for C++
  +      even callbacks</A></LI>
  +      <LI> <A href="#exceptions">handling C++ exceptions</A></LI>
       </UL>
  -
  +    <P><A name="string"><!--anchor--></A></P>
       <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD 
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG 
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" 
width="2"><B>String I/O</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
  -      <P><A name="string"><!--anchor--></A>Note that the creation of
  +      <P>Note that the creation of
         <CODE><FONT face="courier, monospaced">DOMString</FONT></CODE>'s as 
arguments to to functions is
         optional.  That is, where in C++ you'd have to use:</P>
   
  @@ -78,8 +236,9 @@
         fact, it makes them entirely invalid).
         </P>
       </FONT></TD></TR></TABLE><BR>
  +    <P><A name="list"><!--anchor--></A></P>
       <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD 
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG 
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" 
width="2"><B>List I/O</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
  -      <P><A name="list"><!--anchor--></A>Any function that in the C++ API 
returns
  +      <P>Any function that in the C++ API returns
         a <CODE><FONT face="courier, monospaced">DOM_NodeList</FONT></CODE> 
(<B>e.g.</B>
         <CODE><FONT face="courier, monospaced">getChildNodes()</FONT></CODE> 
and
         <CODE><FONT face="courier, 
monospaced">getElementsByTagName()</FONT></CODE> for example) will return
  @@ -98,8 +257,9 @@
         </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
   
       </FONT></TD></TR></TABLE><BR>
  +    <P><A name="hash"><!--anchor--></A></P>
       <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD 
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG 
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" 
width="2"><B>Hash I/O</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
  -      <P><A name="hash"><!--anchor--></A> Any function that in the C++ API
  +      <P> Any function that in the C++ API
         returns a <CODE><FONT face="courier, 
monospaced">DOM_NamedNodeMap</FONT></CODE>
         (<CODE><FONT face="courier, monospaced">getEntities()</FONT></CODE> 
and <CODE><FONT face="courier, monospaced">getAttributes()</FONT></CODE> for
         example) will return different types if they are called in a
  @@ -118,20 +278,69 @@
                my %attrs = $element_node-&gt;getAttributes();
         </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
       </FONT></TD></TR></TABLE><BR>
  +    <P><A name="serialize"><!--anchor--></A></P>
       <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD 
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG 
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" 
width="2"><B>Serialize API</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
  -      <P><A name="serialize"><!--anchor--></A> The XML::Xerces::DOMParse 
module implements a generic
  +      <P>The XML::Xerces::DOMParse module implements a generic
         serializer API for DOM Trees. See the script <A href="domprint.html"> 
DOMPrint.pl</A> for an example of how to
         use the API.
         </P>
  +      <P>For less complex usage, just use the serialize() method defined for
  +     all DOM_Node subclasses.
  +      </P>
  +    </FONT></TD></TR></TABLE><BR>
  +    <P><A name="handlers"><!--anchor--></A></P>
  +    <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD 
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG 
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" 
width="2"><B>Implementing {Document,Content,Error}Handlers from Perl     
</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" 
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="482"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
  +      <P>Thanks to suggestions from Duncan Cameron, Xerces.pm now has a 
handler
  +     API that matches the currently used semantics of other Perl
  +     XML API's. There are three classes available for application
  +     writers:</P>
  +      <UL>
  +     <LI>PerlErrorHandler    (SAX 1/2 and DOM 1)</LI>
  +     <LI>PerlDocumentHandler (SAX 1)</LI>
  +     <LI>PerlContentHandler  (SAX 2)</LI>
  +      </UL>
  +      <P>Using these classes is as simple as creating a perl subclass of the
  +     needed class, and redefining any needed methods. For example,
  +     to override the default fatal_error() method of the
  +     PerlErrorHandler class we can include this piece of code
  +     within our application:</P>
  +      <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" 
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD 
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" 
width="462"><FONT size="-1"><PRE>
  +
  +  package MyErrorHandler;
  +  @ISA = qw(XML::Xerces::PerlErrorHandler);
  +  sub fatal_error {die &quot;Oops, I got an error\n&quot;;}
  +  
  +  package main;
  +  my $dom = new XML::Xerces::DOMParser;
  +  $dom-&gt;setErrorHandler(MyErrorHandler-&gt;new());
  +
  +</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" 
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
height="1" width="462"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
  +    </FONT></TD></TR></TABLE><BR>
  +    <P><A name="exceptions"><!--anchor--></A></P>
  +    <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD 
bgcolor="666699" colspan="2" width="484"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG 
border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" 
width="2"><B>Handling exceptions ({XML,DOM,SAX}Exception's)</B></FONT></TD><TD 
bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" 
height="1" width="482"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
  +      <P>Some errors occur outside parsing and are not caught by the parser's
  +     ErrorHandler. Xerces.pm provides a way for catching these errors using
  +     the PerlExceptionHandler class.
  +      </P>
  +      <P>
  +     There are a default methods that prints out an error message and calls
  +     die(), but if more is needed, see the files t/XMLException.t,
  +     t/SAXException.t, and t/DOMException.t for details on how to roll your
  +     own handler.
  +      </P>
       </FONT></TD></TR></TABLE><BR>
     </FONT></TD></TR></TABLE><BR>
     <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Sample Code</B></FONT></TD><TD bgcolor="#017299" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
       <P> Xerces.pm comes with three sample applications:</P>
       <UL>
  -      <LI> <A href="domprint.html">DOMPrint.pl</A>: Uses the DOM
  -      interface to output a pretty-printed version of an XML file to STDOUT 
</LI>
  +      <LI> <A href="saxcount.html">SAXCount.pl</A>: Uses the SAX
  +      interface to output a count of the number of elements in an XML 
document</LI>
  +      <LI> <A href="sax2count.html">SAX2Count.pl</A>: Uses the SAX2
  +      interface to output a count of the number of elements in an XML 
document</LI>
         <LI> <A href="domcount.html">DOMCount.pl</A>: Uses the DOM
         interface to output a count of the number of elements in an XML 
document</LI>
  +      <LI> <A href="domprint.html">DOMPrint.pl</A>: Uses the DOM
  +      interface to output a pretty-printed version of an XML file to STDOUT 
</LI>
         <LI> <A href="domcreate.html">DOMCreate.pl</A>: Creates a simple XML
         document using the DOM interface and writes it to STDOUT</LI>
       </UL>
  
  
  
  1.3       +2 -0      xml-site/targets/xerces-p/releases.html
  
  Index: releases.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/releases.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- releases.html     2001/07/08 23:39:57     1.2
  +++ releases.html     2001/07/09 05:18:16     1.3
  @@ -7,6 +7,8 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <IMG alt="Releases" border="0" height="12" hspace="0" 
src="graphics/releases-label-1.jpg" vspace="0" width="120"><BR>
   
  
  
  
  1.5       +6 -0      xml-site/targets/xerces-p/samples.html
  
  Index: samples.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/xerces-p/samples.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- samples.html      2001/07/08 23:39:57     1.4
  +++ samples.html      2001/07/09 05:18:16     1.5
  @@ -7,6 +7,8 @@
     
     
     
  +  
  +  
     <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
   
  @@ -14,6 +16,10 @@
     <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD 
bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" 
cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" 
size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" 
vspace="0" width="2"><B>Sample Code</B></FONT></TD><TD bgcolor="#017299" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" 
width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" 
vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG 
border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" 
width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD 
width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
       <P> Xerces.pm comes with three sample applications:</P>
       <UL>
  +      <LI> <A href="saxcount.html">SAXCount.pl</A>: Uses the SAX
  +      interface to output a count of the number of elements in an XML 
document</LI>
  +      <LI> <A href="sax2count.html">SAX2Count.pl</A>: Uses the SAX2
  +      interface to output a count of the number of elements in an XML 
document</LI>
         <LI> <A href="domprint.html">DOMPrint.pl</A>: Uses the DOM
         serialize API to output a pretty-printed version of an XML file
         to STDOUT.</LI> 
  
  
  
  1.1                  xml-site/targets/xerces-p/sax2count.html
  
  Index: sax2count.html
  ===================================================================
  <HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" 
type="text/javascript"></SCRIPT><TITLE>DOMCount.pl</TITLE></HEAD><BODY 
alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" 
marginheight="4" marginwidth="4" text="#000000" topmargin="4" 
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" 
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" 
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" 
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" 
valign="top" width="456"><IMG border="0" height="5" hspace="0" 
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" 
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" 
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD 
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" 
width="456"><IMG alt="" border="0" height="35" hspace="0" 
src="graphics/sax2count-header.jpg" vspace="0" width="456"></TD></TR><TR><TD 
align="left" height="20" valign="top" width="168"><IMG border="0" height="20" 
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://xml.apache.org/"; onMouseOut="rolloverOff('xml');" 
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"; 
border="0" height="20" hspace="0" name="xml" 
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
 src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://www.apache.org/"; onMouseOut="rolloverOff('asf');" 
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"; 
border="0" height="20" hspace="0" name="asf" 
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
 src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"; 
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" 
target="new"><IMG alt="http://www.w3.org/"; border="0" height="20" hspace="0" 
name="w3c" 
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
 src="resources/button-w3c-lo.gif" vspace="0" 
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" 
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG 
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" 
width="120"><BR>
    <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" 
onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" 
hspace="0" name="side-ext-2" 
onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');"
 src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
    <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
    <A href="index.html" onMouseOut="rolloverOff('side-index');" 
onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" 
height="12" hspace="0" name="side-index" 
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
 src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
    <A href="samples.html" onMouseOut="rolloverOff('side-samples');" 
onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" 
height="12" hspace="0" name="side-samples" 
onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');"
 src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
    <A href="download.html" onMouseOut="rolloverOff('side-download');" 
onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" 
height="12" hspace="0" name="side-download" 
onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');"
 src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
    
    
    
    
    
    <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
    <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
  
  <IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" 
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE 
border="0" cellpadding="3" cellspacing="0"><TR><TD>
        <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" 
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD 
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" 
width="462"><FONT size="-1"><PRE>
  use strict;
  use XML::Xerces;
  use Getopt::Std;
  use vars qw($opt_v $opt_n);
  use Benchmark;
  #
  # Read and validate command line args
  #
  
  my $USAGE = &quot;USAGE: $0 [-v][-n] file\n&quot;;
  
  getopts ('vn') &amp;&amp; ($#ARGV == 0)       or die &quot;$USAGE&quot;;
  -f $ARGV[0] or die &quot;File '$ARGV[0]' does not exist!\n&quot;;
  
  my $validate = $opt_v || 0;
  my $namespace = $opt_n || 0;
  my $file = $ARGV[0];
  
  #
  # Count the nodes
  #
  
  package MyContentHandler;
  use strict;
  use vars qw(@ISA);
  @ISA = qw(XML::Xerces::PerlContentHandler);
  
  sub start_element {
    my $self = shift;
    $self-&gt;{elements}++;
    $self-&gt;{attrs} = 0;
  }
  sub characters {
    my ($self,$str,$len) = @_;
    $self-&gt;{chars} += $len;
  }
  sub ignorable_whitespace {
    my ($self,$str,$len) = @_;
    $self-&gt;{ws} += $len;
  }
  
  package main;
  my $parser = XML::Xerces::XMLReaderFactory::createXMLReader();
  $parser-&gt;setFeature(&quot;http://xml.org/sax/features/namespaces&quot;, 
$namespace);
  $parser-&gt;setFeature(&quot;http://xml.org/sax/features/validation&quot;, 
$validate);
  my $error_handler = XML::Xerces::PerlErrorHandler-&gt;new();
  $parser-&gt;setErrorHandler($error_handler);
  
  my $CONTENT_HANDLER = MyContentHandler-&gt;new();
  $parser-&gt;setContentHandler($CONTENT_HANDLER);
  
  my $t0 = new Benchmark;
  $parser-&gt;parse (XML::Xerces::LocalFileInputSource-&gt;new($file));
  my $t1 = new Benchmark;
  my $td = timediff($t1, $t0);
  
  print &quot;$file: duration: &quot;, timestr($td), &quot;\n&quot;;
  print &quot;elems: &quot;, $CONTENT_HANDLER-&gt;{elements}, &quot;\n&quot;; 
  print &quot;attrs: &quot;, $CONTENT_HANDLER-&gt;{attrs}, &quot;\n&quot;;
  print &quot;whitespace: &quot;, $CONTENT_HANDLER-&gt;{ws}, &quot;\n&quot;;
  print &quot;characters: &quot;, $CONTENT_HANDLER-&gt;{chars}, &quot;\n&quot;;
  
  exit(0);
  </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" 
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
height="1" width="462"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
  </TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" 
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" 
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT 
color="#0086b2" size="-1"><I>
                Copyright &copy; 1999 The Apache Software Foundation.
                All Rights Reserved.
              </I></FONT></TD></TR></TABLE></BODY></HTML>
  
  
  1.1                  xml-site/targets/xerces-p/saxcount.html
  
  Index: saxcount.html
  ===================================================================
  <HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" 
type="text/javascript"></SCRIPT><TITLE>DOMCount.pl</TITLE></HEAD><BODY 
alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" 
marginheight="4" marginwidth="4" text="#000000" topmargin="4" 
vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" 
width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" 
width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" 
vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" 
valign="top" width="456"><IMG border="0" height="5" hspace="0" 
src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" 
height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" 
hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD 
align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" 
width="456"><IMG alt="" border="0" height="35" hspace="0" 
src="graphics/saxcount-header.jpg" vspace="0" width="456"></TD></TR><TR><TD 
align="left" height="20" valign="top" width="168"><IMG border="0" height="20" 
hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://xml.apache.org/"; onMouseOut="rolloverOff('xml');" 
onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/"; 
border="0" height="20" hspace="0" name="xml" 
onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"
 src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A 
href="http://www.apache.org/"; onMouseOut="rolloverOff('asf');" 
onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/"; 
border="0" height="20" hspace="0" name="asf" 
onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"
 src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD 
align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/"; 
onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" 
target="new"><IMG alt="http://www.w3.org/"; border="0" height="20" hspace="0" 
name="w3c" 
onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"
 src="resources/button-w3c-lo.gif" vspace="0" 
width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" 
cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG 
border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" 
width="120"><BR>
    <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" 
onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" 
hspace="0" name="side-ext-2" 
onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');"
 src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
    <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
    <A href="index.html" onMouseOut="rolloverOff('side-index');" 
onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" 
height="12" hspace="0" name="side-index" 
onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');"
 src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
    <A href="samples.html" onMouseOut="rolloverOff('side-samples');" 
onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" 
height="12" hspace="0" name="side-samples" 
onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');"
 src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
    <A href="download.html" onMouseOut="rolloverOff('side-download');" 
onMouseOver="rolloverOn('side-download');"><IMG alt="Download" border="0" 
height="12" hspace="0" name="side-download" 
onLoad="rolloverLoad('side-download','graphics/download-label-2.jpg','graphics/download-label-3.jpg');"
 src="graphics/download-label-3.jpg" vspace="0" width="120"></A><BR>
    
    
    
    
    
    <IMG border="0" height="6" hspace="0" src="resources/separator.gif" 
vspace="0" width="120"><BR>
    <A href="releases.html" onMouseOut="rolloverOff('side-releases');" 
onMouseOver="rolloverOn('side-releases');"><IMG alt="Releases" border="0" 
height="12" hspace="0" name="side-releases" 
onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');"
 src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
  
  <IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" 
width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE 
border="0" cellpadding="3" cellspacing="0"><TR><TD>
        <DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="4" 
width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" 
height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD 
bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" 
width="462"><FONT size="-1"><PRE>
  use strict;
  use XML::Xerces;
  use Getopt::Std;
  use vars qw($opt_v $opt_n);
  use Benchmark;
  #
  # Read and validate command line args
  #
  
  my $USAGE = &quot;USAGE: $0 [-v][-n] file\n&quot;;
  
  getopts ('vn') &amp;&amp; ($#ARGV == 0)       or die &quot;$USAGE&quot;;
  -f $ARGV[0] or die &quot;File '$ARGV[0]' does not exist!\n&quot;;
  
  my $validate = $opt_v || 0;
  my $namespace = $opt_n || 0;
  my $file = $ARGV[0];
  
  #
  # Count the nodes
  #
  
  my $parser = XML::Xerces::SAXParser-&gt;new();
  $parser-&gt;setDoValidation ($validate);
  $parser-&gt;setDoNamespaces ($namespace);
  my $ERROR_HANDLER = XML::Xerces::PerlErrorHandler-&gt;new();
  $parser-&gt;setErrorHandler($ERROR_HANDLER);
  
  package MyDocumentHandler;
  use strict;
  use vars qw(@ISA);
  @ISA = qw(XML::Xerces::PerlDocumentHandler);
  
  sub start_element {
    my $self = shift;
    $self-&gt;{elements}++;
    $self-&gt;{attrs} = 0;
  }
  sub characters {
    my ($self,$str,$len) = @_;
    $self-&gt;{chars} += $len;
  }
  sub ignorable_whitespace {
    my ($self,$str,$len) = @_;
    $self-&gt;{ws} += $len;
  }
  
  package main;
  my $DOCUMENT_HANDLER = MyDocumentHandler-&gt;new();
  $parser-&gt;setDocumentHandler($DOCUMENT_HANDLER);
  
  my $t0 = new Benchmark;
  $parser-&gt;parse (XML::Xerces::LocalFileInputSource-&gt;new($file));
  my $t1 = new Benchmark;
  my $td = timediff($t1, $t0);
  
  print &quot;$file: duration: &quot;, timestr($td), &quot;\n&quot;;
  print &quot;elems: &quot;, $DOCUMENT_HANDLER-&gt;{elements}, &quot;\n&quot;; 
  print &quot;attrs: &quot;, $DOCUMENT_HANDLER-&gt;{attrs}, &quot;\n&quot;;
  print &quot;whitespace: &quot;, $DOCUMENT_HANDLER-&gt;{ws}, &quot;\n&quot;;
  print &quot;characters: &quot;, $DOCUMENT_HANDLER-&gt;{chars}, &quot;\n&quot;;
  
  
  </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" 
hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD 
bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" 
height="1" width="462"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" 
height="1" width="1"><IMG border="0" height="1" hspace="0" 
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
  </TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" 
cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" 
src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT 
color="#0086b2" size="-1"><I>
                Copyright &copy; 1999 The Apache Software Foundation.
                All Rights Reserved.
              </I></FONT></TD></TR></TABLE></BODY></HTML>
  
  
  1.9       +49 -28    xml-site/targets/xerces-p/graphics/index-header.jpg
  
        <<Binary file>>
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to