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