cleanup fix a funny typo converted the Schemas code to the new error

* Makefile.am: cleanup
* encoding.c: fix a funny typo
* error.c xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h:
  converted the Schemas code to the new error handling. PITA,
  still need to check output from regression tests.
Daniel
This commit is contained in:
Daniel Veillard 2003-10-10 00:49:42 +00:00
parent e2238d5617
commit d0c9c32f64
7 changed files with 2631 additions and 2683 deletions

View File

@ -1,3 +1,11 @@
Fri Oct 10 02:47:22 CEST 2003 Daniel Veillard <daniel@veillard.com>
* Makefile.am: cleanup
* encoding.c: fix a funny typo
* error.c xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h:
converted the Schemas code to the new error handling. PITA,
still need to check output from regression tests.
Thu Oct 9 15:13:53 CEST 2003 Daniel Veillard <daniel@veillard.com>
* HTMLtree.c include/libxml/xmlerror.h: converted too

View File

@ -402,7 +402,6 @@ XPtrtests : testXPath$(EXEEXT)
XIncludetests : xmllint$(EXEEXT)
@(echo > .memdump)
@echo "## XInclude regression tests"
@echo "## the warning reported on fallback.xml test is expected"
-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
name=`basename $$i`; \
if [ ! -d $$i ] ; then \

View File

