[Lxml-checkins] r51539 - in lxml/trunk: . doc src/lxml

scoder at codespeak.net scoder at codespeak.net
Fri Feb 15 15:15:22 CET 2008


Author: scoder
Date: Fri Feb 15 15:15:21 2008
New Revision: 51539

Modified:
   lxml/trunk/   (props changed)
   lxml/trunk/CHANGES.txt
   lxml/trunk/doc/validation.txt
   lxml/trunk/src/lxml/xmlerror.pxd
   lxml/trunk/src/lxml/xmlerror.pxi
Log:
 r3526 at delle:  sbehnel | 2008-02-15 15:12:34 +0100
 error type constants of XPath errors and XML Schema errors are not needed


Modified: lxml/trunk/CHANGES.txt
==============================================================================
--- lxml/trunk/CHANGES.txt	(original)
+++ lxml/trunk/CHANGES.txt	Fri Feb 15 15:15:21 2008
@@ -11,6 +11,8 @@
 Bugs fixed
 ----------
 
+* Error type names in RelaxNG were reported incorrectly.
+
 * Slice deletion bug fixed in objectify.
 
 Other changes

Modified: lxml/trunk/doc/validation.txt
==============================================================================
--- lxml/trunk/doc/validation.txt	(original)
+++ lxml/trunk/doc/validation.txt	Fri Feb 15 15:15:21 2008
@@ -182,14 +182,23 @@
 
   >>> log = relaxng.error_log
   >>> print log.last_error
-  <string>:1:0:ERROR:RELAXNGV:ERR_LT_IN_ATTRIBUTE: Did not expect element c there
+  <string>:1:0:ERROR:RELAXNGV:RELAXNG_ERR_ELEMWRONG: Did not expect element c there
 
 You can see that the error (ERROR) happened during RelaxNG validation
-(RELAXNGV).  The message then tells you what went wrong.  Note that this error
-log is local to the RelaxNG object.  It will only contain log entries that
-appeared during the validation.  The DocumentInvalid exception raised by the
-``assertValid`` method above provides access to the global error log (like all
-other lxml exceptions).
+(RELAXNGV).  The message then tells you what went wrong.  You can also
+look at the error domain and its type directly::
+
+  >>> error = log.last_error
+  >>> print error.domain_name
+  RELAXNGV
+  >>> print error.type_name
+  RELAXNG_ERR_ELEMWRONG
+
+Note that this error log is local to the RelaxNG object.  It will only
+contain log entries that appeared during the validation.  The
+DocumentInvalid exception raised by the ``assertValid`` method above
+provides access to the global error log (like all other lxml
+exceptions).
 
 Similar to XSLT, there's also a less efficient but easier shortcut method to
 do one-shot RelaxNG validation::

Modified: lxml/trunk/src/lxml/xmlerror.pxd
==============================================================================
--- lxml/trunk/src/lxml/xmlerror.pxd	(original)
+++ lxml/trunk/src/lxml/xmlerror.pxd	Fri Feb 15 15:15:21 2008
@@ -768,59 +768,6 @@
         XML_CHECK_                                         =    6005 # 5033
         XML_CHECK_X                                        =    6006 # 503
 
