<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "./dtd/document.dtd">

<s1 title="&XercesCName; Sample 3: DOMCount">

    <s2 title="DOMCount">
        <p>DOMCount uses the provided DOM API to parse an XML file,
		constructs the DOM tree and walks through the tree counting
		the elements (using just one API call).</p>

        <s3 title="Building on Windows">
	        <p>Load the &XercesCInstallDir;-win32\samples\Projects\Win32\VC6\samples.dsw
	        Microsoft Visual C++ workspace inside your MSVC IDE. Then
	        build the project marked DOMCount.</p>
        </s3>

        <s3 title="Building on UNIX">
<source>cd &XercesCInstallDir;-linux/samples
./runConfigure -p&lt;platform&gt; -c&lt;C_compiler&gt; -x&lt;C++_compiler&gt;
cd DOMCount
gmake</source>
        <p>This will create the object files in the current directory
		and the executable named DOMCount in ' &XercesCInstallDir;-linux/bin'
		directory.</p>

        <p>To delete all the generated object files and executables, type</p>
<source>gmake clean</source>
        </s3>

        <s3 title="Running DOMCount">

          <p>The DOMCount sample parses an XML file and prints out a count of the number of
          elements in the file. To run DOMCount, enter the following </p>
<source>DOMCount &lt;XML file&gt;</source>
          <p>The following parameters may be set from the command line </p>
<source>Usage:
    DOMCount [-v -n] {XML file}

This program invokes the XML4C DOM parser, builds
the DOM tree, and then prints the number of elements
found in the input XML file.

Options:
    -v=xxx      Validation scheme [always | never | auto*]
    -n          Enable namespace processing. Defaults to off.
    -s          Enable schema processing. Defaults to off.

  * = Default if not provided explicitly
</source>
          <p><em>-v=always</em> will force validation<br/>
             <em>-v=never</em>  will not use any validation<br/>
             <em>-v=auto</em>   will validate if a DOCTYPE declaration is present in the XML document</p>
          <p>Here is a sample output from DOMCount</p>
<source>cd &XercesCInstallDir;-linux/samples/data
DOMCount -v=always personal.xml
personal.xml: 20 ms (37 elems)</source>

          <p>The output of both versions should be same.</p>

          <note>The time reported by the system may be different, depending on your
          processor type.</note>
        </s3>
    </s2>
</s1>
