--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/xmllibxml2parser/src/xmlengsaxpluginerror.h Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,176 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Sax error maping functions.
+//
+
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+#ifndef XMLENGSAXPLUGINERROR_H
+#define XMLENGSAXPLUGINERROR_H
+
+LOCAL_C const TInt KErrorArrayGeneralMapSize = 101;
+LOCAL_C const TInt KErrorArrayGeneralMapOffset = 0;
+
+LOCAL_C const TInt KErrorArrayGenMap[] =
+ {
+ KErrNone, /* 0 XML_ERR_OK */
+ EXmlSyntax, /* 1 XML_ERR_INTERNAL_ERROR */
+ KErrNoMemory, /* 2 XML_ERR_NO_MEMORY */
+ EXmlSyntax, /* 3 XML_ERR_DOCUMENT_START */
+ EXmlNoElements, /* 4 XML_ERR_DOCUMENT_EMPTY */
+ EXmlJunkAfterDocElement, /* 5 XML_ERR_DOCUMENT_END */
+ EXmlBadCharRef, /* 6 XML_ERR_INVALID_HEX_CHARREF */
+ EXmlBadCharRef, /* 7 XML_ERR_INVALID_DEC_CHARREF */
+ EXmlBadCharRef, /* 8 XML_ERR_INVALID_CHARREF */
+ EXmlInvalidToken, /* 9 XML_ERR_INVALID_CHAR */
+ EXmlSyntax, /* 10 XML_ERR_CHARREF_AT_EOF */
+ EXmlSyntax, /* 11 XML_ERR_CHARREF_IN_PROLOG */
+ EXmlSyntax, /* 12 XML_ERR_CHARREF_IN_EPILOG */
+ EXmlSyntax, /* 13 XML_ERR_CHARREF_IN_DTD */
+ EXmlSyntax, /* 14 XML_ERR_ENTITYREF_AT_EOF */
+ EXmlSyntax, /* 15 XML_ERR_ENTITYREF_IN_PROLOG */
+ EXmlSyntax, /* 16 XML_ERR_ENTITYREF_IN_EPILOG */
+ EXmlSyntax, /* 17 XML_ERR_ENTITYREF_IN_DTD */
+ EXmlSyntax, /* 18 XML_ERR_PEREF_AT_EOF */
+ EXmlSyntax, /* 19 XML_ERR_PEREF_IN_PROLOG */
+ EXmlSyntax, /* 20 XML_ERR_PEREF_IN_EPILOG */
+ EXmlSyntax, /* 21 XML_ERR_PEREF_IN_INT_SUBSET */
+ EXmlInvalidToken, /* 22 XML_ERR_ENTITYREF_NO_NAME */
+ EXmlInvalidToken, /* 23 XML_ERR_ENTITYREF_SEMICOL_MISSING */
+ EXmlInvalidToken, /* 24 XML_ERR_PEREF_NO_NAME */
+ EXmlInvalidToken, /* 25 XML_ERR_PEREF_SEMICOL_MISSING */
+ EXmlUndefinedEntity, /* 26 XML_ERR_UNDECLARED_ENTITY */
+ KErrNone, /* 27 XML_WAR_UNDECLARED_ENTITY */
+ EXmlSyntax, /* 28 XML_ERR_UNPARSED_ENTITY */
+ EXmlSyntax, /* 29 XML_ERR_ENTITY_IS_EXTERNAL */
+ EXmlSyntax, /* 30 XML_ERR_ENTITY_IS_PARAMETER */
+ EXmlUnknownEncoding, /* 31 XML_ERR_UNKNOWN_ENCODING */
+ EXmlIncorrectEncoding, /* 32 XML_ERR_UNSUPPORTED_ENCODING */
+ EXmlSyntax, /* 33 XML_ERR_STRING_NOT_STARTED */
+ EXmlSyntax, /* 34 XML_ERR_STRING_NOT_CLOSED */
+ EXmlSyntax, /* 35 XML_ERR_NS_DECL_ERROR */
+ EXmlInvalidToken, /* 36 XML_ERR_ENTITY_NOT_STARTED */
+ EXmlUnclosedToken, /* 37 XML_ERR_ENTITY_NOT_FINISHED */
+ EXmlInvalidToken, /* 38 XML_ERR_LT_IN_ATTRIBUTE */
+ EXmlInvalidToken, /* 39 XML_ERR_ATTRIBUTE_NOT_STARTED */
+ EXmlUnclosedToken, /* 40 XML_ERR_ATTRIBUTE_NOT_FINISHED */
+ EXmlInvalidToken, /* 41 XML_ERR_ATTRIBUTE_WITHOUT_VALUE */
+ EXmlDuplicateAttribute, /* 42 XML_ERR_ATTRIBUTE_REDEFINED */
+ EXmlInvalidToken, /* 43 XML_ERR_LITERAL_NOT_STARTED */
+ EXmlUnclosedToken, /* 44 XML_ERR_LITERAL_NOT_FINISHED */
+ EXmlUnclosedToken, /* 45 XML_ERR_COMMENT_NOT_FINISHED */
+ EXmlInvalidToken, /* 46 XML_ERR_PI_NOT_STARTED */
+ EXmlUnclosedToken, /* 47 XML_ERR_PI_NOT_FINISHED */
+ EXmlInvalidToken, /* 48 XML_ERR_NOTATION_NOT_STARTED */
+ EXmlUnclosedToken, /* 49 XML_ERR_NOTATION_NOT_FINISHED */
+ EXmlSyntax, /* 50 XML_ERR_ATTLIST_NOT_STARTED */
+ EXmlUnclosedToken, /* 51 XML_ERR_ATTLIST_NOT_FINISHED */
+ EXmlInvalidToken, /* 52 XML_ERR_MIXED_NOT_STARTED */
+ EXmlUnclosedToken, /* 53 XML_ERR_MIXED_NOT_FINISHED */
+ EXmlInvalidToken, /* 54 XML_ERR_ELEMCONTENT_NOT_STARTED */
+ EXmlUnclosedToken, /* 55 XML_ERR_ELEMCONTENT_NOT_FINISHED */
+ EXmlInvalidToken, /* 56 XML_ERR_XMLDECL_NOT_STARTED */
+ EXmlUnclosedToken, /* 57 XML_ERR_XMLDECL_NOT_FINISHED */
+ EXmlInvalidToken, /* 58 XML_ERR_CONDSEC_NOT_STARTED */
+ EXmlUnclosedToken, /* 59 XML_ERR_CONDSEC_NOT_FINISHED */
+ EXmlUnclosedToken, /* 60 XML_ERR_EXT_SUBSET_NOT_FINISHED */
+ EXmlSyntax, /* 61 XML_ERR_DOCTYPE_NOT_FINISHED */
+ EXmlInvalidToken, /* 62 XML_ERR_MISPLACED_CDATA_END */
+ EXmlUnclosedToken, /* 63 XML_ERR_CDATA_NOT_FINISHED */
+ EXmlSyntax, /* 64 XML_ERR_RESERVED_XML_NAME */
+ EXmlInvalidToken, /* 65 XML_ERR_SPACE_REQUIRED */
+ EXmlSyntax, /* 66 XML_ERR_SEPARATOR_REQUIRED */
+ EXmlSyntax, /* 67 XML_ERR_NMTOKEN_REQUIRED */
+ EXmlInvalidToken, /* 68 XML_ERR_NAME_REQUIRED */
+ EXmlSyntax, /* 69 XML_ERR_PCDATA_REQUIRED */
+ EXmlSyntax, /* 70 XML_ERR_URI_REQUIRED */
+ EXmlSyntax, /* 71 XML_ERR_PUBID_REQUIRED */
+ EXmlInvalidToken, /* 72 XML_ERR_LT_REQUIRED */
+ EXmlInvalidToken, /* 73 XML_ERR_GT_REQUIRED */
+ EXmlSyntax, /* 74 XML_ERR_LTSLASH_REQUIRED */
+ EXmlSyntax, /* 75 XML_ERR_EQUAL_REQUIRED */
+ EXmlTagMismatch, /* 76 XML_ERR_TAG_NAME_MISMATCH */
+ EXmlUnclosedToken, /* 77 XML_ERR_TAG_NOT_FINISHED */
+ EXmlSyntax, /* 78 XML_ERR_STANDALONE_VALUE */
+ EXmlSyntax, /* 79 XML_ERR_ENCODING_NAME */
+ EXmlInvalidToken, /* 80 XML_ERR_HYPHEN_IN_COMMENT */
+ EXmlSyntax, /* 81 XML_ERR_INVALID_ENCODING */
+ EXmlSyntax, /* 82 XML_ERR_EXT_ENTITY_STANDALONE */
+ EXmlSyntax, /* 83 XML_ERR_CONDSEC_INVALID */
+ EXmlSyntax, /* 84 XML_ERR_VALUE_REQUIRED */
+ EXmlSyntax, /* 85 XML_ERR_NOT_WELL_BALANCED */
+ EXmlSyntax, /* 86 XML_ERR_EXTRA_CONTENT */
+ EXmlSyntax, /* 87 XML_ERR_ENTITY_CHAR_ERROR */
+ EXmlSyntax, /* 88 XML_ERR_ENTITY_PE_INTERNAL */
+ EXmlRecursiveEntity, /* 89 XML_ERR_ENTITY_LOOP */
+ EXmlSyntax, /* 90 XML_ERR_ENTITY_BOUNDARY */
+ EXmlSyntax, /* 91 XML_ERR_INVALID_URI */
+ EXmlSyntax, /* 92 XML_ERR_URI_FRAGMENT */
+ KErrNone, /* 93 XML_WAR_CATALOG_PI */
+ EXmlSyntax, /* 94 XML_ERR_NO_DTD */
+ EXmlSyntax, /* 95 XML_ERR_CONDSEC_INVALID_KEYWORD */
+ EXmlSyntax, /* 96 XML_ERR_VERSION_MISSING */
+ KErrNone, /* 97 XML_WAR_UNKNOWN_VERSION */
+ KErrNone, /* 98 XML_WAR_LANG_VALUE */
+ KErrNone, /* 99 XML_WAR_NS_URI */
+ KErrNone, /* 100 XML_WAR_NS_URI_RELATIVE */
+ EXmlSyntax, /* 101 XML_ERR_MISSING_ENCODING */
+ };
+
+LOCAL_C const TInt KErrorArrayNSMapSize = 4;
+LOCAL_C const TInt KErrorArrayNSMapOffset = 200;
+
+LOCAL_C const TInt KErrorArrayNSMap[] =
+ {
+ EXmlSyntax, /* 200 XML_NS_ERR_XML_NAMESPACE */
+ EXmlSyntax, /* 201 XML_NS_ERR_UNDEFINED_NAMESPACE */
+ EXmlSyntax, /* 202 XML_NS_ERR_QNAME */
+ EXmlDuplicateAttribute, /* 203 XML_NS_ERR_ATTRIBUTE_REDEFINED */
+ };
+
+/**
+ * GetErrorNum:
+ * @param aString the string
+ *
+ * Mapping from libxml2 error to xml symbian error
+ */
+LOCAL_C TInt GetErrorNum(TInt errorNum)
+{
+ //symbian error
+ if (errorNum < 0)
+ {
+ return errorNum;
+ }
+ //general error mapping
+ else if (errorNum >= KErrorArrayGeneralMapOffset
+ && errorNum < KErrorArrayGeneralMapOffset + KErrorArrayGeneralMapSize)
+ {
+ return KErrorArrayGenMap[errorNum - KErrorArrayGeneralMapOffset];
+ }
+ //namespace error mapping
+ else if (errorNum >= KErrorArrayNSMapOffset
+ && errorNum < KErrorArrayNSMapOffset + KErrorArrayNSMapSize)
+ {
+ return KErrorArrayNSMap[errorNum - KErrorArrayNSMapOffset];
+ }
+ return EXmlSyntax;
+}
+
+#endif
+