-    ctypedef enum xmlXPathError:
-        XPATH_EXPRESSION_OK                                =       0
-        XPATH_NUMBER_ERROR                                 =       1
-        XPATH_UNFINISHED_LITERAL_ERROR                     =       2
-        XPATH_START_LITERAL_ERROR                          =       3
-        XPATH_VARIABLE_REF_ERROR                           =       4
-        XPATH_UNDEF_VARIABLE_ERROR                         =       5
-        XPATH_INVALID_PREDICATE_ERROR                      =       6
-        XPATH_EXPR_ERROR                                   =       7
-        XPATH_UNCLOSED_ERROR                               =       8
-        XPATH_UNKNOWN_FUNC_ERROR                           =       9
-        XPATH_INVALID_OPERAND                              =      10
-        XPATH_INVALID_TYPE                                 =      11
-        XPATH_INVALID_ARITY                                =      12
-        XPATH_INVALID_CTXT_SIZE                            =      13
-        XPATH_INVALID_CTXT_POSITION                        =      14
-        XPATH_MEMORY_ERROR                                 =      15
-        XPTR_SYNTAX_ERROR                                  =      16
-        XPTR_RESOURCE_ERROR                                =      17
-        XPTR_SUB_RESOURCE_ERROR                            =      18
-        XPATH_UNDEF_PREFIX_ERROR                           =      19
-        XPATH_ENCODING_ERROR                               =      20
-        XPATH_INVALID_CHAR_ERROR                           =      21
-        XPATH_INVALID_CTXT                                 =      22
-
-    ctypedef enum xmlSchemaValidError:
-        XML_SCHEMAS_ERR_OK                                 =       0
-        XML_SCHEMAS_ERR_NOROOT                             =       1
-        XML_SCHEMAS_ERR_UNDECLAREDELEM                     =       2
-        XML_SCHEMAS_ERR_NOTTOPLEVEL                        =       3
-        XML_SCHEMAS_ERR_MISSING                            =       4
-        XML_SCHEMAS_ERR_WRONGELEM                          =       5
-        XML_SCHEMAS_ERR_NOTYPE                             =       6
-        XML_SCHEMAS_ERR_NOROLLBACK                         =       7
-        XML_SCHEMAS_ERR_ISABSTRACT                         =       8
-        XML_SCHEMAS_ERR_NOTEMPTY                           =       9
-        XML_SCHEMAS_ERR_ELEMCONT                           =      10
-        XML_SCHEMAS_ERR_HAVEDEFAULT                        =      11
-        XML_SCHEMAS_ERR_NOTNILLABLE                        =      12
-        XML_SCHEMAS_ERR_EXTRACONTENT                       =      13
-        XML_SCHEMAS_ERR_INVALIDATTR                        =      14
-        XML_SCHEMAS_ERR_INVALIDELEM                        =      15
-        XML_SCHEMAS_ERR_NOTDETERMINIST                     =      16
-        XML_SCHEMAS_ERR_CONSTRUCT                          =      17
-        XML_SCHEMAS_ERR_INTERNAL                           =      18
-        XML_SCHEMAS_ERR_NOTSIMPLE                          =      19
-        XML_SCHEMAS_ERR_ATTRUNKNOWN                        =      20
-        XML_SCHEMAS_ERR_ATTRINVALID                        =      21
-        XML_SCHEMAS_ERR_VALUE                              =      22
-        XML_SCHEMAS_ERR_FACET                              =      23
-        XML_SCHEMAS_ERR_                                   =      24
-        XML_SCHEMAS_ERR_XXX                                =      25
-
     ctypedef enum xmlRelaxNGValidErr:
         XML_RELAXNG_OK                                     =       0
         XML_RELAXNG_ERR_MEMORY                             =       1

Modified: lxml/trunk/src/lxml/xmlerror.pxi
==============================================================================
--- lxml/trunk/src/lxml/xmlerror.pxi	(original)
+++ lxml/trunk/src/lxml/xmlerror.pxi	Fri Feb 15 15:15:21 2008
@@ -88,7 +88,11 @@
 
     property type_name:
         def __get__(self):
-            return ErrorTypes._getName(self.type, "unknown")
+            if self.domain == ErrorDomains.RELAXNGV:
+                getName = RelaxNGErrorTypes._getName
+            else:
+                getName = ErrorTypes._getName
+            return getName(self.type, "unknown")
 
     property level_name:
         def __get__(self):
@@ -526,8 +530,6 @@
     const_defs = ((ErrorLevels,          __ERROR_LEVELS),
                   (ErrorDomains,         __ERROR_DOMAINS),
                   (ErrorTypes,           __PARSER_ERROR_TYPES),
-                  (XPathErrorTypes,      __XPATH_ERROR_TYPES),
-                  (XMLSchemaErrorTypes,  __XMLSCHEMA_ERROR_TYPES),
                   (RelaxNGErrorTypes,    __RELAXNG_ERROR_TYPES))
     for cls, constant_tuple in const_defs:
         reverse_dict = {}
