Unix/Linux Go Back    

CentOS 7.0 - man page for xml::libxml::error (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

XML::LibXML::Error(3)	       User Contributed Perl Documentation	    XML::LibXML::Error(3)

       XML::LibXML::Error - Structured Errors

	 eval { ... };
		 if (ref($@)) {
		   # handle a structured error (XML::LibXML::Error object)
		 } elsif ($@) {
		   # error, but not an XML::LibXML::Error object
		 } else {
		   # no error

	 $message = $@->as_string();
	 print $@->dump();
	 $error_domain = $@->domain();
	 $error_code = $@->code();
	 $error_message = $@->message();
	 $error_level = $@->level();
	 $filename = $@->file();
	 $line = $@->line();
	 $nodename = $@->nodename();
	 $error_str1 = $@->str1();
	 $error_str2 = $@->str2();
	 $error_str3 = $@->str3();
	 $error_num1 = $@->num1();
	 $error_num2 = $@->num2();
	 $string = $@->context();
	 $offset = $@->column();
	 $previous_error = $@->_prev();

       The XML::LibXML::Error class is a tiny frontend to libxml2's structured error support. If
       XML::LibXML is compiled with structured error support, all errors reported by libxml2 are
       transformed to XML::LibXML::Error objects. These objects automatically serialize to the
       corresponding error messages when printed or used in a string operation, but as objects,
       can also be used to get a detailed and structured information about the error that

       Unlike most other XML::LibXML objects, XML::LibXML::Error doesn't wrap an underlying
       libxml2 structure directly, but rather transforms it to a blessed Perl hash reference
       containing the individual fields of the structured error information as hash key-value
       pairs. Individual items (fields) of a structured error can either be obtained directly as
       $@->{field}, or using autoloaded methods such as as $@->field() (where field is the field
       name). XML::LibXML::Error objects have the following fields: domain, code, level, file,
       line, nodename, message, str1, str2, str3, num1, num2, and _prev (some of them may be


	   Traditionally, XML::LibXML was suppressing parser warnings by setting libxml2's global
	   variable xmlGetWarningsDefaultValue to 0. Since 1.70 we do not change libxml2's global
	   variables anymore; for backward compatibility, XML::LibXML suppresses warnings. This
	   variable can be set to 1 to enable reporting of these warnings via Perl "warn" and to
	   2 to report hem via "die".

	     $message = $@->as_string();

	   This function serializes an XML::LibXML::Error object to a string containing the full
	   error message close to the message produced by libxml2 default error handlers and
	   tools like xmllint. This method is also used to overload "" operator on
	   XML::LibXML::Error, so it is automatically called whenever XML::LibXML::Error object
	   is treated as a string (e.g. in print $@).

	     print $@->dump();

	   This function serializes an XML::LibXML::Error to a string displaying all fields of
	   the error structure individually on separate lines of the form 'name' => 'value'.

	     $error_domain = $@->domain();

	   Returns string containing information about what part of the library raised the error.
	   Can be one of: "parser", "tree", "namespace", "validity", "HTML parser", "memory",
	   "output", "I/O", "ftp", "http", "XInclude", "XPath", "xpointer", "regexp", "Schemas
	   datatype", "Schemas parser", "Schemas validity", "Relax-NG parser", "Relax-NG
	   validity", "Catalog", "C14N", "XSLT", "validity".

	     $error_code = $@->code();

	   Returns the actual libxml2 error code. The XML::LibXML::ErrNo module defines constants
	   for individual error codes. Currently libxml2 uses over 480 different error codes.

	     $error_message = $@->message();

	   Returns a human-readable informative error message.

	     $error_level = $@->level();

	   Returns an integer value describing how consequent is the error.  XML::LibXML::Error
	   defines the following constants:

	   o   XML_ERR_NONE = 0

	   o   XML_ERR_WARNING = 1 : A simple warning.

	   o   XML_ERR_ERROR = 2 : A recoverable error.

	   o   XML_ERR_FATAL = 3 : A fatal error.

	     $filename = $@->file();

	   Returns the filename of the file being processed while the error occurred.

	     $line = $@->line();

	   The line number, if available.

	     $nodename = $@->nodename();

	   Name of the node where error occurred, if available. When this field is non-empty,
	   libxml2 actually returned a physical pointer to the specified node.	Due to memory
	   management issues, it is very difficult to implement a way to expose the pointer to
	   the Perl level as a XML::LibXML::Node. For this reason, XML::LibXML::Error currently
	   only exposes the name the node.

	     $error_str1 = $@->str1();

	   Error specific. Extra string information.

	     $error_str2 = $@->str2();

	   Error specific. Extra string information.

	     $error_str3 = $@->str3();

	   Error specific. Extra string information.

	     $error_num1 = $@->num1();

	   Error specific. Extra numeric information.

	     $error_num2 = $@->num2();

	   In recent libxml2 versions, this value contains a column number of the error or 0 if

	     $string = $@->context();

	   For parsing errors, this field contains about 80 characters of the XML near the place
	   where the error occurred. The field "$@->column()" contains the corresponding offset.
	   Where N/A, the field is undefined.

	     $offset = $@->column();

	   See "$@->column()" above.

	     $previous_error = $@->_prev();

	   This field can possibly hold a reference to another XML::LibXML::Error object
	   representing an error which occurred just before this error.

       Matt Sergeant, Christian Glahn, Petr Pajas


       2001-2007, AxKit.com Ltd.

       2002-2006, Christian Glahn.

       2006-2009, Petr Pajas.

perl v5.16.3				    2013-05-13			    XML::LibXML::Error(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 04:48 AM.