apache > xerces > xerces-p
XML::Xerces
 

XML::Xerces Sample: SAXCount

Sample: SAXCount

SAXCount

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

Running SAXCount

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

perl SAXCount.pl <XML File>

The following parameters may be set from the command line

Usage:
    perl SAXCount.pl [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.

    -h          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 samples
perl SAXCount.pl -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.

perl SAXCount.pl -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.

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