38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * section: xmlReader
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * synopsis: Parse and validate an XML file with an xmlReader
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * validating the content in the process and activating options
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * like entities substitution, and DTD attributes defaulting.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * (Note that the XMLReader functions require libxml2 version later
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * than 2.6.)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * usage: reader2 <valid_xml_filename>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * test: reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * author: Daniel Veillard
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * copy: see Copyright for the status of this software.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * processNode:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @reader: the xmlReader
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Dump information about the current node
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * streamFile:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @filename: the file name to parse
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Parse, validate and print information about an XML file.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Pass some special parsing options to activate DTD attribute defaulting,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * entities substitution and DTD validation
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Once the document has been fully parsed check the validation results
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync fprintf(stderr, "Document %s does not validate\n", filename);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync if (ret != 0) {
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync fprintf(stderr, "%s : failed to parse\n", filename);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * this initialize the library and check potential ABI mismatches
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * between the version it was compiled for and the actual shared
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * library used.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Cleanup function for the XML library.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * this is to debug memory for regression tests
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync fprintf(stderr, "XInclude support not compiled in\n");