summaryrefslogtreecommitdiff
path: root/ext/xml
diff options
context:
space:
mode:
authorChristian Stocker <chregu@php.net>2004-08-19 12:18:25 +0000
committerChristian Stocker <chregu@php.net>2004-08-19 12:18:25 +0000
commit5950725144f9314109eae739030b9519b656b46a (patch)
tree09c07ae7d5243d87125abded681f7e5cdc1cc88b /ext/xml
parentba75dd7877c69306799fa0501e8845c4cce8a718 (diff)
downloadphp-git-5950725144f9314109eae739030b9519b656b46a.tar.gz
fix for bug #29657 xml_* functions throw non descriptive error, compared to php4
fix for bug #29711 libxml and non iso-8859-1. If no encoding specified, it defaults to UTF-8 now
Diffstat (limited to 'ext/xml')
-rw-r--r--ext/xml/compat.c128
-rw-r--r--ext/xml/xml.c4
2 files changed, 66 insertions, 66 deletions
diff --git a/ext/xml/compat.c b/ext/xml/compat.c
index 396393ee51..a5797ad37d 100644
--- a/ext/xml/compat.c
+++ b/ext/xml/compat.c
@@ -463,9 +463,9 @@ const XML_Char *error_mapping[] = {
"No error",
"Internal error",
"No memory",
- "XML_ERR_DOCUMENT_START",
+ "Invalid document start",
"Empty document",
- "XML_ERR_DOCUMENT_END",
+ "Invalid document end",
"Invalid hexadecimal character reference",
"Invalid decimal character reference",
"Invalid character reference",
@@ -478,14 +478,14 @@ const XML_Char *error_mapping[] = {
"XML_ERR_ENTITYREF_IN_PROLOG",
"XML_ERR_ENTITYREF_IN_EPILOG",
"XML_ERR_ENTITYREF_IN_DTD",
- "XML_ERR_PEREF_AT_EOF",
- "XML_ERR_PEREF_IN_PROLOG",
- "XML_ERR_PEREF_IN_EPILOG",
- "XML_ERR_PEREF_IN_INT_SUBSET",
+ "PEReference at end of document",
+ "PEReference in prolog",
+ "PEReference in epilog",
+ "PEReference: forbidden within markup decl in internal subset",
"XML_ERR_ENTITYREF_NO_NAME",
- "XML_ERR_ENTITYREF_SEMICOL_MISSING",
- "XML_ERR_PEREF_NO_NAME",
- "XML_ERR_PEREF_SEMICOL_MISSING",
+ "EntityRef: expecting ';'",
+ "PEReference: no name",
+ "PEReference: expecting ';'",
"Undeclared entity error",
"Undeclared entity warning",
"Unparsed Entity",
@@ -493,82 +493,82 @@ const XML_Char *error_mapping[] = {
"XML_ERR_ENTITY_IS_PARAMETER",
"Unknown encoding",
"Unsupported encoding",
- "XML_ERR_STRING_NOT_STARTED",
- "XML_ERR_STRING_NOT_CLOSED",
+ "String not started expecting ' or \"",
+ "String not closed expecting \" or '",
"Namespace declaration error",
- "XML_ERR_ENTITY_NOT_STARTED",
- "XML_ERR_ENTITY_NOT_FINISHED",
- "XML_ERR_LT_IN_ATTRIBUTE",
- "XML_ERR_ATTRIBUTE_NOT_STARTED",
- "XML_ERR_ATTRIBUTE_NOT_FINISHED",
- "XML_ERR_ATTRIBUTE_WITHOUT_VALUE",
- "XML_ERR_ATTRIBUTE_REDEFINED",
- "XML_ERR_LITERAL_NOT_STARTED",
- "XML_ERR_LITERAL_NOT_FINISHED",
+ "EntityValue: \" or ' expected",
+ "EntityValue: \" or ' expected",
+ "< in attribute",
+ "Attribute not started",
+ "Attribute not finished",
+ "Attribute without value",
+ "Attribute redefined",
+ "SystemLiteral \" or ' expected",
+ "SystemLiteral \" or ' expected",
/* "XML_ERR_COMMENT_NOT_STARTED", <= eliminated on purpose */
- "XML_ERR_COMMENT_NOT_FINISHED",
- "XML_ERR_PI_NOT_STARTED",
- "XML_ERR_PI_NOT_FINISHED",
- "XML_ERR_NOTATION_NOT_STARTED",
- "XML_ERR_NOTATION_NOT_FINISHED",
- "XML_ERR_ATTLIST_NOT_STARTED",
- "XML_ERR_ATTLIST_NOT_FINISHED",
- "XML_ERR_MIXED_NOT_STARTED",
+ "Comment not finished",
+ "Processing Instruction not started",
+ "Processing Instruction not finished",
+ "NOTATION: Name expected here",
+ "'>' required to close NOTATION declaration",
+ "'(' required to start ATTLIST enumeration",
+ "'(' required to start ATTLIST enumeration",
+ "MixedContentDecl : '|' or ')*' expected",
"XML_ERR_MIXED_NOT_FINISHED",
- "XML_ERR_ELEMCONTENT_NOT_STARTED",
- "XML_ERR_ELEMCONTENT_NOT_FINISHED",
- "XML_ERR_XMLDECL_NOT_STARTED",
- "XML_ERR_XMLDECL_NOT_FINISHED",
+ "ELEMENT in DTD not started",
+ "ELEMENT in DTD not finished",
+ "XML declaration not started",
+ "XML declaration not finished",
"XML_ERR_CONDSEC_NOT_STARTED",
- "XML_ERR_CONDSEC_NOT_FINISHED",
- "XML_ERR_EXT_SUBSET_NOT_FINISHED",
- "XML_ERR_DOCTYPE_NOT_FINISHED",
- "XML_ERR_MISPLACED_CDATA_END",
- "XML_ERR_CDATA_NOT_FINISHED",
- "XML_ERR_RESERVED_XML_NAME",
- "XML_ERR_SPACE_REQUIRED",
+ "XML conditional section not closed",
+ "Content error in the external subset",
+ "DOCTYPE not finished",
+ "Sequence ']]>' not allowed in content",
+ "CDATA not finished",
+ "Reserved XML Name",
+ "Space required",
"XML_ERR_SEPARATOR_REQUIRED",
- "XML_ERR_NMTOKEN_REQUIRED",
+ "NmToken expected in ATTLIST enumeration",
"XML_ERR_NAME_REQUIRED",
- "XML_ERR_PCDATA_REQUIRED",
- "XML_ERR_URI_REQUIRED",
- "XML_ERR_PUBID_REQUIRED",
- "XML_ERR_LT_REQUIRED",
- "XML_ERR_GT_REQUIRED",
- "XML_ERR_LTSLASH_REQUIRED",
- "XML_ERR_EQUAL_REQUIRED",
- "XML_ERR_TAG_NAME_MISMATCH",
- "XML_ERR_TAG_NOT_FINISHED",
- "XML_ERR_STANDALONE_VALUE",
- "XML_ERR_ENCODING_NAME",
- "XML_ERR_HYPHEN_IN_COMMENT",
+ "MixedContentDecl : '#PCDATA' expected",
+ "SYSTEM or PUBLIC, the URI is missing",
+ "PUBLIC, the Public Identifier is missing",
+ "< required",
+ "> required",
+ "</ required",
+ "= required",
+ "Mismatched tag",
+ "Tag not finished",
+ "standalone accepts only 'yes' or 'no'",
+ "Invalid XML encoding name",
+ "Comment must not contain '--' (double-hyphen)",
"Invalid encoding",
- "XML_ERR_EXT_ENTITY_STANDALONE",
- "XML_ERR_CONDSEC_INVALID",
- "XML_ERR_VALUE_REQUIRED",
- "XML_ERR_NOT_WELL_BALANCED",
- "XML_ERR_EXTRA_CONTENT",
+ "external parsed entities cannot be standalone",
+ "XML conditional section '[' expected",
+ "Entity value required",
+ "chunk is not well balanced",
+ "extra content at the end of well balanced chunk",
"XML_ERR_ENTITY_CHAR_ERROR",
- "XML_ERR_ENTITY_PE_INTERNAL",
- "XML_ERR_ENTITY_LOOP",
+ "PEReferences forbidden in internal subset",
+ "Detected an entity reference loop",
"XML_ERR_ENTITY_BOUNDARY",
"Invalid URI",
- "XML_ERR_URI_FRAGMENT",
+ "Fragment not allowed",
"XML_WAR_CATALOG_PI",
"XML_ERR_NO_DTD",
- "XML_ERR_CONDSEC_INVALID_KEYWORD", /* 95 */
- "XML_ERR_VERSION_MISSING", /* 96 */
+ "conditional section INCLUDE or IGNORE keyword expected", /* 95 */
+ "Version in XML Declaration missing", /* 96 */
"XML_WAR_UNKNOWN_VERSION", /* 97 */
"XML_WAR_LANG_VALUE", /* 98 */
"XML_WAR_NS_URI", /* 99 */
"XML_WAR_NS_URI_RELATIVE", /* 100 */
- "XML_ERR_MISSING_ENCODING" /* 101 */
+ "Missing encoding in text declaration" /* 101 */
};
PHPAPI const XML_Char *
XML_ErrorString(int code)
{
- if (code < 0 || code >= (int)sizeof(error_mapping)) {
+ if (code < 0 || code >= (int)(sizeof(error_mapping) / sizeof(error_mapping[0]))) {
return "Unknown";
}
return error_mapping[code];
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index f17601f8eb..fba42e2e71 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -176,7 +176,7 @@ static int le_xml_parser;
#ifdef ZTS
static void php_xml_init_globals(php_xml_globals *xml_globals_p TSRMLS_DC)
{
- XML(default_encoding) = "ISO-8859-1";
+ XML(default_encoding) = "UTF-8";
}
#endif
@@ -204,7 +204,7 @@ PHP_MINIT_FUNCTION(xml)
#ifdef ZTS
ts_allocate_id(&xml_globals_id, sizeof(php_xml_globals), (ts_allocate_ctor) php_xml_init_globals, NULL);
#else
- XML(default_encoding) = "ISO-8859-1";
+ XML(default_encoding) = "UTF-8";
#endif
REGISTER_LONG_CONSTANT("XML_ERROR_NONE", XML_ERROR_NONE, CONST_CS|CONST_PERSISTENT);