diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-05-03 15:21:49 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-05-03 15:21:49 (GMT) |
commit | 4b8453f0303492a1de2dcf854555f6429fac550e (patch) | |
tree | 54abb57f4c5191452cadcac2f12feacbfc1f3218 /libxml2/testRelax.c | |
parent | 7617e7a38edce33eab6ca4259b416b339e07ea29 (diff) | |
download | blt-4b8453f0303492a1de2dcf854555f6429fac550e.zip blt-4b8453f0303492a1de2dcf854555f6429fac550e.tar.gz blt-4b8453f0303492a1de2dcf854555f6429fac550e.tar.bz2 |
reinstall libxml2/libxslt
Diffstat (limited to 'libxml2/testRelax.c')
-rw-r--r-- | libxml2/testRelax.c | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/libxml2/testRelax.c b/libxml2/testRelax.c deleted file mode 100644 index 8e94a7a..0000000 --- a/libxml2/testRelax.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * testRelax.c : a small tester program for RelaxNG validation - * - * See Copyright for the status of this software. - * - * Daniel.Veillard@w3.org - */ - -#include "libxml.h" -#ifdef LIBXML_SCHEMAS_ENABLED - -#include <libxml/xmlversion.h> -#include <libxml/parser.h> - -#include <stdio.h> -#include <string.h> -#include <stdarg.h> - - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -#include <sys/stat.h> -#endif -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#ifdef HAVE_SYS_MMAN_H -#include <sys/mman.h> -/* seems needed for Solaris */ -#ifndef MAP_FAILED -#define MAP_FAILED ((void *) -1) -#endif -#endif - -#include <libxml/xmlmemory.h> -#include <libxml/debugXML.h> -#include <libxml/relaxng.h> - -#ifdef LIBXML_DEBUG_ENABLED -static int debug = 0; -#endif -static int noout = 0; -static int tree = 0; -#ifdef HAVE_MMAP -static int memory = 0; -#endif - - -int main(int argc, char **argv) { - int i; - int files = 0; - xmlRelaxNGPtr schema = NULL; - - for (i = 1; i < argc ; i++) { -#ifdef LIBXML_DEBUG_ENABLED - if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) - debug++; - else -#endif -#ifdef HAVE_MMAP - if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) { - memory++; - } else -#endif - if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) { - noout++; - } else - if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) { - tree++; - } - } - xmlLineNumbersDefault(1); - xmlSubstituteEntitiesDefault(1); - for (i = 1; i < argc ; i++) { - if (argv[i][0] != '-') { - if (schema == NULL) { - xmlRelaxNGParserCtxtPtr ctxt; - -#ifdef HAVE_MMAP - if (memory) { - int fd; - struct stat info; - const char *base; - if (stat(argv[i], &info) < 0) - break; - if ((fd = open(argv[i], O_RDONLY)) < 0) - break; - base = mmap(NULL, info.st_size, PROT_READ, - MAP_SHARED, fd, 0) ; - if (base == (void *) MAP_FAILED) - break; - - ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size); - - xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); - schema = xmlRelaxNGParse(ctxt); - xmlRelaxNGFreeParserCtxt(ctxt); - munmap((char *) base, info.st_size); - } else -#endif - { - ctxt = xmlRelaxNGNewParserCtxt(argv[i]); - xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); - schema = xmlRelaxNGParse(ctxt); - xmlRelaxNGFreeParserCtxt(ctxt); - } - if (schema == NULL) { - printf("Relax-NG schema %s failed to compile\n", argv[i]); - files = -1; - break; - } -#ifdef LIBXML_OUTPUT_ENABLED -#ifdef LIBXML_DEBUG_ENABLED - if (debug) - xmlRelaxNGDump(stdout, schema); -#endif - if (tree) - xmlRelaxNGDumpTree(stdout, schema); -#endif /* LIBXML_OUTPUT_ENABLED */ - } else { - xmlDocPtr doc; - - doc = xmlReadFile(argv[i],NULL,0); - - if (doc == NULL) { - fprintf(stderr, "Could not parse %s\n", argv[i]); - } else { - xmlRelaxNGValidCtxtPtr ctxt; - int ret; - - ctxt = xmlRelaxNGNewValidCtxt(schema); - xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); - ret = xmlRelaxNGValidateDoc(ctxt, doc); - if (ret == 0) { - printf("%s validates\n", argv[i]); - } else if (ret > 0) { - printf("%s fails to validate\n", argv[i]); - } else { - printf("%s validation generated an internal error\n", - argv[i]); - } - xmlRelaxNGFreeValidCtxt(ctxt); - xmlFreeDoc(doc); - } - } - files ++; - } - } - if (schema != NULL) - xmlRelaxNGFree(schema); - if (files == 0) { - printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", - argv[0]); - printf("\tParse the HTML files and output the result of the parsing\n"); -#ifdef LIBXML_DEBUG_ENABLED - printf("\t--debug : dump a debug tree of the in-memory document\n"); -#endif - printf("\t--noout : do not print the result\n"); - printf("\t--tree : print the intermediate Relax-NG document tree\n"); -#ifdef HAVE_MMAP - printf("\t--memory : test the schemas in memory parsing\n"); -#endif - } - xmlRelaxNGCleanupTypes(); - xmlCleanupParser(); - xmlMemoryDump(); - - return(0); -} - -#else -#include <stdio.h> -int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { - printf("%s : RelaxNG support not compiled in\n", argv[0]); - return(0); -} -#endif /* LIBXML_SCHEMAS_ENABLED */ |