| OLD | NEW |
| 1 /* | 1 /* |
| 2 * testRelax.c : a small tester program for RelaxNG validation | 2 * testRelax.c : a small tester program for RelaxNG validation |
| 3 * | 3 * |
| 4 * See Copyright for the status of this software. | 4 * See Copyright for the status of this software. |
| 5 * | 5 * |
| 6 * Daniel.Veillard@w3.org | 6 * Daniel.Veillard@w3.org |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "libxml.h" | 9 #include "libxml.h" |
| 10 #ifdef LIBXML_SCHEMAS_ENABLED | 10 #ifdef LIBXML_SCHEMAS_ENABLED |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 | 42 |
| 43 #include <libxml/xmlmemory.h> | 43 #include <libxml/xmlmemory.h> |
| 44 #include <libxml/debugXML.h> | 44 #include <libxml/debugXML.h> |
| 45 #include <libxml/relaxng.h> | 45 #include <libxml/relaxng.h> |
| 46 | 46 |
| 47 #ifdef LIBXML_DEBUG_ENABLED | 47 #ifdef LIBXML_DEBUG_ENABLED |
| 48 static int debug = 0; | 48 static int debug = 0; |
| 49 #endif | 49 #endif |
| 50 static int noout = 0; | 50 static int noout = 0; |
| 51 static int tree = 0; | 51 static int tree = 0; |
| 52 #ifdef HAVE_SYS_MMAN_H | 52 #ifdef HAVE_MMAP |
| 53 static int memory = 0; | 53 static int memory = 0; |
| 54 #endif | 54 #endif |
| 55 | 55 |
| 56 | 56 |
| 57 int main(int argc, char **argv) { | 57 int main(int argc, char **argv) { |
| 58 int i; | 58 int i; |
| 59 int files = 0; | 59 int files = 0; |
| 60 xmlRelaxNGPtr schema = NULL; | 60 xmlRelaxNGPtr schema = NULL; |
| 61 | 61 |
| 62 for (i = 1; i < argc ; i++) { | 62 for (i = 1; i < argc ; i++) { |
| 63 #ifdef LIBXML_DEBUG_ENABLED | 63 #ifdef LIBXML_DEBUG_ENABLED |
| 64 if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) | 64 if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) |
| 65 debug++; | 65 debug++; |
| 66 else | 66 else |
| 67 #endif | 67 #endif |
| 68 #ifdef HAVE_SYS_MMAN_H | 68 #ifdef HAVE_MMAP |
| 69 if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) { | 69 if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) { |
| 70 memory++; | 70 memory++; |
| 71 } else | 71 } else |
| 72 #endif | 72 #endif |
| 73 if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) { | 73 if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) { |
| 74 noout++; | 74 noout++; |
| 75 } else | 75 } else |
| 76 if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) { | 76 if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) { |
| 77 tree++; | 77 tree++; |
| 78 } | 78 } |
| 79 } | 79 } |
| 80 xmlLineNumbersDefault(1); | 80 xmlLineNumbersDefault(1); |
| 81 xmlSubstituteEntitiesDefault(1); | 81 xmlSubstituteEntitiesDefault(1); |
| 82 for (i = 1; i < argc ; i++) { | 82 for (i = 1; i < argc ; i++) { |
| 83 if (argv[i][0] != '-') { | 83 if (argv[i][0] != '-') { |
| 84 if (schema == NULL) { | 84 if (schema == NULL) { |
| 85 xmlRelaxNGParserCtxtPtr ctxt; | 85 xmlRelaxNGParserCtxtPtr ctxt; |
| 86 | 86 |
| 87 #ifdef HAVE_SYS_MMAN_H | 87 #ifdef HAVE_MMAP |
| 88 if (memory) { | 88 if (memory) { |
| 89 int fd; | 89 int fd; |
| 90 struct stat info; | 90 struct stat info; |
| 91 const char *base; | 91 const char *base; |
| 92 » » if (stat(argv[i], &info) < 0) | 92 » » if (stat(argv[i], &info) < 0) |
| 93 break; | 93 break; |
| 94 if ((fd = open(argv[i], O_RDONLY)) < 0) | 94 if ((fd = open(argv[i], O_RDONLY)) < 0) |
| 95 break; | 95 break; |
| 96 base = mmap(NULL, info.st_size, PROT_READ, | 96 base = mmap(NULL, info.st_size, PROT_READ, |
| 97 MAP_SHARED, fd, 0) ; | 97 MAP_SHARED, fd, 0) ; |
| 98 if (base == (void *) MAP_FAILED) | 98 if (base == (void *) MAP_FAILED) |
| 99 break; | 99 break; |
| 100 | 100 |
| 101 ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size)
; | 101 ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size)
; |
| 102 | 102 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 xmlRelaxNGFree(schema); | 167 xmlRelaxNGFree(schema); |
| 168 if (files == 0) { | 168 if (files == 0) { |
| 169 printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", | 169 printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", |
| 170 argv[0]); | 170 argv[0]); |
| 171 printf("\tParse the HTML files and output the result of the parsing\n"); | 171 printf("\tParse the HTML files and output the result of the parsing\n"); |
| 172 #ifdef LIBXML_DEBUG_ENABLED | 172 #ifdef LIBXML_DEBUG_ENABLED |
| 173 printf("\t--debug : dump a debug tree of the in-memory document\n"); | 173 printf("\t--debug : dump a debug tree of the in-memory document\n"); |
| 174 #endif | 174 #endif |
| 175 printf("\t--noout : do not print the result\n"); | 175 printf("\t--noout : do not print the result\n"); |
| 176 printf("\t--tree : print the intermediate Relax-NG document tree\n"); | 176 printf("\t--tree : print the intermediate Relax-NG document tree\n"); |
| 177 #ifdef HAVE_SYS_MMAN_H | 177 #ifdef HAVE_MMAP |
| 178 printf("\t--memory : test the schemas in memory parsing\n"); | 178 printf("\t--memory : test the schemas in memory parsing\n"); |
| 179 #endif | 179 #endif |
| 180 } | 180 } |
| 181 xmlRelaxNGCleanupTypes(); | 181 xmlRelaxNGCleanupTypes(); |
| 182 xmlCleanupParser(); | 182 xmlCleanupParser(); |
| 183 xmlMemoryDump(); | 183 xmlMemoryDump(); |
| 184 | 184 |
| 185 return(0); | 185 return(0); |
| 186 } | 186 } |
| 187 | 187 |
| 188 #else | 188 #else |
| 189 #include <stdio.h> | 189 #include <stdio.h> |
| 190 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { | 190 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { |
| 191 printf("%s : RelaxNG support not compiled in\n", argv[0]); | 191 printf("%s : RelaxNG support not compiled in\n", argv[0]); |
| 192 return(0); | 192 return(0); |
| 193 } | 193 } |
| 194 #endif /* LIBXML_SCHEMAS_ENABLED */ | 194 #endif /* LIBXML_SCHEMAS_ENABLED */ |
| OLD | NEW |