apache > xerces > xerces-p

XML::Xerces Sample: SAXCount

Sample: 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

    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.

    -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.

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