@ -1986,7 +1986,7 @@ xmlFindCharEncodingHandler(const char *name) {
}
/*
* If nothing was found and it is "UTF-16" then use the Little indian
* If nothing was found and it is "UTF-16" then use the Little endian
* version.
*/
if ((xmlStrEqual(BAD_CAST upper, BAD_CAST "UTF-16")) ||

View File

@ -310,14 +310,17 @@ xmlReportError(xmlErrorPtr err, xmlParserCtxtPtr ctxt, const char *str,
case XML_FROM_REGEXP:
channel(data, "regexp ");
break;
case XML_FROM_SCHEMAS:
channel(data, "Schemas ");
case XML_FROM_SCHEMASV:
channel(data, "Schemas validity");
break;
case XML_FROM_SCHEMASP:
channel(data, "Schemas parser");
break;
case XML_FROM_RELAXNGP:
channel(data, "Relax-NG parser ");
break;
case XML_FROM_RELAXNGV:
channel(data, "Relax-NG validaty ");
channel(data, "Relax-NG validity ");
break;
case XML_FROM_CATALOG:
channel(data, "Catalog ");

View File

@ -33,12 +33,14 @@ typedef enum {
XML_FROM_HTML, /* The HTML parser */
XML_FROM_MEMORY, /* The memory allocator */
XML_FROM_OUTPUT, /* The serialization code */
XML_FROM_IO, /* The Input/Output stack */
XML_FROM_IO, /* The Input/Output stack */
XML_FROM_XINCLUDE, /* The XInclude processing */
XML_FROM_XPATH, /* The XPath module */
XML_FROM_XPOINTER, /* The XPointer module */
XML_FROM_REGEXP, /* The regular expressions module */
XML_FROM_SCHEMAS, /* The W3C XML Schemas module */
XML_FROM_DATATYPE, /* The W3C XML Schemas Datatype module */
XML_FROM_SCHEMASP, /* The W3C XML Schemas parser module */
XML_FROM_SCHEMASV, /* The W3C XML Schemas validation module */
XML_FROM_RELAXNGP, /* The Relax-NG parser module */
XML_FROM_RELAXNGV, /* The Relax-NG validator module */
XML_FROM_CATALOG, /* The Catalog module */
@ -445,7 +447,97 @@ typedef enum {
XML_CATALOG_ENTRY_BROKEN, /* 1651 */
XML_CATALOG_PREFER_VALUE, /* 1652 */
XML_CATALOG_NOT_CATALOG, /* 1653 */
XML_CATALOG_RECURSION /* 1654 */
XML_CATALOG_RECURSION, /* 1654 */
XML_SCHEMAP_PREFIX_UNDEFINED = 1700,
XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */
XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */
XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */
XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */
XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */
XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */
XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */
XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */
XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */
XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */
XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */
XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */
XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */
XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */
XML_SCHEMAP_INVALID_ENUM, /* 1715 */
XML_SCHEMAP_INVALID_FACET, /* 1716 */
XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */
XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */
XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */
XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */
XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */
XML_SCHEMAP_NOATTR_NOREF, /* 1722 */
XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */
XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */
XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */
XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */
XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */
XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */
XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */
XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */
XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */
XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */
XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */
XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */
XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */
XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */
XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */
XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */
XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */
XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */
XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */
XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */
XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */
XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */
XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */
XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */
XML_SCHEMAP_UNKNOWN_REF, /* 1747 */
XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */
XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */
XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */
XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */
XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */
XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */
XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */
XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */
XML_SCHEMAP_REGEXP_INVALID, /* 1756 */
XML_SCHEMAP_FAILED_LOAD, /* 1756 */
XML_SCHEMAP_NOTHING_TO_PARSE, /* 1757 */
XML_SCHEMAP_NOROOT, /* 1758 */
XML_SCHEMAP_REDEFINED_GROUP, /* 1759 */
XML_SCHEMAP_REDEFINED_TYPE, /* 1760 */
XML_SCHEMAP_REDEFINED_ELEMENT, /* 1761 */
XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1762 */
XML_SCHEMAP_REDEFINED_ATTR, /* 1763 */
XML_SCHEMAP_REDEFINED_NOTATION, /* 1764 */
XML_SCHEMAP_FAILED_PARSE, /* 1765 */
XML_SCHEMAV_NOROOT = 1800,
XML_SCHEMAV_UNDECLAREDELEM, /* 1801 */
XML_SCHEMAV_NOTTOPLEVEL, /* 1802 */
XML_SCHEMAV_MISSING, /* 1803 */
XML_SCHEMAV_WRONGELEM, /* 1804 */
XML_SCHEMAV_NOTYPE, /* 1805 */
XML_SCHEMAV_NOROLLBACK, /* 1806 */
XML_SCHEMAV_ISABSTRACT, /* 1807 */
XML_SCHEMAV_NOTEMPTY, /* 1808 */
XML_SCHEMAV_ELEMCONT, /* 1809 */
XML_SCHEMAV_HAVEDEFAULT, /* 1810 */
XML_SCHEMAV_NOTNILLABLE, /* 1811 */
XML_SCHEMAV_EXTRACONTENT, /* 1812 */
XML_SCHEMAV_INVALIDATTR, /* 1813 */
XML_SCHEMAV_INVALIDELEM, /* 1814 */
XML_SCHEMAV_NOTDETERMINIST, /* 1815 */
XML_SCHEMAV_CONSTRUCT, /* 1816 */
XML_SCHEMAV_INTERNAL, /* 1817 */
XML_SCHEMAV_NOTSIMPLE, /* 1818 */
XML_SCHEMAV_ATTRUNKNOWN, /* 1819 */
XML_SCHEMAV_ATTRINVALID, /* 1820 */
XML_SCHEMAV_VALUE, /* 1821 */
XML_SCHEMAV_FACET /* 1822 */
} xmlParserErrors;
/**

File diff suppressed because it is too large Load Diff

View File

@ -222,6 +222,28 @@ static xmlSchemaTypePtr xmlSchemaTypeNotationDef = NULL;
static xmlSchemaTypePtr xmlSchemaTypeNmtokenDef = NULL;
static xmlSchemaTypePtr xmlSchemaTypeNmtokensDef = NULL;
/************************************************************************
* *
* Datatype error handlers *
* *
************************************************************************/
/**
* xmlSchemaTypeErrMemory:
* @extra: extra informations
*
* Handle an out of memory condition
*/
static void
xmlSchemaTypeErrMemory(xmlNodePtr node, const char *extra)
{
__xmlSimpleError(XML_FROM_DATATYPE, XML_ERR_NO_MEMORY, node, NULL, extra);
}
/************************************************************************
* *
* Base types support *
* *
************************************************************************/
/*
* xmlSchemaInitBasicType:
* @name: the type name
@ -235,8 +257,7 @@ xmlSchemaInitBasicType(const char *name, xmlSchemaValType type) {
ret = (xmlSchemaTypePtr) xmlMalloc(sizeof(xmlSchemaType));
if (ret == NULL) {
xmlGenericError(xmlGenericErrorContext,
"Could not initilize type %s: out of memory\n", name);
xmlSchemaTypeErrMemory(NULL, "could not initialize basic types");
return(NULL);
}
memset(ret, 0, sizeof(xmlSchemaType));
@ -1607,14 +1628,10 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
if (type == xmlSchemaTypeFloatDef) {
v = xmlSchemaNewValue(XML_SCHEMAS_FLOAT);
if (v != NULL) {
if (sscanf
((const char *) value, "%f",
if (sscanf((const char *) value, "%f",
&(v->value.f)) == 1) {
*val = v;
} else {
xmlGenericError(xmlGenericErrorContext,
"failed to scanf float %s\n",
value);
xmlSchemaFreeValue(v);
goto return1;
}
@ -1624,14 +1641,10 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
} else {
v = xmlSchemaNewValue(XML_SCHEMAS_DOUBLE);
if (v != NULL) {
if (sscanf
((const char *) value, "%lf",
if (sscanf((const char *) value, "%lf",
&(v->value.d)) == 1) {
*val = v;
} else {
xmlGenericError(xmlGenericErrorContext,
"failed to scanf double %s\n",
value);
xmlSchemaFreeValue(v);
goto return1;
}
@ -2008,6 +2021,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
cur = xmlStrdup(value);
if (cur == NULL) {
xmlSchemaTypeErrMemory(node, "allocating hexbin data");
xmlFree(v);
goto return1;
}
@ -2135,10 +2149,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
(xmlChar *) xmlMallocAtomic((i + pad + 1) *
sizeof(xmlChar));
if (base == NULL) {
xmlGenericError(xmlGenericErrorContext,
"malloc of %ld byte failed\n",
(i + pad +
1) * (long) sizeof(xmlChar));
xmlSchemaTypeErrMemory(node, "allocating base64 data");
xmlFree(v);
goto return1;
}