404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.149.254.35: ~ $
=head1 NAME

XML::LibXML::Error - Structured Errors

=head1 SYNOPSIS



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

  $XML::LibXML::Error::WARNINGS=1;
  $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();

=head1 DESCRIPTION

The XML::LibXML::Error class is a tiny frontend to I<<<<<< 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
occurred.

Unlike most other XML::LibXML objects, XML::LibXML::Error doesn't wrap an
underlying I<<<<<< 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
$@->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 undefined).

=over 4

=item $XML::LibXML::Error::WARNINGS

  $XML::LibXML::Error::WARNINGS=1;

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 C<<<<<< warn >>>>>> and to 2 to report hem via C<<<<<< die >>>>>>.


=item as_string

  $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 I<<<<<< 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 $@).


=item dump

  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'.


=item domain

  $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".


=item code

  $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.


=item message

  $error_message = $@->message();

Returns a human-readable informative error message.


=item level

  $error_level = $@->level();

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


=over 4

=item *

XML_ERR_NONE = 0



=item *

XML_ERR_WARNING = 1 : A simple warning.



=item *

XML_ERR_ERROR = 2 : A recoverable error.



=item *

XML_ERR_FATAL = 3 : A fatal error.



=back


=item file

  $filename = $@->file();

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


=item line

  $line = $@->line();

The line number, if available.


=item nodename

  $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.


=item str1

  $error_str1 = $@->str1();

Error specific. Extra string information.


=item str2

  $error_str2 = $@->str2();

Error specific. Extra string information.


=item str3

  $error_str3 = $@->str3();

Error specific. Extra string information.


=item num1

  $error_num1 = $@->num1();

Error specific. Extra numeric information.


=item num2

  $error_num2 = $@->num2();

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


=item context

  $string = $@->context();

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


=item column

  $offset = $@->column();

See C<<<<<< $@-E<gt>column() >>>>>> above.


=item _prev

  $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.



=back

=head1 AUTHORS

Matt Sergeant,
Christian Glahn,
Petr Pajas


=head1 VERSION

2.0210

=head1 COPYRIGHT

2001-2007, AxKit.com Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.

=cut


=head1 LICENSE

This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.


Filemanager

Name Type Size Permission Actions
SAX Folder 0755
Attr.pod File 4.02 KB 0444
AttributeHash.pm File 4.49 KB 0444
Boolean.pm File 1.56 KB 0444
CDATASection.pod File 1.28 KB 0444
Comment.pod File 1.36 KB 0444
Common.pm File 8.2 KB 0444
Common.pod File 3.59 KB 0444
DOM.pod File 6.23 KB 0444
Devel.pm File 4.91 KB 0444
Document.pod File 21.09 KB 0444
DocumentFragment.pod File 819 B 0444
Dtd.pod File 1.99 KB 0444
Element.pod File 13.48 KB 0444
ErrNo.pm File 27.83 KB 0444
ErrNo.pod File 591 B 0444
Error.pm File 8.45 KB 0444
Error.pod File 5.98 KB 0444
InputCallback.pod File 9.59 KB 0444
Literal.pm File 2.04 KB 0444
Namespace.pod File 3.28 KB 0444
Node.pod File 25.67 KB 0444
NodeList.pm File 7.31 KB 0444
Number.pm File 1.87 KB 0444
PI.pod File 2.22 KB 0444
Parser.pod File 27.79 KB 0444
Pattern.pod File 2.91 KB 0444
Reader.pm File 5.75 KB 0444
Reader.pod File 17.6 KB 0444
RegExp.pod File 1.54 KB 0444
RelaxNG.pod File 2.34 KB 0444
SAX.pm File 3.45 KB 0444
SAX.pod File 1.76 KB 0444
Schema.pod File 2.19 KB 0444
Text.pod File 5.47 KB 0444
XPathContext.pm File 3.15 KB 0444
XPathContext.pod File 11.49 KB 0444
XPathExpression.pod File 1.64 KB 0444