SAXCount is the simplest application that counts the elements and characters of a given XML file using the (event based) SAX API.

The SAXCount sample parses an XML file and prints out the number of elements in the file. To run SAXCount, enter the following

SAXCount <XML File>

The following parameters may be set from the command line

Usage: SAXCount [options] <XML file | List file> This program invokes the SAX Parser, and then prints the number of elements, attributes, spaces and characters found in each XML file, using SAX API. Options: -l Indicate the input file is a List File that has a list of xml files. Default to off (Input file is an XML file). -v=xxx Validation scheme [always | never | auto*]. -n Enable namespace processing. Defaults to off. -s Enable schema processing. Defaults to off. -f Enable full schema constraint checking. Defaults to off. -locale=ll_CC specify the locale, default: en_US -? Show this help. * = Default if not provided explicitly.

-v=always will force validation
-v=never will not use any validation
-v=auto will validate if a DOCTYPE declaration or a schema declaration is present in the XML document

Here is a sample output from SAXCount

cd &XercesC3InstallDir;/samples/data SAXCount -v=always personal.xml personal.xml: 60 ms (37 elems, 12 attrs, 134 spaces, 134 chars)

Running SAXCount with the validating parser gives a different result because ignorable white-space is counted separately from regular characters.

SAXCount -v=never personal.xml personal.xml: 10 ms (37 elems, 12 attrs, 0 spaces, 268 chars)

Note that the sum of spaces and characters in both versions is the same.

The time reported by the program may be different depending on your processor speed.