diff options
Diffstat (limited to 'gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c')
-rw-r--r-- | gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c b/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c deleted file mode 100644 index c32ada5..0000000 --- a/gtk+-mingw/share/doc/libxml2-2.8.0/html/reader2.c +++ /dev/null @@ -1,122 +0,0 @@ -/** - * section: xmlReader - * synopsis: Parse and validate an XML file with an xmlReader - * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file - * validating the content in the process and activating options - * like entities substitution, and DTD attributes defaulting. - * (Note that the XMLReader functions require libxml2 version later - * than 2.6.) - * usage: reader2 <valid_xml_filename> - * test: reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp - * author: Daniel Veillard - * copy: see Copyright for the status of this software. - */ - -#include <stdio.h> -#include <libxml/xmlreader.h> - -#ifdef LIBXML_READER_ENABLED - -/** - * processNode: - * @reader: the xmlReader - * - * Dump information about the current node - */ -static void -processNode(xmlTextReaderPtr reader) { - const xmlChar *name, *value; - - name = xmlTextReaderConstName(reader); - if (name == NULL) - name = BAD_CAST "--"; - - value = xmlTextReaderConstValue(reader); - - printf("%d %d %s %d %d", - xmlTextReaderDepth(reader), - xmlTextReaderNodeType(reader), - name, - xmlTextReaderIsEmptyElement(reader), - xmlTextReaderHasValue(reader)); - if (value == NULL) - printf("\n"); - else { - if (xmlStrlen(value) > 40) - printf(" %.40s...\n", value); - else - printf(" %s\n", value); - } -} - -/** - * streamFile: - * @filename: the file name to parse - * - * Parse, validate and print information about an XML file. - */ -static void -streamFile(const char *filename) { - xmlTextReaderPtr reader; - int ret; - - - /* - * Pass some special parsing options to activate DTD attribute defaulting, - * entities substitution and DTD validation - */ - reader = xmlReaderForFile(filename, NULL, - XML_PARSE_DTDATTR | /* default DTD attributes */ - XML_PARSE_NOENT | /* substitute entities */ - XML_PARSE_DTDVALID); /* validate with the DTD */ - if (reader != NULL) { - ret = xmlTextReaderRead(reader); - while (ret == 1) { - processNode(reader); - ret = xmlTextReaderRead(reader); - } - /* - * Once the document has been fully parsed check the validation results - */ - if (xmlTextReaderIsValid(reader) != 1) { - fprintf(stderr, "Document %s does not validate\n", filename); - } - xmlFreeTextReader(reader); - if (ret != 0) { - fprintf(stderr, "%s : failed to parse\n", filename); - } - } else { - fprintf(stderr, "Unable to open %s\n", filename); - } -} - -int main(int argc, char **argv) { - if (argc != 2) - return(1); - - /* - * this initialize the library and check potential ABI mismatches - * between the version it was compiled for and the actual shared - * library used. - */ - LIBXML_TEST_VERSION - - streamFile(argv[1]); - - /* - * Cleanup function for the XML library. - */ - xmlCleanupParser(); - /* - * this is to debug memory for regression tests - */ - xmlMemoryDump(); - return(0); -} - -#else -int main(void) { - fprintf(stderr, "XInclude support not compiled in\n"); - exit(1); -} -#endif |