[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