Sample: SAX2Count

SAX2Count

SAX2Count is a simple application that counts the elements and characters of a given XML file using the (event based) SAX2 API.

Running SAX2Count

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

    SAX2Count <XML File>

The following parameters may be set from the command line

    Usage:
        SAX2Count [options] <XML file | List file>

    This program invokes the SAX2XMLReader, and then prints the
    number of elements, attributes, spaces and characters found
    in each XML file, using SAX2 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*].
        -f          Enable full schema constraint checking processing. Defaults to off.
        -n          Disable namespace processing. Defaults to on.
                    NOTE: THIS IS OPPOSITE FROM OTHER SAMPLES.
        -s          Disable schema processing. Defaults to on.
                    NOTE: THIS IS OPPOSITE FROM OTHER SAMPLES.
        -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 SAX2Count

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

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

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