From 154877e55495468de2e971531fb7f18a644a3412 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 30 Jan 2003 12:17:05 +0000 Subject: [PATCH] more work done in the train augmented/updated the regression tests Daniel * relaxng: more work done in the train * test/relaxng/* result/relaxng/*: augmented/updated the regression tests Daniel --- ChangeLog | 6 +++ doc/FAQ.html | 4 +- doc/architecture.html | 2 +- doc/catalog.html | 4 +- doc/contribs.html | 2 +- doc/index.html | 2 +- doc/xmldtd.html | 2 +- doc/xmlmem.html | 2 +- relaxng.c | 95 +++++++++++++++++++++++------------ result/relaxng/tutor3_2_1.err | 4 +- result/relaxng/tutor3_5_2.err | 2 +- result/relaxng/tutor4_1_1 | 3 +- result/relaxng/tutor4_1_1.err | 9 ++-- result/relaxng/tutor5_3_1.err | 2 +- result/relaxng/tutor6_1_3.err | 2 +- result/relaxng/tutor6_2_4.err | 2 +- result/relaxng/tutor6_3_1.err | 2 +- result/relaxng/tutor7_1_2.err | 6 +-- result/relaxng/tutor7_1_3.err | 6 +-- result/relaxng/tutor7_2_4.err | 4 +- result/relaxng/tutor7_3_4.err | 6 +-- result/relaxng/tutor7_3_5.err | 6 +-- result/relaxng/tutor8_2_4.err | 2 +- result/relaxng/tutor8_2_5.err | 4 +- result/relaxng/tutor8_2_6.err | 2 +- result/relaxng/tutor9_3_1 | 1 + result/relaxng/tutor9_3_1.err | 7 +++ result/relaxng/tutor9_3_2 | 1 + result/relaxng/tutor9_3_2.err | 8 +++ result/relaxng/tutor9_4_1 | 1 + result/relaxng/tutor9_4_1.err | 6 +++ result/relaxng/tutor9_4_2 | 1 + result/relaxng/tutor9_4_2.err | 7 +++ test/relaxng/tutor9_3.rng | 37 ++++++++++++++ test/relaxng/tutor9_3_1.xml | 1 + test/relaxng/tutor9_3_2.xml | 1 + test/relaxng/tutor9_4.rng | 36 +++++++++++++ test/relaxng/tutor9_4_1.xml | 1 + test/relaxng/tutor9_4_2.xml | 1 + test/relaxng/tutor9_5.rng | 25 +++++++++ 40 files changed, 243 insertions(+), 72 deletions(-) create mode 100644 result/relaxng/tutor9_3_1 create mode 100644 result/relaxng/tutor9_3_1.err create mode 100644 result/relaxng/tutor9_3_2 create mode 100644 result/relaxng/tutor9_3_2.err create mode 100644 result/relaxng/tutor9_4_1 create mode 100644 result/relaxng/tutor9_4_1.err create mode 100644 result/relaxng/tutor9_4_2 create mode 100644 result/relaxng/tutor9_4_2.err create mode 100644 test/relaxng/tutor9_3.rng create mode 100644 test/relaxng/tutor9_3_1.xml create mode 100644 test/relaxng/tutor9_3_2.xml create mode 100644 test/relaxng/tutor9_4.rng create mode 100644 test/relaxng/tutor9_4_1.xml create mode 100644 test/relaxng/tutor9_4_2.xml create mode 100644 test/relaxng/tutor9_5.rng diff --git a/ChangeLog b/ChangeLog index fef26623..60c94639 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Jan 30 14:06:55 CET 2003 Daniel Veillard + + * relaxng: more work done in the train + * test/relaxng/* result/relaxng/*: augmented/updated the + regression tests + Wed Jan 29 23:44:58 CET 2003 Daniel Veillard * relaxng.c: debugging of externalRef diff --git a/doc/FAQ.html b/doc/FAQ.html index 84093c5c..6201fe6a 100644 --- a/doc/FAQ.html +++ b/doc/FAQ.html @@ -264,7 +264,7 @@ pnode=pxmlDoc->children->children;

but it does not work. If I change it to

pnode=pxmlDoc->children->children->next;

then it works. Can someone explain it to me.

-

+

In XML all characters in the content of the document are significant including blanks and formatting line breaks.

The extra nodes you are wondering about are just that, text nodes with @@ -367,7 +367,7 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */

  • etc ...
  • -

    +

    Daniel Veillard

    diff --git a/doc/architecture.html b/doc/architecture.html index 4762ba80..7f3844e8 100644 --- a/doc/architecture.html +++ b/doc/architecture.html @@ -113,7 +113,7 @@ of the block interfaces are public. The main components are:

    Graphically this gives the following:

    a graphical view of the various

    -

    +

    Daniel Veillard

    diff --git a/doc/catalog.html b/doc/catalog.html index 706ca47c..ee8adc38 100644 --- a/doc/catalog.html +++ b/doc/catalog.html @@ -149,7 +149,7 @@ started.

    Catalogs is far more flexible, more recent, uses an XML syntax and should scale quite better. This is the default option of libxml. -

    +

    Using catalog

    In a normal environment libxml will by default check the presence of a catalog in /etc/xml/catalog, and assuming it has been correctly populated, @@ -388,7 +388,7 @@ provided because this functionality may be useful for client tools.

    try to avoid troubles in multithreaded environments. The code is now thread safe assuming that the libxml library has been compiled with threads support.

    -

    +

    Other resources

    The XML Catalog specification is relatively recent so there isn't much literature to point at:

    diff --git a/doc/contribs.html b/doc/contribs.html index cc7fd694..77b7e201 100644 --- a/doc/contribs.html +++ b/doc/contribs.html @@ -136,7 +136,7 @@ A:link, A:visited, A:active { text-decoration: underline } Digital Signature implementations for libxml2 -

    +

    Daniel Veillard

    diff --git a/doc/index.html b/doc/index.html index 2d09aa0c..1e432250 100644 --- a/doc/index.html +++ b/doc/index.html @@ -95,7 +95,7 @@ A:link, A:visited, A:active { text-decoration: underline }
    -

    +

    Libxml is the XML C library developed for the Gnome project. XML itself is a metalanguage to design markup languages, i.e. text language where semantic and structure are added to the content using extra "markup" diff --git a/doc/xmldtd.html b/doc/xmldtd.html index 2e129fcb..c6c25281 100644 --- a/doc/xmldtd.html +++ b/doc/xmldtd.html @@ -249,7 +249,7 @@ will just list one for now, others pointers welcome:

    I suggest looking at the examples found under test/valid/dtd and any of the large number of books available on XML. The dia example in test/valid should be both simple and complete enough to allow you to build your own.

    -

    +

    Daniel Veillard

    diff --git a/doc/xmlmem.html b/doc/xmlmem.html index f863c80d..ddce58c3 100644 --- a/doc/xmlmem.html +++ b/doc/xmlmem.html @@ -218,7 +218,7 @@ of a number of things:

    validation, DOM, XPath or XPointer, but really need to work fixed memory requirements, then the SAX interface should be used. -

    +

    Daniel Veillard

    diff --git a/relaxng.c b/relaxng.c index 85c49a07..86ad215c 100644 --- a/relaxng.c +++ b/relaxng.c @@ -1248,7 +1248,7 @@ static xmlRelaxNGDefinePtr xmlRelaxNGParseAttribute( static xmlRelaxNGDefinePtr xmlRelaxNGParseElement( xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node); static xmlRelaxNGDefinePtr xmlRelaxNGParsePatterns( - xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes); + xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes, int group); static xmlRelaxNGDefinePtr xmlRelaxNGParsePattern( xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node); static xmlRelaxNGPtr xmlRelaxNGParseDocument( @@ -1494,6 +1494,8 @@ xmlRelaxNGCompareElemDefLists(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, xmlRelaxNGDefinePtr *def2) { xmlRelaxNGDefinePtr *basedef2 = def2; + if ((def1 == NULL) || (def2 == NULL)) + return(1); if ((*def1 == NULL) || (*def2 == NULL)) return(1); while (*def1 != NULL) { @@ -1584,7 +1586,8 @@ xmlRelaxNGGetElements(xmlRelaxNGParserCtxtPtr ctxt, continue; } } - if (cur == def) return(ret); + if (cur == def) + return(ret); if (cur->next != NULL) { cur = cur->next; continue; @@ -1651,16 +1654,13 @@ xmlRelaxNGComputeInterleaves(xmlRelaxNGDefinePtr def, goto error; cur = def->content; while (cur != NULL) { - list = xmlRelaxNGGetElements(ctxt, cur); - if (list != NULL) { - groups[nbgroups] = (xmlRelaxNGInterleaveGroupPtr) - xmlMalloc(sizeof(xmlRelaxNGInterleaveGroup)); - if (groups[nbgroups] == NULL) - goto error; - groups[nbgroups]->rule = cur; - groups[nbgroups]->defs = list; - nbgroups++; - } + groups[nbgroups] = (xmlRelaxNGInterleaveGroupPtr) + xmlMalloc(sizeof(xmlRelaxNGInterleaveGroup)); + if (groups[nbgroups] == NULL) + goto error; + groups[nbgroups]->rule = cur; + groups[nbgroups]->defs = xmlRelaxNGGetElements(ctxt, cur); + nbgroups++; cur = cur->next; } list = NULL; @@ -1817,8 +1817,7 @@ xmlRelaxNGParseDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) { } else { olddefine = ctxt->define; ctxt->define = name; - def->content = xmlRelaxNGParsePatterns(ctxt, - node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 0); ctxt->define = olddefine; } if (ctxt->grammar->defs == NULL) @@ -1833,11 +1832,22 @@ xmlRelaxNGParseDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) { } else { tmp = xmlHashAddEntry(ctxt->grammar->defs, name, def); if (tmp < 0) { - TODO - /* store and implement 4.17 on combining */ - ctxt->nbErrors++; - ret = -1; - xmlRelaxNGFreeDefine(def); + xmlRelaxNGDefinePtr prev; + + prev = xmlHashLookup(ctxt->grammar->defs, name); + if (prev == NULL) { + if (ctxt->error != NULL) + ctxt->error(ctxt->userData, + "Internal error on define aggregation of %s\n", + name); + ctxt->nbErrors++; + ret = -1; + xmlRelaxNGFreeDefine(def); + } else { + while (prev->nextHash != NULL) + prev = prev->nextHash; + prev->nextHash = def; + } } } } @@ -1882,31 +1892,31 @@ xmlRelaxNGParsePattern(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) { if (def == NULL) return(NULL); def->type = XML_RELAXNG_ZEROORMORE; - def->content = xmlRelaxNGParsePatterns(ctxt, node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 1); } else if (IS_RELAXNG(node, "oneOrMore")) { def = xmlRelaxNGNewDefine(ctxt, node); if (def == NULL) return(NULL); def->type = XML_RELAXNG_ONEORMORE; - def->content = xmlRelaxNGParsePatterns(ctxt, node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 1); } else if (IS_RELAXNG(node, "optional")) { def = xmlRelaxNGNewDefine(ctxt, node); if (def == NULL) return(NULL); def->type = XML_RELAXNG_OPTIONAL; - def->content = xmlRelaxNGParsePatterns(ctxt, node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 1); } else if (IS_RELAXNG(node, "choice")) { def = xmlRelaxNGNewDefine(ctxt, node); if (def == NULL) return(NULL); def->type = XML_RELAXNG_CHOICE; - def->content = xmlRelaxNGParsePatterns(ctxt, node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 0); } else if (IS_RELAXNG(node, "group")) { def = xmlRelaxNGNewDefine(ctxt, node); if (def == NULL) return(NULL); def->type = XML_RELAXNG_GROUP; - def->content = xmlRelaxNGParsePatterns(ctxt, node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 0); } else if (IS_RELAXNG(node, "ref")) { def = xmlRelaxNGNewDefine(ctxt, node); if (def == NULL) @@ -1978,7 +1988,7 @@ xmlRelaxNGParsePattern(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) { if (def == NULL) return(NULL); def->type = XML_RELAXNG_LIST; - def->content = xmlRelaxNGParsePatterns(ctxt, node->children); + def->content = xmlRelaxNGParsePatterns(ctxt, node->children, 0); } else if (IS_RELAXNG(node, "interleave")) { def = xmlRelaxNGParseInterleave(ctxt, node); } else if (IS_RELAXNG(node, "externalRef")) { @@ -2244,13 +2254,15 @@ xmlRelaxNGParseElement(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) { * xmlRelaxNGParsePatterns: * @ctxt: a Relax-NG parser context * @nodes: list of nodes + * @group: use an implicit for elements * * parse the content of a RelaxNG start node. * * Returns the definition pointer or NULL in case of error. */ static xmlRelaxNGDefinePtr -xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) { +xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes, + int group) { xmlRelaxNGDefinePtr def = NULL, last = NULL, cur, parent; parent = ctxt->def; @@ -2260,7 +2272,8 @@ xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) { if (def == NULL) { def = last = cur; } else { - if ((def->type == XML_RELAXNG_ELEMENT) && (def == last)) { + if ((group == 1) && (def->type == XML_RELAXNG_ELEMENT) && + (def == last)) { def = xmlRelaxNGNewDefine(ctxt, nodes); def->type = XML_RELAXNG_GROUP; def->content = last; @@ -2306,7 +2319,7 @@ xmlRelaxNGParseStart(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) { TODO xmlElemDump(stdout, nodes->doc, nodes); } else { - def = xmlRelaxNGParsePatterns(ctxt, nodes); + def = xmlRelaxNGParsePatterns(ctxt, nodes, 1); ctxt->grammar->start = def; } nodes = nodes->next; @@ -2450,7 +2463,7 @@ xmlRelaxNGCheckCombine(xmlRelaxNGDefinePtr define, name); ctxt->nbErrors++; } - } else if (xmlStrEqual(combine, BAD_CAST "choice")) { + } else if (xmlStrEqual(combine, BAD_CAST "interleave")) { if (choiceOrInterleave == -1) choiceOrInterleave = 0; else if (choiceOrInterleave == 1) { @@ -2493,9 +2506,9 @@ xmlRelaxNGCheckCombine(xmlRelaxNGDefinePtr define, if (cur == NULL) return; if (choiceOrInterleave == 0) - cur->type = XML_RELAXNG_CHOICE; - else cur->type = XML_RELAXNG_INTERLEAVE; + else + cur->type = XML_RELAXNG_CHOICE; tmp = define; last = NULL; while (tmp != NULL) { @@ -2523,6 +2536,26 @@ xmlRelaxNGCheckCombine(xmlRelaxNGDefinePtr define, tmp = tmp->nextHash; } define->content = cur; + if (choiceOrInterleave == 0) { + if (ctxt->interleaves == NULL) + ctxt->interleaves = xmlHashCreate(10); + if (ctxt->interleaves == NULL) { + if (ctxt->error != NULL) + ctxt->error(ctxt->userData, + "Failed to create interleaves hash table\n"); + ctxt->nbErrors++; + } else { + char tmpname[32]; + + snprintf(tmpname, 32, "interleave%d", ctxt->nbInterleaves++); + if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST tmpname, cur) < 0) { + if (ctxt->error != NULL) + ctxt->error(ctxt->userData, + "Failed to add %s to hash table\n", tmpname); + ctxt->nbErrors++; + } + } + } } /** diff --git a/result/relaxng/tutor3_2_1.err b/result/relaxng/tutor3_2_1.err index bb09dbc8..28a6d518 100644 --- a/result/relaxng/tutor3_2_1.err +++ b/result/relaxng/tutor3_2_1.err @@ -1,3 +1,3 @@ -error detected at relaxng.c:4260 -error detected at relaxng.c:4308 +error detected at relaxng.c:4293 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated card : -1 diff --git a/result/relaxng/tutor3_5_2.err b/result/relaxng/tutor3_5_2.err index 3b9d5ead..fc5adef9 100644 --- a/result/relaxng/tutor3_5_2.err +++ b/result/relaxng/tutor3_5_2.err @@ -1,5 +1,5 @@ xmlRelaxNGValidateAttribute(name): -1 xmlRelaxNGValidateDefinition(): validated email : 0 xmlRelaxNGValidateDefinition(): validated card : -1 -error detected at relaxng.c:4308 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated addressBook : -1 diff --git a/result/relaxng/tutor4_1_1 b/result/relaxng/tutor4_1_1 index d8f436de..373a10d7 100644 --- a/result/relaxng/tutor4_1_1 +++ b/result/relaxng/tutor4_1_1 @@ -1 +1,2 @@ -./test/relaxng/tutor4_1_1.xml validates +Extra content for element addressBook +./test/relaxng/tutor4_1_1.xml validation generated an internal error diff --git a/result/relaxng/tutor4_1_1.err b/result/relaxng/tutor4_1_1.err index adaf345e..1e44ce99 100644 --- a/result/relaxng/tutor4_1_1.err +++ b/result/relaxng/tutor4_1_1.err @@ -1,7 +1,4 @@ xmlRelaxNGValidateDefinition(): validated name : 0 -xmlRelaxNGValidateDefinition(): validated email : 0 -xmlRelaxNGValidateDefinition(): validated card : 0 -xmlRelaxNGValidateDefinition(): validated name : 0 -xmlRelaxNGValidateDefinition(): validated email : 0 -xmlRelaxNGValidateDefinition(): validated card : 0 -xmlRelaxNGValidateDefinition(): validated addressBook : 0 +xmlRelaxNGValidateDefinition(): validated card : -1 +error detected at relaxng.c:4341 +xmlRelaxNGValidateDefinition(): validated addressBook : -1 diff --git a/result/relaxng/tutor5_3_1.err b/result/relaxng/tutor5_3_1.err index 7c13c3c8..a719419f 100644 --- a/result/relaxng/tutor5_3_1.err +++ b/result/relaxng/tutor5_3_1.err @@ -1,3 +1,3 @@ -error detected at relaxng.c:4439 +error detected at relaxng.c:4472 xmlRelaxNGValidateDefinition(): validated note : 0 xmlRelaxNGValidateDefinition(): validated bad : -1 diff --git a/result/relaxng/tutor6_1_3.err b/result/relaxng/tutor6_1_3.err index 722275e5..bfb47f32 100644 --- a/result/relaxng/tutor6_1_3.err +++ b/result/relaxng/tutor6_1_3.err @@ -1,5 +1,5 @@ xmlRelaxNGValidateAttribute(preferredFormat): -1 xmlRelaxNGValidateAttribute(email): 0 xmlRelaxNGValidateAttribute(name): 0 -error detected at relaxng.c:4316 +error detected at relaxng.c:4349 xmlRelaxNGValidateDefinition(): validated card : -1 diff --git a/result/relaxng/tutor6_2_4.err b/result/relaxng/tutor6_2_4.err index 86b2dbbb..02ace4cb 100644 --- a/result/relaxng/tutor6_2_4.err +++ b/result/relaxng/tutor6_2_4.err @@ -1,5 +1,5 @@ xmlRelaxNGValidateDefinition(): validated name : 0 xmlRelaxNGValidateDefinition(): validated email : 0 -error detected at relaxng.c:4308 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated preferredFormat : -1 xmlRelaxNGValidateDefinition(): validated card : -1 diff --git a/result/relaxng/tutor6_3_1.err b/result/relaxng/tutor6_3_1.err index 722275e5..bfb47f32 100644 --- a/result/relaxng/tutor6_3_1.err +++ b/result/relaxng/tutor6_3_1.err @@ -1,5 +1,5 @@ xmlRelaxNGValidateAttribute(preferredFormat): -1 xmlRelaxNGValidateAttribute(email): 0 xmlRelaxNGValidateAttribute(name): 0 -error detected at relaxng.c:4316 +error detected at relaxng.c:4349 xmlRelaxNGValidateDefinition(): validated card : -1 diff --git a/result/relaxng/tutor7_1_2.err b/result/relaxng/tutor7_1_2.err index 472f0e67..d31ade5c 100644 --- a/result/relaxng/tutor7_1_2.err +++ b/result/relaxng/tutor7_1_2.err @@ -1,5 +1,5 @@ Unimplemented block at xmlschemastypes.c:1132 -error detected at relaxng.c:3518 -error detected at relaxng.c:4493 -error detected at relaxng.c:4308 +error detected at relaxng.c:3551 +error detected at relaxng.c:4526 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated vector : -1 diff --git a/result/relaxng/tutor7_1_3.err b/result/relaxng/tutor7_1_3.err index 095756e9..1bb9ef05 100644 --- a/result/relaxng/tutor7_1_3.err +++ b/result/relaxng/tutor7_1_3.err @@ -1,6 +1,6 @@ Unimplemented block at xmlschemastypes.c:1132 Unimplemented block at xmlschemastypes.c:1132 -error detected at relaxng.c:3706 -error detected at relaxng.c:4493 -error detected at relaxng.c:4308 +error detected at relaxng.c:3739 +error detected at relaxng.c:4526 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated vector : -1 diff --git a/result/relaxng/tutor7_2_4.err b/result/relaxng/tutor7_2_4.err index edb18a44..aa5e8aef 100644 --- a/result/relaxng/tutor7_2_4.err +++ b/result/relaxng/tutor7_2_4.err @@ -1,3 +1,3 @@ -error detected at relaxng.c:3681 -error detected at relaxng.c:4493 +error detected at relaxng.c:3714 +error detected at relaxng.c:4526 xmlRelaxNGValidateDefinition(): validated vector : -1 diff --git a/result/relaxng/tutor7_3_4.err b/result/relaxng/tutor7_3_4.err index e955ba51..880a6092 100644 --- a/result/relaxng/tutor7_3_4.err +++ b/result/relaxng/tutor7_3_4.err @@ -1,7 +1,7 @@ Unimplemented block at xmlschemastypes.c:1135 Unimplemented block at xmlschemastypes.c:1135 Unimplemented block at xmlschemastypes.c:1135 -error detected at relaxng.c:3706 -error detected at relaxng.c:4493 -error detected at relaxng.c:4308 +error detected at relaxng.c:3739 +error detected at relaxng.c:4526 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated path : -1 diff --git a/result/relaxng/tutor7_3_5.err b/result/relaxng/tutor7_3_5.err index b0622fe7..b49a8a5b 100644 --- a/result/relaxng/tutor7_3_5.err +++ b/result/relaxng/tutor7_3_5.err @@ -1,5 +1,5 @@ Unimplemented block at xmlschemastypes.c:1135 -error detected at relaxng.c:3518 -error detected at relaxng.c:4493 -error detected at relaxng.c:4308 +error detected at relaxng.c:3551 +error detected at relaxng.c:4526 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated path : -1 diff --git a/result/relaxng/tutor8_2_4.err b/result/relaxng/tutor8_2_4.err index e4d178a8..bfce578a 100644 --- a/result/relaxng/tutor8_2_4.err +++ b/result/relaxng/tutor8_2_4.err @@ -3,5 +3,5 @@ xmlRelaxNGComputeInterleaves(interleave0) 6 groups xmlRelaxNGValidateDefinition(): validated title : 0 xmlRelaxNGValidateDefinition(): validated title : 0 -error detected at relaxng.c:4308 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated head : -1 diff --git a/result/relaxng/tutor8_2_5.err b/result/relaxng/tutor8_2_5.err index 1ddcbe63..40809094 100644 --- a/result/relaxng/tutor8_2_5.err +++ b/result/relaxng/tutor8_2_5.err @@ -1,6 +1,6 @@ xmlRelaxNGComputeInterleaves(interleave0) 6 child 6 groups -error detected at relaxng.c:4254 -error detected at relaxng.c:4308 +error detected at relaxng.c:4287 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated head : -1 diff --git a/result/relaxng/tutor8_2_6.err b/result/relaxng/tutor8_2_6.err index e4b1e126..2632bfd2 100644 --- a/result/relaxng/tutor8_2_6.err +++ b/result/relaxng/tutor8_2_6.err @@ -4,5 +4,5 @@ xmlRelaxNGComputeInterleaves(interleave0) xmlRelaxNGValidateDefinition(): validated title : 0 xmlRelaxNGValidateDefinition(): validated base : 0 xmlRelaxNGValidateDefinition(): validated base : 0 -error detected at relaxng.c:4308 +error detected at relaxng.c:4341 xmlRelaxNGValidateDefinition(): validated head : -1 diff --git a/result/relaxng/tutor9_3_1 b/result/relaxng/tutor9_3_1 new file mode 100644 index 00000000..80ac24ca --- /dev/null +++ b/result/relaxng/tutor9_3_1 @@ -0,0 +1 @@ +./test/relaxng/tutor9_3_1.xml validates diff --git a/result/relaxng/tutor9_3_1.err b/result/relaxng/tutor9_3_1.err new file mode 100644 index 00000000..246daabd --- /dev/null +++ b/result/relaxng/tutor9_3_1.err @@ -0,0 +1,7 @@ +xmlRelaxNGCheckCombine(): merging inline.class defines: 1 +xmlRelaxNGComputeInterleaves(interleave0) + 2 child + 2 groups +xmlRelaxNGValidateDefinition(): validated em : 0 +xmlRelaxNGValidateDefinition(): validated bold : 0 +xmlRelaxNGValidateDefinition(): validated data : 0 diff --git a/result/relaxng/tutor9_3_2 b/result/relaxng/tutor9_3_2 new file mode 100644 index 00000000..a361c934 --- /dev/null +++ b/result/relaxng/tutor9_3_2 @@ -0,0 +1 @@ +./test/relaxng/tutor9_3_2.xml validates diff --git a/result/relaxng/tutor9_3_2.err b/result/relaxng/tutor9_3_2.err new file mode 100644 index 00000000..5010dcfd --- /dev/null +++ b/result/relaxng/tutor9_3_2.err @@ -0,0 +1,8 @@ +xmlRelaxNGCheckCombine(): merging inline.class defines: 1 +xmlRelaxNGComputeInterleaves(interleave0) + 2 child + 2 groups +xmlRelaxNGValidateDefinition(): validated code : 0 +xmlRelaxNGValidateDefinition(): validated em : 0 +xmlRelaxNGValidateDefinition(): validated italic : 0 +xmlRelaxNGValidateDefinition(): validated data : 0 diff --git a/result/relaxng/tutor9_4_1 b/result/relaxng/tutor9_4_1 new file mode 100644 index 00000000..514eb980 --- /dev/null +++ b/result/relaxng/tutor9_4_1 @@ -0,0 +1 @@ +./test/relaxng/tutor9_4_1.xml validates diff --git a/result/relaxng/tutor9_4_1.err b/result/relaxng/tutor9_4_1.err new file mode 100644 index 00000000..67598dcc --- /dev/null +++ b/result/relaxng/tutor9_4_1.err @@ -0,0 +1,6 @@ +xmlRelaxNGComputeInterleaves(interleave0) + 2 child + 2 groups +xmlRelaxNGValidateDefinition(): validated em : 0 +xmlRelaxNGValidateDefinition(): validated bold : 0 +xmlRelaxNGValidateDefinition(): validated data : 0 diff --git a/result/relaxng/tutor9_4_2 b/result/relaxng/tutor9_4_2 new file mode 100644 index 00000000..ba780dc6 --- /dev/null +++ b/result/relaxng/tutor9_4_2 @@ -0,0 +1 @@ +./test/relaxng/tutor9_4_2.xml validates diff --git a/result/relaxng/tutor9_4_2.err b/result/relaxng/tutor9_4_2.err new file mode 100644 index 00000000..74f84174 --- /dev/null +++ b/result/relaxng/tutor9_4_2.err @@ -0,0 +1,7 @@ +xmlRelaxNGComputeInterleaves(interleave0) + 2 child + 2 groups +xmlRelaxNGValidateDefinition(): validated code : 0 +xmlRelaxNGValidateDefinition(): validated em : 0 +xmlRelaxNGValidateDefinition(): validated italic : 0 +xmlRelaxNGValidateDefinition(): validated data : 0 diff --git a/test/relaxng/tutor9_3.rng b/test/relaxng/tutor9_3.rng new file mode 100644 index 00000000..62c6e7d2 --- /dev/null +++ b/test/relaxng/tutor9_3.rng @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/relaxng/tutor9_3_1.xml b/test/relaxng/tutor9_3_1.xml new file mode 100644 index 00000000..50bfa207 --- /dev/null +++ b/test/relaxng/tutor9_3_1.xml @@ -0,0 +1 @@ + a b c d e diff --git a/test/relaxng/tutor9_3_2.xml b/test/relaxng/tutor9_3_2.xml new file mode 100644 index 00000000..f0895425 --- /dev/null +++ b/test/relaxng/tutor9_3_2.xml @@ -0,0 +1 @@ + a b c d foo e diff --git a/test/relaxng/tutor9_4.rng b/test/relaxng/tutor9_4.rng new file mode 100644 index 00000000..d3b7e8ef --- /dev/null +++ b/test/relaxng/tutor9_4.rng @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/relaxng/tutor9_4_1.xml b/test/relaxng/tutor9_4_1.xml new file mode 100644 index 00000000..50bfa207 --- /dev/null +++ b/test/relaxng/tutor9_4_1.xml @@ -0,0 +1 @@ + a b c d e diff --git a/test/relaxng/tutor9_4_2.xml b/test/relaxng/tutor9_4_2.xml new file mode 100644 index 00000000..f0895425 --- /dev/null +++ b/test/relaxng/tutor9_4_2.xml @@ -0,0 +1 @@ + a b c d foo e diff --git a/test/relaxng/tutor9_5.rng b/test/relaxng/tutor9_5.rng new file mode 100644 index 00000000..b8b0a846 --- /dev/null +++ b/test/relaxng/tutor9_5.rng @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + +