| OLD | NEW |
| 1 /* | 1 /* |
| 2 * testSchemas.c : a small tester program for Schema validation | 2 * testSchemas.c : a small tester program for Schema 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/xmlschemas.h> | 45 #include <libxml/xmlschemas.h> |
| 46 #include <libxml/xmlschemastypes.h> | 46 #include <libxml/xmlschemastypes.h> |
| 47 | 47 |
| 48 #ifdef LIBXML_DEBUG_ENABLED | 48 #ifdef LIBXML_DEBUG_ENABLED |
| 49 static int debug = 0; | 49 static int debug = 0; |
| 50 #endif | 50 #endif |
| 51 static int noout = 0; | 51 static int noout = 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 xmlSchemaPtr schema = NULL; | 60 xmlSchemaPtr 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 } | 75 } |
| 76 } | 76 } |
| 77 xmlLineNumbersDefault(1); | 77 xmlLineNumbersDefault(1); |
| 78 for (i = 1; i < argc ; i++) { | 78 for (i = 1; i < argc ; i++) { |
| 79 if (argv[i][0] != '-') { | 79 if (argv[i][0] != '-') { |
| 80 if (schema == NULL) { | 80 if (schema == NULL) { |
| 81 xmlSchemaParserCtxtPtr ctxt; | 81 xmlSchemaParserCtxtPtr ctxt; |
| 82 | 82 |
| 83 #ifdef HAVE_SYS_MMAN_H | 83 #ifdef HAVE_MMAP |
| 84 if (memory) { | 84 if (memory) { |
| 85 int fd; | 85 int fd; |
| 86 struct stat info; | 86 struct stat info; |
| 87 const char *base; | 87 const char *base; |
| 88 » » if (stat(argv[i], &info) < 0) | 88 » » if (stat(argv[i], &info) < 0) |
| 89 break; | 89 break; |
| 90 if ((fd = open(argv[i], O_RDONLY)) < 0) | 90 if ((fd = open(argv[i], O_RDONLY)) < 0) |
| 91 break; | 91 break; |
| 92 base = mmap(NULL, info.st_size, PROT_READ, | 92 base = mmap(NULL, info.st_size, PROT_READ, |
| 93 MAP_SHARED, fd, 0) ; | 93 MAP_SHARED, fd, 0) ; |
| 94 if (base == (void *) MAP_FAILED) | 94 if (base == (void *) MAP_FAILED) |
| 95 break; | 95 break; |
| 96 | 96 |
| 97 ctxt = xmlSchemaNewMemParserCtxt((char *)base,info.st_size); | 97 ctxt = xmlSchemaNewMemParserCtxt((char *)base,info.st_size); |
| 98 | 98 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 if (schema != NULL) | 157 if (schema != NULL) |
| 158 xmlSchemaFree(schema); | 158 xmlSchemaFree(schema); |
| 159 if (files == 0) { | 159 if (files == 0) { |
| 160 printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", | 160 printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n", |
| 161 argv[0]); | 161 argv[0]); |
| 162 printf("\tParse the HTML files and output the result of the parsing\n"); | 162 printf("\tParse the HTML files and output the result of the parsing\n"); |
| 163 #ifdef LIBXML_DEBUG_ENABLED | 163 #ifdef LIBXML_DEBUG_ENABLED |
| 164 printf("\t--debug : dump a debug tree of the in-memory document\n"); | 164 printf("\t--debug : dump a debug tree of the in-memory document\n"); |
| 165 #endif | 165 #endif |
| 166 printf("\t--noout : do not print the result\n"); | 166 printf("\t--noout : do not print the result\n"); |
| 167 #ifdef HAVE_SYS_MMAN_H | 167 #ifdef HAVE_MMAP |
| 168 printf("\t--memory : test the schemas in memory parsing\n"); | 168 printf("\t--memory : test the schemas in memory parsing\n"); |
| 169 #endif | 169 #endif |
| 170 } | 170 } |
| 171 failed_schemas: | 171 failed_schemas: |
| 172 xmlSchemaCleanupTypes(); | 172 xmlSchemaCleanupTypes(); |
| 173 xmlCleanupParser(); | 173 xmlCleanupParser(); |
| 174 xmlMemoryDump(); | 174 xmlMemoryDump(); |
| 175 | 175 |
| 176 return(0); | 176 return(0); |
| 177 } | 177 } |
| 178 | 178 |
| 179 #else | 179 #else |
| 180 #include <stdio.h> | 180 #include <stdio.h> |
| 181 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { | 181 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { |
| 182 printf("%s : Schemas support not compiled in\n", argv[0]); | 182 printf("%s : Schemas support not compiled in\n", argv[0]); |
| 183 return(0); | 183 return(0); |
| 184 } | 184 } |
| 185 #endif /* LIBXML_SCHEMAS_ENABLED */ | 185 #endif /* LIBXML_SCHEMAS_ENABLED */ |
| OLD | NEW |