@@ -540,6 +542,7 @@
                 python.PyObject_SetAttr(cls, name, value)
                 python.PyDict_SetItem(reverse_dict, value, name)
 
+
 class ErrorLevels:
     "Libxml2 error levels"
 
@@ -549,12 +552,6 @@
 class ErrorTypes:
     "Libxml2 error types"
 
-class XPathErrorTypes:
-    "Libxml2 XPath error types"
-
-class XMLSchemaErrorTypes:
-    "Libxml2 XML Schema error types"
-
 class RelaxNGErrorTypes:
     "Libxml2 RelaxNG error types"
 
@@ -1356,63 +1353,6 @@
 CHECK_X=6006
 """,)
 
-cdef object __XPATH_ERROR_TYPES
-__XPATH_ERROR_TYPES = ("""\
-XPATH_EXPRESSION_OK=0
-XPATH_NUMBER_ERROR=1
-XPATH_UNFINISHED_LITERAL_ERROR=2
-XPATH_START_LITERAL_ERROR=3
-XPATH_VARIABLE_REF_ERROR=4
-XPATH_UNDEF_VARIABLE_ERROR=5
-XPATH_INVALID_PREDICATE_ERROR=6
-XPATH_EXPR_ERROR=7
-XPATH_UNCLOSED_ERROR=8
-XPATH_UNKNOWN_FUNC_ERROR=9
-XPATH_INVALID_OPERAND=10
-XPATH_INVALID_TYPE=11
-XPATH_INVALID_ARITY=12
-XPATH_INVALID_CTXT_SIZE=13
-XPATH_INVALID_CTXT_POSITION=14
-XPATH_MEMORY_ERROR=15
-XPTR_SYNTAX_ERROR=16
-XPTR_RESOURCE_ERROR=17
-XPTR_SUB_RESOURCE_ERROR=18
-XPATH_UNDEF_PREFIX_ERROR=19
-XPATH_ENCODING_ERROR=20
-XPATH_INVALID_CHAR_ERROR=21
-XPATH_INVALID_CTXT=22
-""",)
-
-cdef object __XMLSCHEMA_ERROR_TYPES
-__XMLSCHEMA_ERROR_TYPES = ("""\
-SCHEMAS_ERR_OK=0
-SCHEMAS_ERR_NOROOT=1
-SCHEMAS_ERR_UNDECLAREDELEM=2
-SCHEMAS_ERR_NOTTOPLEVEL=3
-SCHEMAS_ERR_MISSING=4
-SCHEMAS_ERR_WRONGELEM=5
-SCHEMAS_ERR_NOTYPE=6
-SCHEMAS_ERR_NOROLLBACK=7
-SCHEMAS_ERR_ISABSTRACT=8
-SCHEMAS_ERR_NOTEMPTY=9
-SCHEMAS_ERR_ELEMCONT=10
-SCHEMAS_ERR_HAVEDEFAULT=11
-SCHEMAS_ERR_NOTNILLABLE=12
-SCHEMAS_ERR_EXTRACONTENT=13
-SCHEMAS_ERR_INVALIDATTR=14
-SCHEMAS_ERR_INVALIDELEM=15
-SCHEMAS_ERR_NOTDETERMINIST=16
-SCHEMAS_ERR_CONSTRUCT=17
-SCHEMAS_ERR_INTERNAL=18
-SCHEMAS_ERR_NOTSIMPLE=19
-SCHEMAS_ERR_ATTRUNKNOWN=20
-SCHEMAS_ERR_ATTRINVALID=21
-SCHEMAS_ERR_VALUE=22
-SCHEMAS_ERR_FACET=23
-SCHEMAS_ERR_=24
-SCHEMAS_ERR_XXX=25
-""",)
-
 cdef object __RELAXNG_ERROR_TYPES
 __RELAXNG_ERROR_TYPES = ("""\
 RELAXNG_OK=0


More information about the lxml-checkins mailing list