32 xmlGenericError(xmlGenericErrorContext, \
33 "Unimplemented block at %s:%d\n", \
36#ifdef LIBXML_VALID_ENABLED
62 channel = ctxt->error;
63 data = ctxt->userData;
66 if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
67 long delta = (
char *) ctxt - (
char *) ctxt->userData;
68 if ((delta > 0) && (delta < 250))
76 "Memory allocation failed : %s\n",
extra);
81 "Memory allocation failed\n");
101 channel = ctxt->error;
102 data = ctxt->userData;
105 if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
106 long delta = (
char *) ctxt - (
char *) ctxt->userData;
107 if ((delta > 0) && (delta < 250))
112 __xmlRaiseError(
NULL, channel,
data,
117 __xmlRaiseError(
NULL, channel,
data,
123#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
147 channel = ctxt->error;
148 data = ctxt->userData;
151 if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
152 long delta = (
char *) ctxt - (
char *) ctxt->userData;
153 if ((delta > 0) && (delta < 250))
161 (
const char *) str3, 0, 0,
msg, str1, str2, str3);
165#ifdef LIBXML_VALID_ENABLED
189 channel = ctxt->error;
190 data = ctxt->userData;
193 if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
194 long delta = (
char *) ctxt - (
char *) ctxt->userData;
195 if ((delta > 0) && (delta < 250))
229 channel = ctxt->warning;
230 data = ctxt->userData;
233 if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
234 long delta = (
char *) ctxt - (
char *) ctxt->userData;
235 if ((delta > 0) && (delta < 250))
243 (
const char *) str3, 0, 0,
msg, str1, str2, str3);
248#ifdef LIBXML_REGEXP_ENABLED
258typedef struct _xmlValidState {
261 xmlRegExecCtxtPtr exec;
267 if ((ctxt->vstateMax == 0) || (ctxt->vstateTab ==
NULL)) {
268 ctxt->vstateMax = 10;
270 sizeof(ctxt->vstateTab[0]));
271 if (ctxt->vstateTab ==
NULL) {
277 if (ctxt->vstateNr >= ctxt->vstateMax) {
281 2 * ctxt->vstateMax *
sizeof(ctxt->vstateTab[0]));
286 ctxt->vstateMax *= 2;
287 ctxt->vstateTab = tmp;
289 ctxt->vstate = &ctxt->vstateTab[ctxt->vstateNr];
290 ctxt->vstateTab[ctxt->vstateNr].elemDecl = elemDecl;
291 ctxt->vstateTab[ctxt->vstateNr].node =
node;
294 xmlValidBuildContentModel(ctxt, elemDecl);
296 ctxt->vstateTab[ctxt->vstateNr].exec =
299 ctxt->vstateTab[ctxt->vstateNr].exec =
NULL;
302 "Failed to build content model regexp for %s\n",
306 return(ctxt->vstateNr++);
313 if (ctxt->vstateNr < 1)
return(-1);
315 elemDecl = ctxt->vstateTab[ctxt->vstateNr].elemDecl;
316 ctxt->vstateTab[ctxt->vstateNr].elemDecl =
NULL;
317 ctxt->vstateTab[ctxt->vstateNr].node =
NULL;
319 xmlRegFreeExecCtxt(ctxt->vstateTab[ctxt->vstateNr].exec);
321 ctxt->vstateTab[ctxt->vstateNr].exec =
NULL;
322 if (ctxt->vstateNr >= 1)
323 ctxt->vstate = &ctxt->vstateTab[ctxt->vstateNr - 1];
326 return(ctxt->vstateNr);
341#define ROLLBACK_PARENT 1
343typedef struct _xmlValidState {
351#define MAX_RECURSE 25000
352#define MAX_DEPTH ((sizeof(_xmlValidState.occurs)) * 8)
353#define CONT ctxt->vstate->cont
354#define NODE ctxt->vstate->node
355#define DEPTH ctxt->vstate->depth
356#define OCCURS ctxt->vstate->occurs
357#define STATE ctxt->vstate->state
359#define OCCURRENCE (ctxt->vstate->occurs & (1 << DEPTH))
360#define PARENT_OCCURRENCE (ctxt->vstate->occurs & ((1 << DEPTH) - 1))
362#define SET_OCCURRENCE ctxt->vstate->occurs |= (1 << DEPTH)
363#define RESET_OCCURRENCE ctxt->vstate->occurs &= ((1 << DEPTH) - 1)
368 unsigned char state) {
369 int i = ctxt->vstateNr - 1;
374 if (ctxt->vstateTab ==
NULL) {
377 ctxt->vstateMax *
sizeof(ctxt->vstateTab[0]));
378 if (ctxt->vstateTab ==
NULL) {
383 if (ctxt->vstateNr >= ctxt->vstateMax) {
387 2 * ctxt->vstateMax *
sizeof(ctxt->vstateTab[0]));
392 ctxt->vstateMax *= 2;
393 ctxt->vstateTab = tmp;
394 ctxt->vstate = &ctxt->vstateTab[0];
399 if ((
i >= 0) && (ctxt->vstateTab[
i].cont == cont) &&
400 (ctxt->vstateTab[
i].node ==
node) &&
401 (ctxt->vstateTab[
i].depth ==
depth) &&
402 (ctxt->vstateTab[
i].occurs == occurs) &&
403 (ctxt->vstateTab[
i].state ==
state))
404 return(ctxt->vstateNr);
405 ctxt->vstateTab[ctxt->vstateNr].cont = cont;
406 ctxt->vstateTab[ctxt->vstateNr].node =
node;
407 ctxt->vstateTab[ctxt->vstateNr].depth =
depth;
408 ctxt->vstateTab[ctxt->vstateNr].occurs = occurs;
409 ctxt->vstateTab[ctxt->vstateNr].state =
state;
410 return(ctxt->vstateNr++);
415 if (ctxt->vstateNr <= 1)
return(-1);
417 ctxt->vstate = &ctxt->vstateTab[0];
418 ctxt->vstate->cont = ctxt->vstateTab[ctxt->vstateNr].cont;
419 ctxt->vstate->node = ctxt->vstateTab[ctxt->vstateNr].node;
420 ctxt->vstate->depth = ctxt->vstateTab[ctxt->vstateNr].depth;
421 ctxt->vstate->occurs = ctxt->vstateTab[ctxt->vstateNr].occurs;
422 ctxt->vstate->state = ctxt->vstateTab[ctxt->vstateNr].state;
423 return(ctxt->vstateNr);
431 if (ctxt->nodeMax <= 0) {
435 sizeof(ctxt->nodeTab[0]));
436 if (ctxt->nodeTab ==
NULL) {
442 if (ctxt->nodeNr >= ctxt->nodeMax) {
445 ctxt->nodeMax * 2 *
sizeof(ctxt->nodeTab[0]));
453 ctxt->nodeTab[ctxt->nodeNr] =
value;
455 return (ctxt->nodeNr++);
462 if (ctxt->nodeNr <= 0)
465 if (ctxt->nodeNr > 0)
466 ctxt->node = ctxt->nodeTab[ctxt->nodeNr - 1];
469 ret = ctxt->nodeTab[ctxt->nodeNr];
470 ctxt->nodeTab[ctxt->nodeNr] =
NULL;
474#ifdef DEBUG_VALID_ALGO
550 xmlValidPrintNode(
cur);
561 xmlValidPrintNodeList(
cur);
573 switch (
state->cont->type) {
588 xmlValidPrintNode(
state->node);
598 xmlValidDebugState(ctxt->vstate);
601 for (
i = 0,
j = ctxt->vstateNr - 1;(
i < 3) && (
j > 0);
i++,
j--)
602 xmlValidDebugState(&ctxt->vstateTab[
j]);
610#define DEBUG_VALID_STATE(n,c) xmlValidStateDebug(ctxt);
611#define DEBUG_VALID_MSG(m) \
612 xmlGenericError(xmlGenericErrorContext, "%s\n", m);
615#define DEBUG_VALID_STATE(n,c)
616#define DEBUG_VALID_MSG(m)
623 if (doc == NULL) return(0); \
624 else if ((doc->intSubset == NULL) && \
625 (doc->extSubset == NULL)) return(0)
627#ifdef LIBXML_REGEXP_ENABLED
651 "Found NULL content in content model of %s\n",
658 "Found PCDATA in content model of %s\n",
663 xmlAutomataStatePtr oldstate = ctxt->state;
675 ctxt->state = xmlAutomataNewTransition(ctxt->am,
679 ctxt->state = xmlAutomataNewTransition(ctxt->am,
681 xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state);
684 ctxt->state = xmlAutomataNewTransition(ctxt->am,
686 xmlAutomataNewTransition(ctxt->am, ctxt->state,
690 ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
692 xmlAutomataNewTransition(ctxt->am,
701 xmlAutomataStatePtr oldstate, oldend;
707 oldstate = ctxt->state;
710 ctxt->state = xmlAutomataNewEpsilon(ctxt->am, oldstate,
NULL);
711 oldstate = ctxt->state;
714 xmlValidBuildAContentModel(
content->c1, ctxt,
name);
719 oldend = ctxt->state;
720 ctxt->state = xmlAutomataNewEpsilon(ctxt->am, oldend,
NULL);
725 xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state);
728 xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state);
729 xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate);
732 xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate);
738 xmlAutomataStatePtr oldstate, oldend;
744 ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
747 oldstate = ctxt->state;
748 oldend = xmlAutomataNewState(ctxt->am);
755 ctxt->state = oldstate;
756 xmlValidBuildAContentModel(
content->c1, ctxt,
name);
757 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldend);
761 ctxt->state = oldstate;
763 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldend);
764 ctxt->state = xmlAutomataNewEpsilon(ctxt->am, oldend,
NULL);
769 xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state);
772 xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state);
773 xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate);
776 xmlAutomataNewEpsilon(ctxt->am, oldend, oldstate);
783 "ContentModel broken for element %s\n",
784 (
const char *)
name);
810 if (!xmlRegexpIsDeterminist(
elem->contModel)) {
817 ctxt->am = xmlNewAutomata();
818 if (ctxt->am ==
NULL) {
821 "Cannot create automata for element %s\n",
825 ctxt->state = xmlAutomataGetInitState(ctxt->am);
826 xmlValidBuildAContentModel(
elem->content, ctxt,
elem->name);
827 xmlAutomataSetFinalState(ctxt->am, ctxt->state);
828 elem->contModel = xmlAutomataCompile(ctxt->am);
829 if (xmlRegexpIsDeterminist(
elem->contModel) != 1) {
835 "Content model of %s is not determinist: %s\n",
837#ifdef DEBUG_REGEXP_ALGO
842 xmlFreeAutomata(ctxt->am);
847 xmlFreeAutomata(ctxt->am);
920 "xmlNewElementContent : name == NULL !\n",
929 "xmlNewElementContent : name != NULL !\n",
935 "Internal: ELEMENT content corrupted invalid type\n",
1039 tmp->type =
cur->type;
1040 tmp->ocur =
cur->ocur;
1058 if (tmp->c1 !=
NULL)
1059 tmp->c1->parent =
ret;
1106 switch (
cur->type) {
1114 "Internal: ELEMENT content corrupted invalid type\n",
1159#ifdef LIBXML_OUTPUT_ENABLED
1169 switch (
cur->ocur) {
1203 switch (
cur->type) {
1218 ((
cur->type !=
cur->parent->type) ||
1225 "Internal: ELEMENT cur corrupted invalid type\n",
1239 xmlDumpElementOccur(
buf,
cur);
1305 if (
size -
len < qnameLen + 10) {
1397#ifdef LIBXML_REGEXP_ENABLED
1399 xmlRegFreeRegexp(
elem->contModel);
1438 "xmlAddElementDecl: content != NULL for EMPTY\n",
1446 "xmlAddElementDecl: content != NULL for ANY\n",
1454 "xmlAddElementDecl: content == NULL for MIXED\n",
1462 "xmlAddElementDecl: content == NULL for ELEMENT\n",
1469 "Internal: ELEMENT decl corrupted invalid type\n",
1489 dict = dtd->
doc->dict;
1495 "xmlAddElementDecl: Table creation failed!\n");
1510 oldAttributes =
ret->attributes;
1524#ifdef LIBXML_VALID_ENABLED
1529 "Redefinition of element %s\n",
1575#ifdef LIBXML_VALID_ENABLED
1580 "Redefinition of element %s\n",
1592 ret->attributes = oldAttributes;
1604 if ((ctxt !=
NULL) && (ctxt->flags & XML_VCTXT_USE_PCTXT)) {
1645#ifdef LIBXML_TREE_ENABLED
1695#ifdef LIBXML_OUTPUT_ENABLED
1708 switch (
elem->etype) {
1735 xmlDumpElementContent(
buf,
elem->content);
1746 xmlDumpElementContent(
buf,
elem->content);
1751 "Internal: ELEMENT struct corrupted invalid type\n",
1765xmlDumpElementDeclScan(
void *
elem,
void *
buf,
1826#ifdef LIBXML_TREE_ENABLED
1844 if (
cur->next !=
NULL)
ret->next = xmlCopyEnumeration(
cur->next);
1851#ifdef LIBXML_OUTPUT_ENABLED
1869 xmlDumpEnumeration(
buf,
cur->next);
1874#ifdef LIBXML_VALID_ENABLED
1898 "Element %s has too many ID attributes defined : %s\n",
1919 dict =
attr->doc->dict;
1932 if ((
attr->defaultValue !=
NULL) &&
1990 dict = dtd->
doc->dict;
1992#ifdef LIBXML_VALID_ENABLED
2019 "Internal: ATTRIBUTE struct corrupted invalid type\n",
2024 if ((defaultValue !=
NULL) &&
2025 (!xmlValidateAttributeValueInternal(dtd->
doc,
type, defaultValue))) {
2027 "Attribute %s of %s: invalid default value\n",
2029 defaultValue =
NULL;
2039 if ((dtd->
doc !=
NULL) && (dtd->
doc->extSubset == dtd) &&
2040 (dtd->
doc->intSubset !=
NULL) &&
2041 (dtd->
doc->intSubset->attributes !=
NULL)) {
2059 "xmlAddAttributeDecl: Table creation failed!\n");
2095 if (defaultValue !=
NULL) {
2107#ifdef LIBXML_VALID_ENABLED
2112 "Attribute %s of element %s: already defined\n",
2124 if (elemDef !=
NULL) {
2126#ifdef LIBXML_VALID_ENABLED
2128 (xmlScanIDAttributeDecl(
NULL, elemDef, 1) != 0)) {
2130 "Element %s has too may ID attributes defined : %s\n",
2149 while ((tmp !=
NULL) &&
2197#ifdef LIBXML_TREE_ENABLED
2220 cur->tree = xmlCopyEnumeration(
attr->tree);
2246#ifdef LIBXML_OUTPUT_ENABLED
2267 switch (
attr->atype) {
2294 xmlDumpEnumeration(
buf,
attr->tree);
2298 xmlDumpEnumeration(
buf,
attr->tree);
2302 "Internal: ATTRIBUTE struct corrupted invalid type\n",
2305 switch (
attr->def) {
2319 "Internal: ATTRIBUTE struct corrupted invalid def\n",
2337xmlDumpAttributeDeclScan(
void *
attr,
void *
buf,
2370 if (nota ==
NULL)
return;
2406 if ((PublicID ==
NULL) && (SystemID ==
NULL)) {
2417 dict = dtd->
doc->dict;
2423 "xmlAddNotationDecl: Table creation failed!\n");
2438 if (SystemID !=
NULL)
2440 if (PublicID !=
NULL)
2448#ifdef LIBXML_VALID_ENABLED
2450 "xmlAddNotationDecl: %s already defined\n",
2451 (
const char *)
name);
2475#ifdef LIBXML_TREE_ENABLED
2523#ifdef LIBXML_OUTPUT_ENABLED
2559xmlDumpNotationDeclScan(
void *nota,
void *
buf,
2591#define DICT_FREE(str) \
2592 if ((str) && ((!dict) || \
2593 (xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
2594 xmlFree((char *)(str));
2612 while (*
src == 0x20)
src++;
2615 while (*
src == 0x20)
src++;
2631 if ((ctxt->flags & XML_VCTXT_USE_PCTXT) == 0)
2647 if (
id ==
NULL)
return;
2650 dict =
id->doc->
dict;
2696 "xmlAddID: Table creation failed!\n");
2727#ifdef LIBXML_VALID_ENABLED
2780 if (doc ==
NULL)
return(0);
2796 xmlChar *fullelemname, *fullattrname;
2806 if (fullelemname !=
NULL && fullattrname !=
NULL) {
2814 if ((fullattrname !=
fattr) && (fullattrname !=
attr->
name))
2816 if ((fullelemname != felem) && (fullelemname !=
elem->name))
2840 if (doc ==
NULL)
return(-1);
2950 if (list_ref ==
NULL)
return;
2968 if (attr0 == attr1) {
3028 "xmlAddRef: Table creation failed!\n");
3064 "xmlAddRef: Reference list creation failed!\n",
3071 "xmlAddRef: Reference list insertion failed!\n",
3078 "xmlAddRef: Reference list insertion failed!\n",
3127 if (doc ==
NULL)
return(0);
3144 if ((attrDecl !=
NULL) &&
3170 if (doc ==
NULL)
return(-1);
3182 if(ref_list ==
NULL) {
3297 dict = dtd->
doc->dict;
3393 if (uqname !=
NULL) {
3448#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
3463 const xmlChar *notationName) {
3466 (notationName ==
NULL))
return(-1);
3472 if ((notaDecl ==
NULL) && (ctxt !=
NULL)) {
3474 "NOTATION %s is not declared\n",
3502 if (elemDecl ==
NULL)
return(-1);
3503 switch (elemDecl->
etype) {
3520#ifdef LIBXML_VALID_ENABLED
3529 if (((
c >=
'a') && (
c <=
'z')) ||
3530 ((
c >=
'A') && (
c <=
'Z')) ||
3531 (
c ==
'_') || (
c ==
':') ||
3532 ((
c >= 0xC0) && (
c <= 0xD6)) ||
3533 ((
c >= 0xD8) && (
c <= 0xF6)) ||
3534 ((
c >= 0xF8) && (
c <= 0x2FF)) ||
3535 ((
c >= 0x370) && (
c <= 0x37D)) ||
3536 ((
c >= 0x37F) && (
c <= 0x1FFF)) ||
3537 ((
c >= 0x200C) && (
c <= 0x200D)) ||
3538 ((
c >= 0x2070) && (
c <= 0x218F)) ||
3539 ((
c >= 0x2C00) && (
c <= 0x2FEF)) ||
3540 ((
c >= 0x3001) && (
c <= 0xD7FF)) ||
3541 ((
c >= 0xF900) && (
c <= 0xFDCF)) ||
3542 ((
c >= 0xFDF0) && (
c <= 0xFFFD)) ||
3543 ((
c >= 0x10000) && (
c <= 0xEFFFF)))
3559 if (((
c >=
'a') && (
c <=
'z')) ||
3560 ((
c >=
'A') && (
c <=
'Z')) ||
3561 ((
c >=
'0') && (
c <=
'9')) ||
3562 (
c ==
'_') || (
c ==
':') ||
3563 (
c ==
'-') || (
c ==
'.') || (
c == 0xB7) ||
3564 ((
c >= 0xC0) && (
c <= 0xD6)) ||
3565 ((
c >= 0xD8) && (
c <= 0xF6)) ||
3566 ((
c >= 0xF8) && (
c <= 0x2FF)) ||
3567 ((
c >= 0x300) && (
c <= 0x36F)) ||
3568 ((
c >= 0x370) && (
c <= 0x37D)) ||
3569 ((
c >= 0x37F) && (
c <= 0x1FFF)) ||
3570 ((
c >= 0x200C) && (
c <= 0x200D)) ||
3571 ((
c >= 0x203F) && (
c <= 0x2040)) ||
3572 ((
c >= 0x2070) && (
c <= 0x218F)) ||
3573 ((
c >= 0x2C00) && (
c <= 0x2FEF)) ||
3574 ((
c >= 0x3001) && (
c <= 0xD7FF)) ||
3575 ((
c >= 0xF900) && (
c <= 0xFDCF)) ||
3576 ((
c >= 0xFDF0) && (
c <= 0xFFFD)) ||
3577 ((
c >= 0x10000) && (
c <= 0xEFFFF)))
3581 (
c ==
'.') || (
c ==
'-') ||
3582 (
c ==
'_') || (
c ==
':') ||
3609 if (!xmlIsDocNameStartChar(doc,
val))
3614 while (xmlIsDocNameChar(doc,
val)) {
3619 if (
val != 0)
return(0);
3635 return(xmlValidateNameValueInternal(
NULL,
value));
3658 if (!xmlIsDocNameStartChar(doc,
val))
3663 while (xmlIsDocNameChar(doc,
val)) {
3669 while (
val == 0x20) {
3670 while (
val == 0x20) {
3675 if (!xmlIsDocNameStartChar(doc,
val))
3681 while (xmlIsDocNameChar(doc,
val)) {
3687 if (
val != 0)
return(0);
3703 return(xmlValidateNamesValueInternal(
NULL,
value));
3728 if (!xmlIsDocNameChar(doc,
val))
3733 while (xmlIsDocNameChar(doc,
val)) {
3738 if (
val != 0)
return(0);
3756 return(xmlValidateNmtokenValueInternal(
NULL,
value));
3786 if (!xmlIsDocNameChar(doc,
val))
3789 while (xmlIsDocNameChar(doc,
val)) {
3795 while (
val == 0x20) {
3796 while (
val == 0x20) {
3800 if (
val == 0)
return(1);
3802 if (!xmlIsDocNameChar(doc,
val))
3808 while (xmlIsDocNameChar(doc,
val)) {
3814 if (
val != 0)
return(0);
3832 return(xmlValidateNmtokensValueInternal(
NULL,
value));
3875 return(xmlValidateNamesValueInternal(doc,
value));
3880 return(xmlValidateNameValueInternal(doc,
value));
3883 return(xmlValidateNmtokensValueInternal(doc,
value));
3885 return(xmlValidateNmtokenValueInternal(doc,
value));
3918 return(xmlValidateAttributeValueInternal(
NULL,
type,
value));
3975 "ENTITY attribute %s reference an unknown entity \"%s\"\n",
3981 "ENTITY attribute %s reference an entity \"%s\" of wrong type\n",
4004 "ENTITIES attribute %s reference an unknown entity \"%s\"\n",
4010 "ENTITIES attribute %s reference an entity \"%s\" of wrong type\n",
4032 "NOTATION attribute %s reference an unknown notation \"%s\"\n",
4088 if (attrDecl !=
NULL)
4098 if (attrDecl !=
NULL)
4102 if (attrDecl ==
NULL)
4113"standalone: %s on %s value had to be normalized based on external subset declaration\n",
4164 if (attrDecl ==
NULL)
4177xmlValidateAttributeIdCallback(
void *payload,
void *
data,
4213 val = xmlValidateAttributeValueInternal(doc,
attr->atype,
4214 attr->defaultValue);
4217 "Syntax of default value for attribute %s of %s is not valid\n",
4228 "ID attribute %s of %s is not valid must be #IMPLIED or #REQUIRED\n",
4241 nbId = xmlScanIDAttributeDecl(
NULL,
elem, 0);
4253 xmlValidateAttributeIdCallback, &nbId);
4259 "Element %s has %d ID attribute defined in the internal subset : %s\n",
4265 extId = xmlScanIDAttributeDecl(
NULL,
elem, 0);
4269 "Element %s has %d ID attribute defined in the external subset : %s\n",
4271 }
else if (extId + nbId > 1) {
4273"Element %s has ID attributes defined in the internal and external subset : %s\n",
4288"Default value \"%s\" for attribute %s of %s is not among the enumerated set\n",
4324#ifdef LIBXML_REGEXP_ENABLED
4326 ret = xmlValidBuildContentModel(ctxt,
elem);
4346 if (
cur->c1->prefix ==
NULL) {
4348 "Definition of %s has duplicate references of %s\n",
4352 "Definition of %s has duplicate references of %s:%s\n",
4363 if (
cur->c1->prefix ==
NULL) {
4365 "Definition of %s has duplicate references to %s\n",
4369 "Definition of %s has duplicate references to %s:%s\n",
4383 if ((tst !=
NULL ) && (tst !=
elem) &&
4388 "Redefinition of element %s\n",
4393 if ((tst !=
NULL ) && (tst !=
elem) &&
4398 "Redefinition of element %s\n",
4469 if (attrDecl ==
NULL) {
4487 if (attrDecl ==
NULL) {
4489 "No declaration for attribute %s of element %s\n",
4495 val = xmlValidateAttributeValueInternal(doc, attrDecl->
atype,
value);
4498 "Syntax of value for attribute %s of %s is not valid\n",
4507 "Value for attribute %s of %s is different from default \"%s\"\n",
4537 "Value \"%s\" for attribute %s of %s is not a declared Notation\n",
4549"Value \"%s\" for attribute %s of %s is not among the enumerated notations\n",
4564 "Value \"%s\" for attribute %s of %s is not among the enumerated set\n",
4574 "Value for attribute %s of %s must be \"%s\"\n",
4580 ret &= xmlValidateAttributeValue2(ctxt, doc,
attr->
name,
4624 if (prefix !=
NULL) {
4649 if (attrDecl ==
NULL) {
4667 if (attrDecl ==
NULL) {
4670 "No declaration for attribute xmlns:%s of element %s\n",
4674 "No declaration for attribute xmlns of element %s\n",
4680 val = xmlValidateAttributeValueInternal(doc, attrDecl->
atype,
value);
4684 "Syntax of value for attribute xmlns:%s of %s is not valid\n",
4688 "Syntax of value for attribute xmlns of %s is not valid\n",
4699 "Value for attribute xmlns:%s of %s is different from default \"%s\"\n",
4703 "Value for attribute xmlns of %s is different from default \"%s\"\n",
4742 "Value \"%s\" for attribute xmlns:%s of %s is not a declared Notation\n",
4746 "Value \"%s\" for attribute xmlns of %s is not a declared Notation\n",
4760"Value \"%s\" for attribute xmlns:%s of %s is not among the enumerated notations\n",
4764"Value \"%s\" for attribute xmlns of %s is not among the enumerated notations\n",
4781"Value \"%s\" for attribute xmlns:%s of %s is not among the enumerated set\n",
4785"Value \"%s\" for attribute xmlns of %s is not among the enumerated set\n",
4793 if ((attrDecl->
def ==