*** valid.c 2000/10/11 15:16:38 1.74 --- valid.c 2000/10/20 12:37:44 *************** xmlValidateElementTypeElement(xmlValidCt *** 3505,3513 **** *child = cur; return(0); } do { ! cur = *child; ret = xmlValidateElementTypeExpr(ctxt, child, cont); } while (ret == 1); if (ret == -1) return(-1); *child = cur; --- 3505,3523 ---- *child = cur; return(0); } + if (ret == -1) return(-1); + cur = *child; do { ! if (*child == NULL) ! break; /* while */ ! if (((*child)->type == XML_TEXT_NODE) && ! (xmlIsBlankNode(*child))) { ! *child = (*child)->next; ! continue; ! } ret = xmlValidateElementTypeExpr(ctxt, child, cont); + if (ret == 1) + cur = *child; } while (ret == 1); if (ret == -1) return(-1); *child = cur; *************** child_ok: *** 3812,3817 **** --- 3822,3832 ---- child = elem->children; cont = elemDecl->content; ret = xmlValidateElementTypeElement(ctxt, &child, cont); + while ((child != NULL) && (child->type == XML_TEXT_NODE) && + (xmlIsBlankNode(child))) { + child = child->next; + continue; + } if ((ret == 0) || (child != NULL)) { char expr[1000]; char list[2000];