blob: 943930cff7e0c068ea24b439bf5283164f9b4289 [file] [log] [blame]
<?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>