diff options
Diffstat (limited to 'chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML')
60 files changed, 0 insertions, 11820 deletions
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm deleted file mode 100644 index 6b7d6d845c5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm +++ /dev/null @@ -1,1778 +0,0 @@ -# $Id: LibXML.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML; - -use strict; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS - $skipDTD $skipXMLDeclaration $setTagCompression - $MatchCB $ReadCB $OpenCB $CloseCB - ); -use Carp; - -use XML::LibXML::Common qw(:encoding :libxml); - -use constant XML_XMLNS_NS => 'http://www.w3.org/2000/xmlns/'; -use constant XML_XML_NS => 'http://www.w3.org/XML/1998/namespace'; - -use XML::LibXML::NodeList; -use XML::LibXML::XPathContext; -use IO::Handle; # for FH reads called as methods - -BEGIN { - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE -require Exporter; -require DynaLoader; -@ISA = qw(DynaLoader Exporter); - -#-------------------------------------------------------------------------# -# export information # -#-------------------------------------------------------------------------# -%EXPORT_TAGS = ( - all => [qw( - XML_ELEMENT_NODE - XML_ATTRIBUTE_NODE - XML_TEXT_NODE - XML_CDATA_SECTION_NODE - XML_ENTITY_REF_NODE - XML_ENTITY_NODE - XML_PI_NODE - XML_COMMENT_NODE - XML_DOCUMENT_NODE - XML_DOCUMENT_TYPE_NODE - XML_DOCUMENT_FRAG_NODE - XML_NOTATION_NODE - XML_HTML_DOCUMENT_NODE - XML_DTD_NODE - XML_ELEMENT_DECL - XML_ATTRIBUTE_DECL - XML_ENTITY_DECL - XML_NAMESPACE_DECL - XML_XINCLUDE_END - XML_XINCLUDE_START - encodeToUTF8 - decodeFromUTF8 - XML_XMLNS_NS - XML_XML_NS - )], - libxml => [qw( - XML_ELEMENT_NODE - XML_ATTRIBUTE_NODE - XML_TEXT_NODE - XML_CDATA_SECTION_NODE - XML_ENTITY_REF_NODE - XML_ENTITY_NODE - XML_PI_NODE - XML_COMMENT_NODE - XML_DOCUMENT_NODE - XML_DOCUMENT_TYPE_NODE - XML_DOCUMENT_FRAG_NODE - XML_NOTATION_NODE - XML_HTML_DOCUMENT_NODE - XML_DTD_NODE - XML_ELEMENT_DECL - XML_ATTRIBUTE_DECL - XML_ENTITY_DECL - XML_NAMESPACE_DECL - XML_XINCLUDE_END - XML_XINCLUDE_START - )], - encoding => [qw( - encodeToUTF8 - decodeFromUTF8 - )], - ns => [qw( - XML_XMLNS_NS - XML_XML_NS - )], - ); - -@EXPORT_OK = ( - @{$EXPORT_TAGS{all}}, - ); - -@EXPORT = ( - @{$EXPORT_TAGS{all}}, - ); - -#-------------------------------------------------------------------------# -# initialization of the global variables # -#-------------------------------------------------------------------------# -$skipDTD = 0; -$skipXMLDeclaration = 0; -$setTagCompression = 0; - -$MatchCB = undef; -$ReadCB = undef; -$OpenCB = undef; -$CloseCB = undef; - -#-------------------------------------------------------------------------# -# bootstrapping # -#-------------------------------------------------------------------------# -bootstrap XML::LibXML $VERSION; -undef &AUTOLOAD; - -} # BEGIN - -#-------------------------------------------------------------------------# -# test exact version (up to patch-level) # -#-------------------------------------------------------------------------# -{ - my ($runtime_version) = LIBXML_RUNTIME_VERSION() =~ /^(\d+)/; - if ( $runtime_version < LIBXML_VERSION ) { - warn "Warning: XML::LibXML compiled against libxml2 ".LIBXML_VERSION. - ", but runtime libxml2 is older $runtime_version\n"; - } -} - -#-------------------------------------------------------------------------# -# parser constructor # -#-------------------------------------------------------------------------# -sub new { - my $class = shift; - my %options = @_; - if ( not exists $options{XML_LIBXML_KEEP_BLANKS} ) { - $options{XML_LIBXML_KEEP_BLANKS} = 1; - } - - if ( defined $options{catalog} ) { - $class->load_catalog( $options{catalog} ); - delete $options{catalog}; - } - - my $self = bless \%options, $class; - if ( defined $options{Handler} ) { - $self->set_handler( $options{Handler} ); - } - - $self->{XML_LIBXML_EXT_DTD} = 1; - $self->{_State_} = 0; - return $self; -} - -#-------------------------------------------------------------------------# -# Threads support methods # -#-------------------------------------------------------------------------# - -# threads doc says CLONE's API may change in future, which would break -# an XS method prototype -sub CLONE { XML::LibXML::_CLONE( $_[0] ) } - -#-------------------------------------------------------------------------# -# DOM Level 2 document constructor # -#-------------------------------------------------------------------------# - -sub createDocument { - my $self = shift; - if (!@_ or $_[0] =~ m/^\d\.\d$/) { - # for backward compatibility - return XML::LibXML::Document->new(@_); - } - else { - # DOM API: createDocument(namespaceURI, qualifiedName, doctype?) - my $doc = XML::LibXML::Document-> new; - my $el = $doc->createElementNS(shift, shift); - $doc->setDocumentElement($el); - $doc->setExternalSubset(shift) if @_; - return $doc; - } -} - -#-------------------------------------------------------------------------# -# callback functions # -#-------------------------------------------------------------------------# - -sub input_callbacks { - my $self = shift; - my $icbclass = shift; - - if ( defined $icbclass ) { - $self->{XML_LIBXML_CALLBACK_STACK} = $icbclass; - } - return $self->{XML_LIBXML_CALLBACK_STACK}; -} - -sub match_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_MATCH_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_MATCH_CB}; - } - else { - $MatchCB = shift if scalar @_; - return $MatchCB; - } -} - -sub read_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_READ_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_READ_CB}; - } - else { - $ReadCB = shift if scalar @_; - return $ReadCB; - } -} - -sub close_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_CLOSE_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_CLOSE_CB}; - } - else { - $CloseCB = shift if scalar @_; - return $CloseCB; - } -} - -sub open_callback { - my $self = shift; - if ( ref $self ) { - if ( scalar @_ ) { - $self->{XML_LIBXML_OPEN_CB} = shift; - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - return $self->{XML_LIBXML_OPEN_CB}; - } - else { - $OpenCB = shift if scalar @_; - return $OpenCB; - } -} - -sub callbacks { - my $self = shift; - if ( ref $self ) { - if (@_) { - my ($match, $open, $read, $close) = @_; - @{$self}{qw(XML_LIBXML_MATCH_CB XML_LIBXML_OPEN_CB XML_LIBXML_READ_CB XML_LIBXML_CLOSE_CB)} = ($match, $open, $read, $close); - $self->{XML_LIBXML_CALLBACK_STACK} = undef; - } - else { - return @{$self}{qw(XML_LIBXML_MATCH_CB XML_LIBXML_OPEN_CB XML_LIBXML_READ_CB XML_LIBXML_CLOSE_CB)}; - } - } - else { - if (@_) { - ( $MatchCB, $OpenCB, $ReadCB, $CloseCB ) = @_; - } - else { - return ( $MatchCB, $OpenCB, $ReadCB, $CloseCB ); - } - } -} - -#-------------------------------------------------------------------------# -# member variable manipulation # -#-------------------------------------------------------------------------# -sub validation { - my $self = shift; - $self->{XML_LIBXML_VALIDATION} = shift if scalar @_; - return $self->{XML_LIBXML_VALIDATION}; -} - -sub recover { - my $self = shift; - $self->{XML_LIBXML_RECOVER} = shift if scalar @_; - return $self->{XML_LIBXML_RECOVER}; -} - -sub recover_silently { - my $self = shift; - my $arg = shift; - (($arg == 1) ? $self->recover(2) : $self->recover($arg)) if defined($arg); - return ($self->recover() == 2) ? 1 : 0; -} - -sub expand_entities { - my $self = shift; - $self->{XML_LIBXML_EXPAND_ENTITIES} = shift if scalar @_; - return $self->{XML_LIBXML_EXPAND_ENTITIES}; -} - -sub keep_blanks { - my $self = shift; - $self->{XML_LIBXML_KEEP_BLANKS} = shift if scalar @_; - return $self->{XML_LIBXML_KEEP_BLANKS}; -} - -sub pedantic_parser { - my $self = shift; - $self->{XML_LIBXML_PEDANTIC} = shift if scalar @_; - return $self->{XML_LIBXML_PEDANTIC}; -} - -sub line_numbers { - my $self = shift; - $self->{XML_LIBXML_LINENUMBERS} = shift if scalar @_; - return $self->{XML_LIBXML_LINENUMBERS}; -} - -sub no_network { - my $self = shift; - $self->{XML_LIBXML_NONET} = shift if scalar @_; - return $self->{XML_LIBXML_NONET}; -} - -sub load_ext_dtd { - my $self = shift; - $self->{XML_LIBXML_EXT_DTD} = shift if scalar @_; - return $self->{XML_LIBXML_EXT_DTD}; -} - -sub complete_attributes { - my $self = shift; - $self->{XML_LIBXML_COMPLETE_ATTR} = shift if scalar @_; - return $self->{XML_LIBXML_COMPLETE_ATTR}; -} - -sub expand_xinclude { - my $self = shift; - $self->{XML_LIBXML_EXPAND_XINCLUDE} = shift if scalar @_; - return $self->{XML_LIBXML_EXPAND_XINCLUDE}; -} - -sub base_uri { - my $self = shift; - $self->{XML_LIBXML_BASE_URI} = shift if scalar @_; - return $self->{XML_LIBXML_BASE_URI}; -} - -sub gdome_dom { - my $self = shift; - $self->{XML_LIBXML_GDOME} = shift if scalar @_; - return $self->{XML_LIBXML_GDOME}; -} - -sub clean_namespaces { - my $self = shift; - $self->{XML_LIBXML_NSCLEAN} = shift if scalar @_; - return $self->{XML_LIBXML_NSCLEAN}; -} - -#-------------------------------------------------------------------------# -# set the optional SAX(2) handler # -#-------------------------------------------------------------------------# -sub set_handler { - my $self = shift; - if ( defined $_[0] ) { - $self->{HANDLER} = $_[0]; - - $self->{SAX_ELSTACK} = []; - $self->{SAX} = {State => 0}; - } - else { - # undef SAX handling - $self->{SAX_ELSTACK} = []; - delete $self->{HANDLER}; - delete $self->{SAX}; - } -} - -#-------------------------------------------------------------------------# -# helper functions # -#-------------------------------------------------------------------------# -sub _auto_expand { - my ( $self, $result, $uri ) = @_; - - $result->setBaseURI( $uri ) if defined $uri; - - if ( defined $self->{XML_LIBXML_EXPAND_XINCLUDE} - and $self->{XML_LIBXML_EXPAND_XINCLUDE} == 1 ) { - $self->{_State_} = 1; - eval { $self->processXIncludes($result); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - $self->_cleanup_callbacks(); - $result = undef; - croak $err; - } - } - return $result; -} - -sub _init_callbacks { - my $self = shift; - my $icb = $self->{XML_LIBXML_CALLBACK_STACK}; - - unless ( defined $icb ) { - $self->{XML_LIBXML_CALLBACK_STACK} = XML::LibXML::InputCallback->new(); - $icb = $self->{XML_LIBXML_CALLBACK_STACK}; - } - - my $mcb = $self->match_callback(); - my $ocb = $self->open_callback(); - my $rcb = $self->read_callback(); - my $ccb = $self->close_callback(); - - if ( defined $mcb and defined $ocb and defined $rcb and defined $ccb ) { - $icb->register_callbacks( [$mcb, $ocb, $rcb, $ccb] ); - } - - $icb->init_callbacks(); -} - -sub _cleanup_callbacks { - my $self = shift; - $self->{XML_LIBXML_CALLBACK_STACK}->cleanup_callbacks(); - my $mcb = $self->match_callback(); - $self->{XML_LIBXML_CALLBACK_STACK}->unregister_callbacks( [$mcb] ); -} - -sub __read { - read($_[0], $_[1], $_[2]); -} - -sub __write { - if ( ref( $_[0] ) ) { - $_[0]->write( $_[1], $_[2] ); - } - else { - $_[0]->write( $_[1] ); - } -} - -# currently this is only used in the XInlcude processor -# but in the future, all parsing functions should turn to -# the new libxml2 parsing API internally and this will -# become handy -sub _parser_options { - my ($self,$opts)=@_; - $opts = {} unless ref $opts; - my $flags = 0; - $flags |= 1 if exists $opts->{recover} ? $opts->{recover} : $self->recover; - $flags |= 2 if exists $opts->{expand_entities} ? $opts->{expand_entities} : $self->expand_entities; - $flags |= 4 if exists $opts->{load_ext_dtd} ? $opts->{load_ext_dtd} : $self->load_ext_dtd; - $flags |= 8 if exists $opts->{complete_attributes} ? $opts->{complete_attributes} : $self->complete_attributes; - $flags |= 16 if exists $opts->{validation} ? $opts->{validation} : $self->validation; - $flags |= 32 if $opts->{suppress_errors}; - $flags |= 64 if $opts->{suppress_warnings}; - $flags |= 128 if exists $opts->{pedantic_parser} ? $opts->{pedantic_parser} : $self->pedantic_parser; - $flags |= 256 if exists $opts->{no_blanks} ? $opts->{no_blanks} : !$self->keep_blanks(); - $flags |= 1024 if exists $opts->{expand_xinclude} ? $opts->{expand_xinclude} : $self->expand_xinclude; - $flags |= 2048 if exists $opts->{no_network} ? $opts->{no_network} : $self->no_network; - $flags |= 8192 if exists $opts->{clean_namespaces} ? $opts->{clean_namespaces} : $self->clean_namespaces; - $flags |= 16384 if $opts->{no_cdata}; - $flags |= 32768 if $opts->{no_xinclude_nodes}; - return ($flags); -} - - -#-------------------------------------------------------------------------# -# parsing functions # -#-------------------------------------------------------------------------# -# all parsing functions handle normal as SAX parsing at the same time. -# note that SAX parsing is handled incomplete! use XML::LibXML::SAX for -# complete parsing sequences -#-------------------------------------------------------------------------# -sub parse_string { - my $self = shift; - croak("parse_string is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - - unless ( defined $_[0] and length $_[0] ) { - croak("Empty String"); - } - - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - my $string = shift; - $self->{SAX_ELSTACK} = []; - - eval { $result = $self->_parse_sax_string($string); }; - - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - } - else { - eval { $result = $self->_parse_string( @_ ); }; - - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $result = $self->_auto_expand( $result, $self->{XML_LIBXML_BASE_URI} ); - } - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_fh { - my $self = shift; - croak("parse_fh is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - $self->{SAX_ELSTACK} = []; - eval { $self->_parse_sax_fh( @_ ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - } - else { - eval { $result = $self->_parse_fh( @_ ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $result = $self->_auto_expand( $result, $self->{XML_LIBXML_BASE_URI} ); - } - - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_file { - my $self = shift; - croak("parse_file is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - $self->{SAX_ELSTACK} = []; - eval { $self->_parse_sax_file( @_ ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - } - else { - eval { $result = $self->_parse_file(@_); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $result = $self->_auto_expand( $result ); - } - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_xml_chunk { - my $self = shift; - # max 2 parameter: - # 1: the chunk - # 2: the encoding of the string - croak("parse_xml_chunk is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; my $result; - - unless ( defined $_[0] and length $_[0] ) { - croak("Empty String"); - } - - $self->{_State_} = 1; - - $self->_init_callbacks(); - - if ( defined $self->{SAX} ) { - eval { - $self->_parse_sax_xml_chunk( @_ ); - - # this is required for XML::GenericChunk. - # in normal case is_filter is not defined, an thus the parsing - # will be terminated. in case of a SAX filter the parsing is not - # finished at that state. therefore we must not reset the parsing - unless ( $self->{IS_FILTER} ) { - $result = $self->{HANDLER}->end_document(); - } - }; - } - else { - eval { $result = $self->_parse_xml_chunk( @_ ); }; - } - - $self->_cleanup_callbacks(); - - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - croak $err; - } - - return $result; -} - -sub parse_balanced_chunk { - my $self = shift; - $self->_init_callbacks(); - my $rv; - eval { - $rv = $self->parse_xml_chunk( @_ ); - }; - my $err = $@; - $self->_cleanup_callbacks(); - if ( $err ) { - chomp $err; - croak $err; - } - return $rv -} - -# java style -sub processXIncludes { - my $self = shift; - my $doc = shift; - my $opts = shift; - my $options = $self->_parser_options($opts); - if ( $self->{_State_} != 1 ) { - $self->_init_callbacks(); - } - my $rv; - eval { - $rv = $self->_processXIncludes($doc || " ", $options); - }; - my $err = $@; - if ( $self->{_State_} != 1 ) { - $self->_cleanup_callbacks(); - } - - if ( $err ) { - chomp $err; - croak $err; - } - return $rv; -} - -# perl style -sub process_xincludes { - my $self = shift; - my $doc = shift; - my $opts = shift; - my $options = $self->_parser_options($opts); - - my $rv; - $self->_init_callbacks(); - eval { - $rv = $self->_processXIncludes($doc || " ", $options); - }; - my $err = $@; - $self->_cleanup_callbacks(); - if ( $err ) { - chomp $err; - croak $@; - } - return $rv; -} - -#-------------------------------------------------------------------------# -# HTML parsing functions # -#-------------------------------------------------------------------------# - -sub _html_options { - my ($self,$opts)=@_; - $opts = {} unless ref $opts; - # return (undef,undef) unless ref $opts; - my $flags = 0; - $flags |= 1 if exists $opts->{recover} ? $opts->{recover} : $self->recover; - $flags |= 32 if $opts->{suppress_errors}; - $flags |= 64 if $opts->{suppress_warnings}; - $flags |= 128 if exists $opts->{pedantic_parser} ? $opts->{pedantic_parser} : $self->pedantic_parser; - $flags |= 256 if exists $opts->{no_blanks} ? $opts->{no_blanks} : !$self->keep_blanks; - $flags |= 2048 if exists $opts->{no_network} ? $opts->{no_network} : !$self->no_network; - return ($opts->{URI},$opts->{encoding},$flags); -} - -sub parse_html_string { - my ($self,$str,$opts) = @_; - croak("parse_html_string is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - - unless ( defined $str and length $str ) { - croak("Empty String"); - } - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - eval { - $result = $self->_parse_html_string( $str, - $self->_html_options($opts) - ); - }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_html_file { - my ($self,$file,$opts) = @_; - croak("parse_html_file is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - my $result; - - $self->_init_callbacks(); - eval { $result = $self->_parse_html_file($file, - $self->_html_options($opts) - ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - - $self->_cleanup_callbacks(); - - return $result; -} - -sub parse_html_fh { - my ($self,$fh,$opts) = @_; - croak("parse_html_fh is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self; - croak("parse already in progress") if $self->{_State_}; - $self->{_State_} = 1; - - my $result; - $self->_init_callbacks(); - eval { $result = $self->_parse_html_fh( $fh, - $self->_html_options($opts) - ); }; - my $err = $@; - $self->{_State_} = 0; - if ($err) { - chomp $err; - $self->_cleanup_callbacks(); - croak $err; - } - $self->_cleanup_callbacks(); - - return $result; -} - -#-------------------------------------------------------------------------# -# push parser interface # -#-------------------------------------------------------------------------# -sub init_push { - my $self = shift; - - if ( defined $self->{CONTEXT} ) { - delete $self->{CONTEXT}; - } - - if ( defined $self->{SAX} ) { - $self->{CONTEXT} = $self->_start_push(1); - } - else { - $self->{CONTEXT} = $self->_start_push(0); - } -} - -sub push { - my $self = shift; - - $self->_init_callbacks(); - - if ( not defined $self->{CONTEXT} ) { - $self->init_push(); - } - - eval { - foreach ( @_ ) { - $self->_push( $self->{CONTEXT}, $_ ); - } - }; - my $err = $@; - $self->_cleanup_callbacks(); - if ( $err ) { - chomp $err; - croak $err; - } -} - -# this function should be promoted! -# the reason is because libxml2 uses xmlParseChunk() for this purpose! -sub parse_chunk { - my $self = shift; - my $chunk = shift; - my $terminate = shift; - - if ( not defined $self->{CONTEXT} ) { - $self->init_push(); - } - - if ( defined $chunk and length $chunk ) { - $self->_push( $self->{CONTEXT}, $chunk ); - } - - if ( $terminate ) { - return $self->finish_push(); - } -} - - -sub finish_push { - my $self = shift; - my $restore = shift || 0; - return undef unless defined $self->{CONTEXT}; - - my $retval; - - if ( defined $self->{SAX} ) { - eval { - $self->_end_sax_push( $self->{CONTEXT} ); - $retval = $self->{HANDLER}->end_document( {} ); - }; - } - else { - eval { $retval = $self->_end_push( $self->{CONTEXT}, $restore ); }; - } - delete $self->{CONTEXT}; - my $err = $@; - if ( $err ) { - chomp $err; - croak( $err ); - } - return $retval; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Node Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Node; - -sub isSupported { - my $self = shift; - my $feature = shift; - return $self->can($feature) ? 1 : 0; -} - -sub getChildNodes { my $self = shift; return $self->childNodes(); } - -sub childNodes { - my $self = shift; - my @children = $self->_childNodes(); - return wantarray ? @children : XML::LibXML::NodeList->new_from_ref(\@children , 1); -} - -sub attributes { - my $self = shift; - my @attr = $self->_attributes(); - return wantarray ? @attr : XML::LibXML::NamedNodeMap->new( @attr ); -} - - -sub findnodes { - my ($node, $xpath) = @_; - my @nodes = $node->_findnodes($xpath); - if (wantarray) { - return @nodes; - } - else { - return XML::LibXML::NodeList->new_from_ref(\@nodes, 1); - } -} - -sub findvalue { - my ($node, $xpath) = @_; - my $res; - eval { - $res = $node->find($xpath); - }; - if ( $@ ) { - die $@; - } - return $res->to_literal->value; -} - -sub find { - my ($node, $xpath) = @_; - my ($type, @params) = $node->_find($xpath); - if ($type) { - return $type->new(@params); - } - return undef; -} - -sub setOwnerDocument { - my ( $self, $doc ) = @_; - $doc->adoptNode( $self ); -} - -sub toStringC14N { - my ($self, $comments, $xpath) = (shift, shift, shift); - return $self->_toStringC14N( $comments || 0, - (defined $xpath ? $xpath : undef), - 0, - undef ); -} -sub toStringEC14N { - my ($self, $comments, $xpath, $inc_prefix_list) = @_; - if (defined($inc_prefix_list) and !UNIVERSAL::isa($inc_prefix_list,'ARRAY')) { - croak("toStringEC14N: inclusive_prefix_list must be undefined or ARRAY"); - } - return $self->_toStringC14N( $comments || 0, - (defined $xpath ? $xpath : undef), - 1, - (defined $inc_prefix_list ? $inc_prefix_list : undef)); -} - -*serialize_c14n = \&toStringC14N; -*serialize_exc_c14n = \&toStringEC14N; - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Document Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Document; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); - -sub actualEncoding { - my $doc = shift; - my $enc = $doc->encoding; - return (defined $enc and length $enc) ? $enc : 'UTF-8'; -} - -sub setDocumentElement { - my $doc = shift; - my $element = shift; - - my $oldelem = $doc->documentElement; - if ( defined $oldelem ) { - $doc->removeChild($oldelem); - } - - $doc->_setDocumentElement($element); -} - -sub toString { - my $self = shift; - my $flag = shift; - - my $retval = ""; - - if ( defined $XML::LibXML::skipXMLDeclaration - and $XML::LibXML::skipXMLDeclaration == 1 ) { - foreach ( $self->childNodes ){ - next if $_->nodeType == XML::LibXML::XML_DTD_NODE() - and $XML::LibXML::skipDTD; - $retval .= $_->toString; - } - } - else { - $flag ||= 0 unless defined $flag; - $retval = $self->_toString($flag); - } - - return $retval; -} - -sub serialize { - my $self = shift; - return $self->toString( @_ ); -} - -#-------------------------------------------------------------------------# -# bad style xinclude processing # -#-------------------------------------------------------------------------# -sub process_xinclude { - my $self = shift; - my $opts = shift; - XML::LibXML->new->processXIncludes( $self, $opts ); -} - -sub insertProcessingInstruction { - my $self = shift; - my $target = shift; - my $data = shift; - - my $pi = $self->createPI( $target, $data ); - my $root = $self->documentElement; - - if ( defined $root ) { - # this is actually not correct, but i guess it's what the user - # intends - $self->insertBefore( $pi, $root ); - } - else { - # if no documentElement was found we just append the PI - $self->appendChild( $pi ); - } -} - -sub insertPI { - my $self = shift; - $self->insertProcessingInstruction( @_ ); -} - -#-------------------------------------------------------------------------# -# DOM L3 Document functions. -# added after robins implicit feature requst -#-------------------------------------------------------------------------# -*getElementsByTagName = \&XML::LibXML::Element::getElementsByTagName; -*getElementsByTagNameNS = \&XML::LibXML::Element::getElementsByTagNameNS; -*getElementsByLocalName = \&XML::LibXML::Element::getElementsByLocalName; - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::DocumentFragment Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::DocumentFragment; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); - -sub toString { - my $self = shift; - my $retval = ""; - if ( $self->hasChildNodes() ) { - foreach my $n ( $self->childNodes() ) { - $retval .= $n->toString(@_); - } - } - return $retval; -} - -*serialize = \&toString; - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Element Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Element; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); -use XML::LibXML qw(:ns :libxml); -use Carp; - -sub setNamespace { - my $self = shift; - my $n = $self->nodeName; - if ( $self->_setNamespace(@_) ){ - if ( scalar @_ < 3 || $_[2] == 1 ){ - $self->setNodeName( $n ); - } - return 1; - } - return 0; -} - -sub getAttribute { - my $self = shift; - my $name = $_[0]; - if ( $name =~ /^xmlns(?::|$)/ ) { - # user wants to get a namespace ... - (my $prefix = $name )=~s/^xmlns:?//; - $self->_getNamespaceDeclURI($prefix); - } - else { - $self->_getAttribute(@_); - } -} - -sub setAttribute { - my ( $self, $name, $value ) = @_; - if ( $name =~ /^xmlns(?::|$)/ ) { - # user wants to set the special attribute for declaring XML namespace ... - - # this is fine but not exactly DOM conformant behavior, btw (according to DOM we should - # probably declare an attribute which looks like XML namespace declaration - # but isn't) - (my $nsprefix = $name )=~s/^xmlns:?//; - my $nn = $self->nodeName; - if ( $nn =~ /^\Q${nsprefix}\E:/ ) { - # the element has the same prefix - $self->setNamespaceDeclURI($nsprefix,$value) || - $self->setNamespace($value,$nsprefix,1); - ## - ## We set the namespace here. - ## This is helpful, as in: - ## - ## | $e = XML::LibXML::Element->new('foo:bar'); - ## | $e->setAttribute('xmlns:foo','http://yoyodine') - ## - } - else { - # just modify the namespace - $self->setNamespaceDeclURI($nsprefix, $value) || - $self->setNamespace($value,$nsprefix,0); - } - } - else { - $self->_setAttribute($name, $value); - } -} - -sub getAttributeNS { - my $self = shift; - my ($nsURI, $name) = @_; - croak("invalid attribute name") if !defined($name) or $name eq q{}; - if ( defined($nsURI) and $nsURI eq XML_XMLNS_NS ) { - $self->_getNamespaceDeclURI($name eq 'xmlns' ? undef : $name); - } - else { - $self->_getAttributeNS(@_); - } -} - -sub setAttributeNS { - my ($self, $nsURI, $qname, $value)=@_; - unless (defined $qname and length $qname) { - croak("bad name"); - } - if (defined($nsURI) and $nsURI eq XML_XMLNS_NS) { - if ($qname !~ /^xmlns(?::|$)/) { - croak("NAMESPACE ERROR: Namespace declartions must have the prefix 'xmlns'"); - } - $self->setAttribute($qname,$value); # see implementation above - return; - } - if ($qname=~/:/ and not (defined($nsURI) and length($nsURI))) { - croak("NAMESPACE ERROR: Attribute without a prefix cannot be in a namespace"); - } - if ($qname=~/^xmlns(?:$|:)/) { - croak("NAMESPACE ERROR: 'xmlns' prefix and qualified-name are reserved for the namespace ".XML_XMLNS_NS); - } - if ($qname=~/^xml:/ and not (defined $nsURI and $nsURI eq XML_XML_NS)) { - croak("NAMESPACE ERROR: 'xml' prefix is reserved for the namespace ".XML_XML_NS); - } - $self->_setAttributeNS( defined $nsURI ? $nsURI : undef, $qname, $value ); -} - -sub getElementsByTagName { - my ( $node , $name ) = @_; - my $xpath = $name eq '*' ? "descendant::*" : "descendant::*[name()='$name']"; - my @nodes = $node->_findnodes($xpath); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getElementsByTagNameNS { - my ( $node, $nsURI, $name ) = @_; - my $xpath; - if ( $name eq '*' ) { - if ( $nsURI eq '*' ) { - $xpath = "descendant::*"; - } else { - $xpath = "descendant::*[namespace-uri()='$nsURI']"; - } - } elsif ( $nsURI eq '*' ) { - $xpath = "descendant::*[local-name()='$name']"; - } else { - $xpath = "descendant::*[local-name()='$name' and namespace-uri()='$nsURI']"; - } - my @nodes = $node->_findnodes($xpath); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getElementsByLocalName { - my ( $node,$name ) = @_; - my $xpath; - if ($name eq '*') { - $xpath = "descendant::*"; - } else { - $xpath = "descendant::*[local-name()='$name']"; - } - my @nodes = $node->_findnodes($xpath); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getChildrenByTagName { - my ( $node, $name ) = @_; - my @nodes; - if ($name eq '*') { - @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() } - $node->childNodes(); - } else { - @nodes = grep { $_->nodeName eq $name } $node->childNodes(); - } - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getChildrenByLocalName { - my ( $node, $name ) = @_; - my @nodes; - if ($name eq '*') { - @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() } - $node->childNodes(); - } else { - @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() and - $_->localName eq $name } $node->childNodes(); - } - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub getChildrenByTagNameNS { - my ( $node, $nsURI, $name ) = @_; - my @nodes = $node->_getChildrenByTagNameNS($nsURI,$name); - return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1); -} - -sub appendWellBalancedChunk { - my ( $self, $chunk ) = @_; - - my $local_parser = XML::LibXML->new(); - my $frag = $local_parser->parse_xml_chunk( $chunk ); - - $self->appendChild( $frag ); -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Text Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Text; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Node'); - -sub attributes { return undef; } - -sub deleteDataString { - my $node = shift; - my $string = shift; - my $all = shift; - my $data = $node->nodeValue(); - $string =~ s/([\\\*\+\^\{\}\&\?\[\]\(\)\$\%\@])/\\$1/g; - if ( $all ) { - $data =~ s/$string//g; - } - else { - $data =~ s/$string//; - } - $node->setData( $data ); -} - -sub replaceDataString { - my ( $node, $left, $right,$all ) = @_; - - #ashure we exchange the strings and not expressions! - $left =~ s/([\\\*\+\^\{\}\&\?\[\]\(\)\$\%\@])/\\$1/g; - my $datastr = $node->nodeValue(); - if ( $all ) { - $datastr =~ s/$left/$right/g; - } - else{ - $datastr =~ s/$left/$right/; - } - $node->setData( $datastr ); -} - -sub replaceDataRegEx { - my ( $node, $leftre, $rightre, $flags ) = @_; - return unless defined $leftre; - $rightre ||= ""; - - my $datastr = $node->nodeValue(); - my $restr = "s/" . $leftre . "/" . $rightre . "/"; - $restr .= $flags if defined $flags; - - eval '$datastr =~ '. $restr; - - $node->setData( $datastr ); -} - -1; - -package XML::LibXML::Comment; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Text'); - -1; - -package XML::LibXML::CDATASection; - -use vars qw(@ISA); -@ISA = ('XML::LibXML::Text'); - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Attribute Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Attr; -use vars qw( @ISA ) ; -@ISA = ('XML::LibXML::Node') ; - -sub setNamespace { - my ($self,$href,$prefix) = @_; - my $n = $self->nodeName; - if ( $self->_setNamespace($href,$prefix) ) { - $self->setNodeName($n); - return 1; - } - - return 0; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Dtd Interface # -#-------------------------------------------------------------------------# -# this is still under construction -# -package XML::LibXML::Dtd; -use vars qw( @ISA ); -@ISA = ('XML::LibXML::Node'); - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::PI Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::PI; -use vars qw( @ISA ); -@ISA = ('XML::LibXML::Node'); - -sub setData { - my $pi = shift; - - my $string = ""; - if ( scalar @_ == 1 ) { - $string = shift; - } - else { - my %h = @_; - $string = join " ", map {$_.'="'.$h{$_}.'"'} keys %h; - } - - # the spec says any char but "?>" [17] - $pi->_setData( $string ) unless $string =~ /\?>/; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::Namespace Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::Namespace; - -# this is infact not a node! -sub prefix { return "xmlns"; } -sub getPrefix { return "xmlns"; } -sub getNamespaceURI { return "http://www.w3.org/2000/xmlns/" }; - -sub getNamespaces { return (); } - -sub nodeName { - my $self = shift; - my $nsP = $self->localname; - return ( defined($nsP) && length($nsP) ) ? "xmlns:$nsP" : "xmlns"; -} -sub name { goto &nodeName } -sub getName { goto &nodeName } - -sub isEqualNode { - my ( $self, $ref ) = @_; - if ( ref($ref) eq "XML::LibXML::Namespace" ) { - return $self->_isEqual($ref); - } - return 0; -} - -sub isSameNode { - my ( $self, $ref ) = @_; - if ( $$self == $$ref ){ - return 1; - } - return 0; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::NamedNodeMap Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::NamedNodeMap; - -use XML::LibXML::Common qw(:libxml); - -sub new { - my $class = shift; - my $self = bless { Nodes => [@_] }, $class; - $self->{NodeMap} = { map { $_->nodeName => $_ } @_ }; - return $self; -} - -sub length { return scalar( @{$_[0]->{Nodes}} ); } -sub nodes { return $_[0]->{Nodes}; } -sub item { $_[0]->{Nodes}->[$_[1]]; } - -sub getNamedItem { - my $self = shift; - my $name = shift; - - return $self->{NodeMap}->{$name}; -} - -sub setNamedItem { - my $self = shift; - my $node = shift; - - my $retval; - if ( defined $node ) { - if ( scalar @{$self->{Nodes}} ) { - my $name = $node->nodeName(); - if ( $node->nodeType() == XML_NAMESPACE_DECL ) { - return; - } - if ( defined $self->{NodeMap}->{$name} ) { - if ( $node->isSameNode( $self->{NodeMap}->{$name} ) ) { - return; - } - $retval = $self->{NodeMap}->{$name}->replaceNode( $node ); - } - else { - $self->{Nodes}->[0]->addSibling($node); - } - - $self->{NodeMap}->{$name} = $node; - push @{$self->{Nodes}}, $node; - } - else { - # not done yet - # can this be properly be done??? - warn "not done yet\n"; - } - } - return $retval; -} - -sub removeNamedItem { - my $self = shift; - my $name = shift; - my $retval; - if ( $name =~ /^xmlns/ ) { - warn "not done yet\n"; - } - elsif ( exists $self->{NodeMap}->{$name} ) { - $retval = $self->{NodeMap}->{$name}; - $retval->unbindNode; - delete $self->{NodeMap}->{$name}; - $self->{Nodes} = [grep {not($retval->isSameNode($_))} @{$self->{Nodes}}]; - } - - return $retval; -} - -sub getNamedItemNS { - my $self = shift; - my $nsURI = shift; - my $name = shift; - return undef; -} - -sub setNamedItemNS { - my $self = shift; - my $nsURI = shift; - my $node = shift; - return undef; -} - -sub removeNamedItemNS { - my $self = shift; - my $nsURI = shift; - my $name = shift; - return undef; -} - -1; - -package XML::LibXML::_SAXParser; - -# this is pseudo class!!! and it will be removed as soon all functions -# moved to XS level - -use XML::SAX::Exception; - -# these functions will use SAX exceptions as soon i know how things really work -sub warning { - my ( $parser, $message, $line, $col ) = @_; - my $error = XML::SAX::Exception::Parse->new( LineNumber => $line, - ColumnNumber => $col, - Message => $message, ); - $parser->{HANDLER}->warning( $error ); -} - -sub error { - my ( $parser, $message, $line, $col ) = @_; - - my $error = XML::SAX::Exception::Parse->new( LineNumber => $line, - ColumnNumber => $col, - Message => $message, ); - $parser->{HANDLER}->error( $error ); -} - -sub fatal_error { - my ( $parser, $message, $line, $col ) = @_; - my $error = XML::SAX::Exception::Parse->new( LineNumber => $line, - ColumnNumber => $col, - Message => $message, ); - $parser->{HANDLER}->fatal_error( $error ); -} - -1; - -package XML::LibXML::RelaxNG; - -sub new { - my $class = shift; - my %args = @_; - - my $self = undef; - if ( defined $args{location} ) { - $self = $class->parse_location( $args{location} ); - } - elsif ( defined $args{string} ) { - $self = $class->parse_buffer( $args{string} ); - } - elsif ( defined $args{DOM} ) { - $self = $class->parse_document( $args{DOM} ); - } - - return $self; -} - -1; - -package XML::LibXML::Schema; - -sub new { - my $class = shift; - my %args = @_; - - my $self = undef; - if ( defined $args{location} ) { - $self = $class->parse_location( $args{location} ); - } - elsif ( defined $args{string} ) { - $self = $class->parse_buffer( $args{string} ); - } - - return $self; -} - -1; - -#-------------------------------------------------------------------------# -# XML::LibXML::InputCallback Interface # -#-------------------------------------------------------------------------# -package XML::LibXML::InputCallback; - -use vars qw($_CUR_CB @_GLOBAL_CALLBACKS @_CB_STACK); - -$_CUR_CB = undef; - -@_GLOBAL_CALLBACKS = (); -@_CB_STACK = (); - -#-------------------------------------------------------------------------# -# global callbacks # -#-------------------------------------------------------------------------# -sub _callback_match { - my $uri = shift; - my $retval = 0; - - # loop through the callbacks and and find the first matching - # The callbacks are stored in execution order (reverse stack order) - # any new global callbacks are shifted to the callback stack. - foreach my $cb ( @_GLOBAL_CALLBACKS ) { - - # callbacks have to return 1, 0 or undef, while 0 and undef - # are handled the same way. - # in fact, if callbacks return other values, the global match - # assumes silently that the callback failed. - - $retval = $cb->[0]->($uri); - - if ( defined $retval and $retval == 1 ) { - # make the other callbacks use this callback - $_CUR_CB = $cb; - unshift @_CB_STACK, $cb; - last; - } - } - - return $retval; -} - -sub _callback_open { - my $uri = shift; - my $retval = undef; - - # the open callback has to return a defined value. - # if one works on files this can be a file handle. But - # depending on the needs of the callback it also can be a - # database handle or a integer labeling a certain dataset. - - if ( defined $_CUR_CB ) { - $retval = $_CUR_CB->[1]->( $uri ); - - # reset the callbacks, if one callback cannot open an uri - if ( not defined $retval or $retval == 0 ) { - shift @_CB_STACK; - $_CUR_CB = $_CB_STACK[0]; - } - } - - return $retval; -} - -sub _callback_read { - my $fh = shift; - my $buflen = shift; - - my $retval = undef; - - if ( defined $_CUR_CB ) { - $retval = $_CUR_CB->[2]->( $fh, $buflen ); - } - - return $retval; -} - -sub _callback_close { - my $fh = shift; - my $retval = 0; - - if ( defined $_CUR_CB ) { - $retval = $_CUR_CB->[3]->( $fh ); - shift @_CB_STACK; - $_CUR_CB = $_CB_STACK[0]; - } - - return $retval; -} - -#-------------------------------------------------------------------------# -# member functions and methods # -#-------------------------------------------------------------------------# - -sub new { - my $CLASS = shift; - return bless {'_CALLBACKS' => []}, $CLASS; -} - -# add a callback set to the callback stack -# synopsis: $icb->register_callbacks( [$match_cb, $open_cb, $read_cb, $close_cb] ); -sub register_callbacks { - my $self = shift; - my $cbset = shift; - - # test if callback set is complete - if ( ref $cbset eq "ARRAY" and scalar( @$cbset ) == 4 ) { - unshift @{$self->{_CALLBACKS}}, $cbset; - } -} - -# remove a callback set to the callback stack -# if a callback set is passed, this function will check for the match function -sub unregister_callbacks { - my $self = shift; - my $cbset = shift; - if ( ref $cbset eq "ARRAY" and scalar( @$cbset ) == 4 ) { - $self->{_CALLBACKS} = [grep { $_->[0] != $cbset->[0] } @{$self->{_CALLBACKS}}]; - } - else { - shift @{$self->{_CALLBACKS}}; - } -} - -# make libxml2 use the callbacks -sub init_callbacks { - my $self = shift; - - $_CUR_CB = undef; - @_CB_STACK = (); - - @_GLOBAL_CALLBACKS = @{ $self->{_CALLBACKS} }; - - if ( defined $XML::LibXML::match_cb and - defined $XML::LibXML::open_cb and - defined $XML::LibXML::read_cb and - defined $XML::LibXML::close_cb ) { - push @_GLOBAL_CALLBACKS, [$XML::LibXML::match_cb, - $XML::LibXML::open_cb, - $XML::LibXML::read_cb, - $XML::LibXML::close_cb]; - } - - $self->lib_init_callbacks(); -} - -# reset libxml2's callbacks -sub cleanup_callbacks { - my $self = shift; - - $_CUR_CB = undef; - @_GLOBAL_CALLBACKS = (); - @_CB_STACK = (); - - $self->lib_cleanup_callbacks(); -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod deleted file mode 100644 index f4f59f9e518..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod +++ /dev/null @@ -1,433 +0,0 @@ -=head1 NAME - -XML::LibXML - Perl Binding for libxml2 - -=head1 SYNOPSIS - - - - use XML::LibXML; - my $parser = XML::LibXML->new(); - - my $doc = $parser->parse_string(<<'EOT'); - <some-xml/> - EOT - - $Version_String = XML::LibXML::LIBXML_DOTTED_VERSION; - $Version_ID = XML::LibXML::LIBXML_VERSION; - $DLL_Version = XML::LibXML::LIBXML_RUNTIME_VERSION; - $libxmlnode = XML::LibXML->import_GDOME( $node, $deep ); - $gdomenode = XML::LibXML->export_GDOME( $node, $deep ); - -=head1 DESCRIPTION - -This module is an interface to libxml2, providing XML and HTML parsers with -DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 interface and -a XML::XPath-like interface to XPath API of libxml2. The module is split into -several packages which are not described in this section; unless stated -otherwise, you only need to C<<<<<< use XML::LibXML; >>>>>> in your programs. - -For further information, please check the following documentation: - -=over 4 - -=item B<> - -Parsing XML Files with XML::LibXML - - -=item B<> - -XML::LibXML DOM Implementation - - -=item B<> - -XML::LibXML direct SAX parser - - -=item B<> - -Reading XML with a pull-parser - - -=item B<> - -XML::LibXML DOM Document Class - - -=item B<> - -Abstract Base Class of XML::LibXML Nodes - - -=item B<> - -XML::LibXML Class for Element Nodes - - -=item B<> - -XML::LibXML Class for Text Nodes - - -=item B<> - -XML::LibXML Comment Nodes - - -=item B<> - -XML::LibXML Class for CDATA Sections - - -=item B<> - -XML::LibXML Attribute Class - - -=item B<> - -XML::LibXML's DOM L2 Document Fragment Implementation - - -=item B<> - -XML::LibXML Namespace Implementation - - -=item B<> - -XML::LibXML Processing Instructions - - -=item B<> - -XML::LibXML DTD Support - - -=item B<> - -XML::LibXML frontend for RelaxNG schema validation - - -=item B<> - -XML::LibXML frontend for W3C Schema schema validation - - -=item B<> - -API for evaluating XPath expressions with enhanced support for the evaluation -context - - - -=back - - -=head1 ENCODINGS SUPPORT IN XML::LIBXML - -Recall that since version 5.6.1, Perl distinguishes between character strings -(internally encoded in UTF-8) and so called binary data and, accordingly, -applies either character or byte semantics to them. A scalar representing a -character string is distinguished from a byte string by special flag (UTF8). -Please refer to I<<<<<< perlunicode >>>>>> for details. - -XML::LibXML's API is designed to deal with many encodings of XML documents -completely transparently, so that the application using XML::LibXML can be -completely ignorant about the encoding of the XML documents it works with. On -the other hand, functions like C<<<<<< XML::LibXML::Document->setEncoding >>>>>> give the user control over the document encoding. - -To ensure the aforementioned transparency and uniformity, most functions of -XML::LibXML that work with in-memory trees accept and return data as character -strings (i.e. UTF-8 encoded with the UTF8 flag on) regardless of the original -document encoding; however, the functions related to I/O operations (i.e. -parsing and saving) operate with binary data (in the original document -encoding) obeying the encoding declaration of the XML documents. - -Below we summarize basic rules and principles regarding encoding: - - -=over 4 - -=item 1. - -Do NOT apply any encoding-related PerlIO layers (C<<<<<< :utf8 >>>>>> or C<<<<<< :encoding(...) >>>>>>) to file handles that are an imput for the parses or an ouptut for a -serializer of (full) XML documents. This is because the conversion of the data -to/from the internal character representation is provided by libxml2 itself -which must be able to enforce the encoding specified by the C<<<<<< <?xml version="1.0" encoding="..."?> >>>>>> declaration. Here is an example to follow: - - use XML::LibXML; - my $parser = XML::LibXML->new; - open my $fh, "file.xml"; - binmode $fh; # drop all PerlIO layers possibly created by a use open pragma - $doc = $parser->parse_fh($fh); - open my $out, "out.xml"; - binmode $fh; # as above - $doc->toFh($fh); - # or - print $fh $doc->toString(); - - - - - -=item 2. - -All functions working with DOM accept and return character strings (UTF-8 -encoded with UTF8 flag on). E.g. - - my $doc = XML::LibXML:Document->new('1.0',$some_encoding); - my $element = $doc->createElement($name); - $element->appendText($text); - $xml_fragment = $element->toString(); # returns a character string - $xml_document = $doc->toString(); # returns a byte string - -where C<<<<<< $some_encoding >>>>>> is the document encoding that will be used when saving the document, and C<<<<<< $name >>>>>> and C<<<<<< $text >>>>>> contain character strings (UTF-8 encoded with UTF8 flag on). Note that the -method C<<<<<< toString >>>>>> returns XML as a character string if applied to other node than the Document -node and a byte string containing the apropriate - - <?xml version="1.0" encoding="..."?> - -declaration if appliled to a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - - - -=item 3. - -DOM methods also accept binary strings in the original encoding of the document -to which the node belongs (UTF-8 is assumed if the node is not attached to any -document). Exploiting this feature is NOT RECOMMENDED since it is considered a -bad practice. - - - - my $doc = XML::LibXML:Document->new('1.0','iso-8859-2'); - my $text = $doc->createTextNode($some_latin2_encoded_byte_string); - # WORKS, BUT NOT RECOMMENDED! - - - -=back - -I<<<<<< NOTE: >>>>>> libxml2 support for many encodings is based on the iconv library. The actual -list of supported encodings may vary from platform to platform. To test if your -platform works correctly with your language encoding, build a simple document -in the particular encoding and try to parse it with XML::LibXML to see if the -parser produces any errors. Occasional crashes were reported on rare platforms -that ship with a broken version of iconv. - - -=head1 VERSION INFORMATION - -Sometimes it is useful to figure out, for which version XML::LibXML was -compiled for. In most cases this is for debugging or to check if a given -installation meets all functionality for the package. The functions -XML::LibXML::LIBXML_DOTTED_VERSION and XML::LibXML::LIBXML_VERSION provide this -version information. Both functions simply pass through the values of the -similar named macros of libxml2. Similarly, XML::LibXML::LIBXML_RUNTIME_VERSION -returns the version of the (usually dynamically) linked libxml2. - -=over 4 - -=item B<XML::LibXML::LIBXML_DOTTED_VERSION> - - $Version_String = XML::LibXML::LIBXML_DOTTED_VERSION; - -Returns the version string of the libxml2 version XML::LibXML was compiled for. -This will be "2.6.2" for "libxml2 2.6.2". - - -=item B<XML::LibXML::LIBXML_VERSION> - - $Version_ID = XML::LibXML::LIBXML_VERSION; - -Returns the version id of the libxml2 version XML::LibXML was compiled for. -This will be "20602" for "libxml2 2.6.2". Don't mix this version id with -$XML::LibXML::VERSION. The latter contains the version of XML::LibXML itself -while the first contains the version of libxml2 XML::LibXML was compiled for. - - -=item B<XML::LibXML::LIBXML_RUNTIME_VERSION> - - $DLL_Version = XML::LibXML::LIBXML_RUNTIME_VERSION; - -Returns a version string of the libxml2 which is (usually dynamically) linked -by XML::LibXML. This will be "20602" for libxml2 released as "2.6.2" and -something like "20602-CVS2032" for a CVS build of libxml2. - -XML::LibXML issues a warning if the version of libxml2 dynamically linked to it -is less than the version of libxml2 which it was compiled against. - - - -=back - - -=head1 EXPORTS - -By default the module exports all constants and functions listed in the :all -tag, described below. - - -=head1 EXPORT TAGS - -=over 4 - -=item B<:all> - -Includes the tags C<<<<<< :libxml >>>>>>, C<<<<<< :encoding >>>>>>, and C<<<<<< :ns >>>>>> described below. - - -=item B<:libxml> - -Exports integer constants for DOM node types (defined in a separately -distributed XML::LibXML::Common module). - - - - XML_ELEMENT_NODE => 1 - XML_ATTRIBUTE_NODE => 2 - XML_TEXT_NODE => 3 - XML_CDATA_SECTION_NODE => 4 - XML_ENTITY_REF_NODE => 5 - XML_ENTITY_NODE => 6 - XML_PI_NODE => 7 - XML_COMMENT_NODE => 8 - XML_DOCUMENT_NODE => 9 - XML_DOCUMENT_TYPE_NODE => 10 - XML_DOCUMENT_FRAG_NODE => 11 - XML_NOTATION_NODE => 12 - XML_HTML_DOCUMENT_NODE => 13 - XML_DTD_NODE => 14 - XML_ELEMENT_DECL => 15 - XML_ATTRIBUTE_DECL => 16 - XML_ENTITY_DECL => 17 - XML_NAMESPACE_DECL => 18 - XML_XINCLUDE_START => 19 - XML_XINCLUDE_END => 20 - - -=item B<:encoding> - -Exports two encoding conversion functions from the (separate) module -XML::LibXML::Common. - - - - encodeToUTF8() - decodeFromUTF8() - - -=item B<:libxml> - -Exports two convenience constants: the implicit namespace of the reserved C<<<<<< xml: >>>>>> prefix, and the implicit namespace for the reserved C<<<<<< xmlns: >>>>>> prefix. - - - - XML_XML_NS => 'http://www.w3.org/XML/1998/namespace' - XML_XMLNS_NS => 'http://www.w3.org/2000/xmlns/' - - - -=back - - -=head1 RELATED MODULES - -The modules described in this section are not part of the XML::LibXML package -itself. As they support some additional features, they are mentioned here. - -=over 4 - -=item B<XML::LibXSLT> - -XSLT 1.0 Processor using libxslt and XML::LibXML - - -=item B<XML::LibXML::Common> - -Common functions for XML::LibXML related Classes - - -=item B<XML::LibXML::Iterator> - -XML::LibXML Implementation of the DOM Traversal Specification - - - -=back - - -=head1 XML::LIBXML AND XML::GDOME - -Note: I<<<<<< THE FUNCTIONS DESCRIBED HERE ARE STILL EXPERIMENTAL >>>>>> - -Although both modules make use of libxml2's XML capabilities, the DOM -implementation of both modules are not compatible. But still it is possible to -exchange nodes from one DOM to the other. The concept of this exchange is -pretty similar to the function cloneNode(): The particular node is copied on -the low-level to the opposite DOM implementation. - -Since the DOM implementations cannot coexist within one document, one is forced -to copy each node that should be used. Because you are always keeping two nodes -this may cause quite an impact on a machines memory usage. - -XML::LibXML provides two functions to export or import GDOME nodes: -import_GDOME() and export_GDOME(). Both function have two parameters: the node -and a flag for recursive import. The flag works as in cloneNode(). - -The two functions allow to export and import XML::GDOME nodes explicitly, -however, XML::LibXML allows also the transparent import of XML::GDOME nodes in -functions such as appendChild(), insertAfter() and so on. While native nodes -are automatically adopted in most functions XML::GDOME nodes are always cloned -in advance. Thus if the original node is modified after the operation, the node -in the XML::LibXML document will not have this information. - -=over 4 - -=item B<import_GDOME> - - $libxmlnode = XML::LibXML->import_GDOME( $node, $deep ); - -This clones an XML::GDOME node to a XML::LibXML node explicitly. - - -=item B<export_GDOME> - - $gdomenode = XML::LibXML->export_GDOME( $node, $deep ); - -Allows to clone an XML::LibXML node into a XML::GDOME node. - - - -=back - - -=head1 CONTACTS - -For bug reports, please use the CPAN request tracker on -http://rt.cpan.org/NoAuth/Bugs.html?Dist=XML-LibXML - -For suggestions etc., and other issues related to XML::LibXML you may use the -perl XML mailing list (C<<<<<< perl-xml@listserv.ActiveState.com >>>>>>), where most XML-related Perl modules are discussed. In case of problems you -should check the archives of that list first. Many problems are already -discussed there. You can find the list's archives and subscription options at L<<<<<< http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml|http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml >>>>>>. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod deleted file mode 100644 index d20d4234163..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod +++ /dev/null @@ -1,130 +0,0 @@ -=head1 NAME - -XML::LibXML::Attr - XML::LibXML Attribute Class - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Attribute nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $attr = XML::LibXML::Attr->new($name [,$value]); - $string = $attr->getValue(); - $string = $attr->value; - $attr->setValue( $string ); - $node = $attr->getOwnerElement(); - $attr->setNamespace($nsURI, $prefix); - $bool = $attr->isId; - $string = $attr->serializeContent; - -=head1 DESCRIPTION - -This is the interface to handle Attributes like ordinary nodes. The naming of -the class relies on the W3C DOM documentation. - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $attr = XML::LibXML::Attr->new($name [,$value]); - -Class constructor. If you need to work with ISO encoded strings, you should I<<<<<< always >>>>>> use the C<<<<<< createAttrbute >>>>>> of L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - - -=item B<getValue> - - $string = $attr->getValue(); - -Returns the value stored for the attribute. If undef is returned, the attribute -has no value, which is different of being C<<<<<< not specified >>>>>>. - - -=item B<value> - - $string = $attr->value; - -Alias for I<<<<<< getValue() >>>>>> - - -=item B<setValue> - - $attr->setValue( $string ); - -This is needed to set a new attribute value. If ISO encoded strings are passed -as parameter, the node has to be bound to a document, otherwise the encoding -might be done incorrectly. - - -=item B<getOwnerElement> - - $node = $attr->getOwnerElement(); - -returns the node the attribute belongs to. If the attribute is not bound to a -node, undef will be returned. Overwriting the underlying implementation, the I<<<<<< parentNode >>>>>> function will return undef, instead of the owner element. - - -=item B<setNamespace> - - $attr->setNamespace($nsURI, $prefix); - -This function tries to bound the attribute to a given namespace. If C<<<<<< $nsURI >>>>>> is undefined or empty, the function discards any previous association of the -attribute with a namespace. If the namespace was not previously declared in the -context of the attribute, this function will fail. In this case you may wish to -call setNamespace() on the ownerElement. If the namespace URI is non-empty and -declared in the context of the attribute, but only with a different (non-empty) -prefix, then the attribute is still bound to the namespace but gets a different -prefix than C<<<<<< $prefix >>>>>>. The function also fails if the prefix is empty but the namespace URI is not -(because unprefixed attributes should by definition belong to no namespace). -This function returns 1 on success, 0 otherwise. - - -=item B<isId> - - $bool = $attr->isId; - -Determine whether an attribute is of type ID. For documents with a DTD, this -information is only available if DTD loading/validation has been requested. For -HTML documents parsed with the HTML parser ID detection is done automatically. -In XML documents, all "xml:id" attributes are considered to be of type ID. - - -=item B<serializeContent($docencoding)> - - $string = $attr->serializeContent; - -This function is not part of DOM API. It returns attribute content in the form -in which it serializes into XML, that is with all meta-characters properly -quoted and with raw entity references (except for entities expanded during -parse time). Setting the optional $docencoding flag to 1 enforces document -encoding for the output string (which is then passed to Perl as a byte string). -Otherwise the string is passed to Perl as (UTF-8 encoded) characters. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm deleted file mode 100644 index 23352ffd0cc..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm +++ /dev/null @@ -1,85 +0,0 @@ -# $Id: Boolean.pm 709 2008-01-29 21:01:32Z pajas $ -# Copyright 2001-2002, AxKit.com Ltd. All rights reserved. - -package XML::LibXML::Boolean; -use XML::LibXML::Number; -use XML::LibXML::Literal; -use strict; - -use vars qw ($VERSION); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&value, - '<=>' => \&cmp; - -sub new { - my $class = shift; - my ($param) = @_; - my $val = $param ? 1 : 0; - bless \$val, $class; -} - -sub True { - my $class = shift; - my $val = 1; - bless \$val, $class; -} - -sub False { - my $class = shift; - my $val = 0; - bless \$val, $class; -} - -sub value { - my $self = shift; - $$self; -} - -sub cmp { - my $self = shift; - my ($other, $swap) = @_; - if ($swap) { - return $other <=> $$self; - } - return $$self <=> $other; -} - -sub to_number { XML::LibXML::Number->new($_[0]->value); } -sub to_boolean { $_[0]; } -sub to_literal { XML::LibXML::Literal->new($_[0]->value ? "true" : "false"); } - -sub string_value { return $_[0]->to_literal->value; } - -1; -__END__ - -=head1 NAME - -XML::LibXML::Boolean - Boolean true/false values - -=head1 DESCRIPTION - -XML::LibXML::Boolean objects implement simple boolean true/false objects. - -=head1 API - -=head2 XML::LibXML::Boolean->True - -Creates a new Boolean object with a true value. - -=head2 XML::LibXML::Boolean->False - -Creates a new Boolean object with a false value. - -=head2 value() - -Returns true or false. - -=head2 to_literal() - -Returns the string "true" or "false". - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod deleted file mode 100644 index 3776c2335d7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod +++ /dev/null @@ -1,54 +0,0 @@ -=head1 NAME - -XML::LibXML::CDATASection - XML::LibXML Class for CDATA Sections - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to CDATA nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $node = XML::LibXML::CDATASection( $content ); - -=head1 DESCRIPTION - -This class provides all functions of L<<<<<< XML::LibXML Class for Text Nodes|XML::LibXML Class for Text Nodes >>>>>>, but for CDATA nodes. - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $node = XML::LibXML::CDATASection( $content ); - -The constructor is the only provided function for this package. It is required, -because I<<<<<< libxml2 >>>>>> treats the different text node types slightly differently. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod deleted file mode 100644 index 2e6af2f63ab..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod +++ /dev/null @@ -1,55 +0,0 @@ -=head1 NAME - -XML::LibXML::Comment - XML::LibXML Comment Class - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Comment nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $node = XML::LibXML::Comment( $content ); - -=head1 DESCRIPTION - -This class provides all functions of L<<<<<< XML::LibXML Class for Text Nodes|XML::LibXML Class for Text Nodes >>>>>>, but for comment nodes. This can be done, since only the output of the node -types is different, but not the data structure. :-) - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $node = XML::LibXML::Comment( $content ); - -The constructor is the only provided function for this package. It is required, -because I<<<<<< libxml2 >>>>>> treats text nodes and comment nodes slightly differently. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm deleted file mode 100644 index 4c571ad861f..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm +++ /dev/null @@ -1,306 +0,0 @@ -#-------------------------------------------------------------------------# -# $Id: Common.pm,v 1.5 2003/02/27 18:32:59 phish108 Exp $ -#-------------------------------------------------------------------------# -package XML::LibXML::Common; - -#-------------------------------------------------------------------------# -# global blur # -#-------------------------------------------------------------------------# -use strict; - -require Exporter; -require DynaLoader; -use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS); - -@ISA = qw(DynaLoader Exporter); - -$VERSION = '0.13'; - -bootstrap XML::LibXML::Common $VERSION; - -#-------------------------------------------------------------------------# -# export information # -#-------------------------------------------------------------------------# -%EXPORT_TAGS = ( - all => [qw( - ELEMENT_NODE - ATTRIBUTE_NODE - TEXT_NODE - CDATA_SECTION_NODE - ENTITY_REFERENCE_NODE - ENTITY_NODE - PI_NODE - PROCESSING_INSTRUCTION_NODE - COMMENT_NODE - DOCUMENT_NODE - DOCUMENT_TYPE_NODE - DOCUMENT_FRAG_NODE - DOCUMENT_FRAGMENT_NODE - NOTATION_NODE - HTML_DOCUMENT_NODE - DTD_NODE - ELEMENT_DECLARATION - ATTRIBUTE_DECLARATION - ENTITY_DECLARATION - NAMESPACE_DECLARATION - XINCLUDE_END - XINCLUDE_START - encodeToUTF8 - decodeFromUTF8 - )], - w3c => [qw( - ELEMENT_NODE - ATTRIBUTE_NODE - TEXT_NODE - CDATA_SECTION_NODE - ENTITY_REFERENCE_NODE - ENTITY_NODE - PI_NODE - PROCESSING_INSTRUCTION_NODE - COMMENT_NODE - DOCUMENT_NODE - DOCUMENT_TYPE_NODE - DOCUMENT_FRAG_NODE - DOCUMENT_FRAGMENT_NODE - NOTATION_NODE - HTML_DOCUMENT_NODE - DTD_NODE - ELEMENT_DECLARATION - ATTRIBUTE_DECLARATION - ENTITY_DECLARATION - NAMESPACE_DECLARATION - XINCLUDE_END - XINCLUDE_START - )], - libxml => [qw( - XML_ELEMENT_NODE - XML_ATTRIBUTE_NODE - XML_TEXT_NODE - XML_CDATA_SECTION_NODE - XML_ENTITY_REF_NODE - XML_ENTITY_NODE - XML_PI_NODE - XML_COMMENT_NODE - XML_DOCUMENT_NODE - XML_DOCUMENT_TYPE_NODE - XML_DOCUMENT_FRAG_NODE - XML_NOTATION_NODE - XML_HTML_DOCUMENT_NODE - XML_DTD_NODE - XML_ELEMENT_DECL - XML_ATTRIBUTE_DECL - XML_ENTITY_DECL - XML_NAMESPACE_DECL - XML_XINCLUDE_END - XML_XINCLUDE_START - )], - gdome => [qw( - GDOME_ELEMENT_NODE - GDOME_ATTRIBUTE_NODE - GDOME_TEXT_NODE - GDOME_CDATA_SECTION_NODE - GDOME_ENTITY_REF_NODE - GDOME_ENTITY_NODE - GDOME_PI_NODE - GDOME_COMMENT_NODE - GDOME_DOCUMENT_NODE - GDOME_DOCUMENT_TYPE_NODE - GDOME_DOCUMENT_FRAG_NODE - GDOME_NOTATION_NODE - GDOME_HTML_DOCUMENT_NODE - GDOME_DTD_NODE - GDOME_ELEMENT_DECL - GDOME_ATTRIBUTE_DECL - GDOME_ENTITY_DECL - GDOME_NAMESPACE_DECL - GDOME_XINCLUDE_END - GDOME_XINCLUDE_START - )], - encoding => [qw( - encodeToUTF8 - decodeFromUTF8 - )], - ); - -@EXPORT_OK = ( - @{$EXPORT_TAGS{encoding}}, - @{$EXPORT_TAGS{w3c}}, - @{$EXPORT_TAGS{libxml}}, - @{$EXPORT_TAGS{gdome}}, - ); - -@EXPORT = ( - @{$EXPORT_TAGS{encoding}}, - @{$EXPORT_TAGS{w3c}}, - ); - -#-------------------------------------------------------------------------# -# W3 conform node types # -#-------------------------------------------------------------------------# -use constant ELEMENT_NODE => 1; -use constant ATTRIBUTE_NODE => 2; -use constant TEXT_NODE => 3; -use constant CDATA_SECTION_NODE => 4; -use constant ENTITY_REFERENCE_NODE => 5; -use constant ENTITY_NODE => 6; -use constant PROCESSING_INSTRUCTION_NODE => 7; -use constant COMMENT_NODE => 8; -use constant DOCUMENT_NODE => 9; -use constant DOCUMENT_TYPE_NODE => 10; -use constant DOCUMENT_FRAGMENT_NODE => 11; -use constant NOTATION_NODE => 12; -use constant HTML_DOCUMENT_NODE => 13; -use constant DTD_NODE => 14; -use constant ELEMENT_DECLARATION => 15; -use constant ATTRIBUTE_DECLARATION => 16; -use constant ENTITY_DECLARATION => 17; -use constant NAMESPACE_DECLARATION => 18; - -#-------------------------------------------------------------------------# -# some extras for the W3 spec -#-------------------------------------------------------------------------# -use constant PI_NODE => 7; -use constant DOCUMENT_FRAG_NODE => 11; -use constant XINCLUDE_END => 19; -use constant XINCLUDE_START => 20; - -#-------------------------------------------------------------------------# -# libxml2 compat names # -#-------------------------------------------------------------------------# -use constant XML_ELEMENT_NODE => 1; -use constant XML_ATTRIBUTE_NODE => 2; -use constant XML_TEXT_NODE => 3; -use constant XML_CDATA_SECTION_NODE => 4; -use constant XML_ENTITY_REF_NODE => 5; -use constant XML_ENTITY_NODE => 6; -use constant XML_PI_NODE => 7; -use constant XML_COMMENT_NODE => 8; -use constant XML_DOCUMENT_NODE => 9; -use constant XML_DOCUMENT_TYPE_NODE => 10; -use constant XML_DOCUMENT_FRAG_NODE => 11; -use constant XML_NOTATION_NODE => 12; -use constant XML_HTML_DOCUMENT_NODE => 13; -use constant XML_DTD_NODE => 14; -use constant XML_ELEMENT_DECL => 15; -use constant XML_ATTRIBUTE_DECL => 16; -use constant XML_ENTITY_DECL => 17; -use constant XML_NAMESPACE_DECL => 18; -use constant XML_XINCLUDE_START => 19; -use constant XML_XINCLUDE_END => 20; - -#-------------------------------------------------------------------------# -# libgdome compat names # -#-------------------------------------------------------------------------# -use constant GDOME_ELEMENT_NODE => 1; -use constant GDOME_ATTRIBUTE_NODE => 2; -use constant GDOME_TEXT_NODE => 3; -use constant GDOME_CDATA_SECTION_NODE => 4; -use constant GDOME_ENTITY_REF_NODE => 5; -use constant GDOME_ENTITY_NODE => 6; -use constant GDOME_PI_NODE => 7; -use constant GDOME_COMMENT_NODE => 8; -use constant GDOME_DOCUMENT_NODE => 9; -use constant GDOME_DOCUMENT_TYPE_NODE => 10; -use constant GDOME_DOCUMENT_FRAG_NODE => 11; -use constant GDOME_NOTATION_NODE => 12; -use constant GDOME_HTML_DOCUMENT_NODE => 13; -use constant GDOME_DTD_NODE => 14; -use constant GDOME_ELEMENT_DECL => 15; -use constant GDOME_ATTRIBUTE_DECL => 16; -use constant GDOME_ENTITY_DECL => 17; -use constant GDOME_NAMESPACE_DECL => 18; -use constant GDOME_XINCLUDE_START => 19; -use constant GDOME_XINCLUDE_END => 20; - -1; -#-------------------------------------------------------------------------# -__END__ - -=head1 NAME - -XML::LibXML::Common - Routines and Constants common for XML::LibXML and XML::GDOME - -=head1 SYNOPSIS - - use XML::LibXML::Common; - -=head1 DESCRIPTION - -XML::LibXML and XML::GDOME share some of the same functionality. This -package should bundle some shared constansts and functions, so both -modules may coexist within the same scripts. - -XML::LibXML::Common defines all node types as constants. While -XML::LibXML and XML::GDOME originally declared their own node type -definitions, one may want to use XML::LibXML::Common in its -compatibility mode: - -=over 4 - -=item * use XML::LibXML::Common qw(:libxml); - -:libxml will use the XML::LibXML Compatibility mode, which defines the -old 'XML_' node-type definitions - -=item * use XML::LibXML::Common qw(:gdome); - -This allows one to use the XML::LibXML Compatibility mode, which -defines the old 'GDOME_' node-type definitions - -=item * use XML::LibXML::Common qw(:w3c); - -This uses the nodetype definition names as specified for DOM. - -=item * use XML::LibXML::Common qw(:encoding); - -This is ment if only the encoding functions of XML::LibXML::Common -should be used. - -=back - -By default the W3 definitions as defined in the DOM specifications and -the encoding functions are exported by XML::LibXML::Common. - -=head2 encoding functions - -To encode or decode a string to or from UTF-8 XML::LibXML::Common exports -two functions, which use the encoding mechanism of the underlaying -implementation. These functions should be used, if external encoding -is required (e.g. for queryfunctions). - -=head2 encodeToUTF8 - - $encodedstring = encodeToUTF8( $name_of_encoding, $sting_to_encode ); - -The function will encode a string from the specified encoding to UTF-8. - -=head2 decodeFromUTF8 - - $decodedstring = decodeFromUTF8($name_of_encoding, $string_to_decode ); - -This Function transforms an UTF-8 encoded string the specified -encoding. While transforms to ISO encodings may cause errors if the -given stirng contains unsupported characters, both functions can -transform to UTF-16 encodings as well. - -Note that both encoding functions report their errors on the standard -error. If an error occours the function will croak(). To catch the -error information it is required to call the encoding function from -within an eval block to avoid a script to stop. - -=head1 AUTHOR - -Christian Glahn, (christian.glahn@uibk.ac.at) Innsbruck University - -=head1 COPYRIGHT - -(c) 2002 Christian Glahn. All rights reserved. - -This program is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - -=head1 SEE ALSO - -L<perl>, L<XML::LibXML>, L<XML::GDOME> - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod deleted file mode 100644 index 921a504cf49..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod +++ /dev/null @@ -1,139 +0,0 @@ -=head1 NAME - -XML::LibXML::DOM - XML::LibXML DOM Implementation - - -=head1 DESCRIPTION - -XML::LibXML provides an light-wight interface to I<<<<<< modify >>>>>> a node of the document tree generated by the XML::LibXML parser. This interface -follows as far as possible the DOM Level 3 specification. Additionally to the -specified functions the XML::LibXML supports some functions that are more handy -to use in the perl environment. - -One also has to remember, that XML::LibXML is an interface to libxml2 nodes -which actually reside on the C-Level of XML::LibXML. This means each node is a -reference to a structure different than a perl hash or array. The only way to -access these structure's values is through the DOM interface provided by -XML::LibXML. This also means, that one I<<<<<< can't >>>>>> simply inherit a XML::LibXML node and add new member variables as they were -hash keys. - -The DOM interface of XML::LibXML does not intend to implement a full DOM -interface as it is done by XML::GDOME and used for full featured application. -Moreover, it offers an simple way to build or modify documents that are created -by XML::LibXML's parser. - -Another target of the XML::LibXML interface is to make the interfaces of -libxml2 available to the perl community. This includes also some workarounds to -some features where libxml2 assumes more control over the C-Level that most -perl users don't have. - -One of the most important parts of the XML::LibXML DOM interface is, that the -interfaces try do follow the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>> rather strictly. This means the interface functions are named as the DOM -specification says and not what widespread Java interfaces claim to be -standard. Although there are several functions that have only a singular -interface that conforms to the DOM spec XML::LibXML provides an additional Java -style alias interface. - -Also there are some function interfaces left over from early stages of -XML::LibXML for compatibility reasons. These interfaces are for compatibility -reasons I<<<<<< only >>>>>>. They might disappear in one of the future versions of XML::LibXML, so a user -is requested to switch over to the official functions. - - -=head2 Encodings and XML::LibXML's DOM implementation - -See the section on Encodings in the I<<<<<< XML::LibXML >>>>>> manual page. - - -=head2 Namespaces and XML::LibXML's DOM implementation - -XML::LibXML's DOM implementation is limited by the DOM implementation of -libxml2 which treats namespaces slightly differently than required by the DOM -Level 2 specification. - -According to the DOM Level 2 specification, namespaces of elements and -attributes should be persistent, and nodes should be permanently bound to -namespace URIs as they get created; it should be possible to manipulate the -special attributes used for declaring XML namespaces just as other attributes -without affecting the namespaces of other nodes. In DOM Level 2, the -application is responsible for creating the special attributes consistently -and/or for correct serialization of the document. - -This is both inconvenient, causes problems in serialization of DOM to XML, and -most importantly, seems almost impossible to implement over libxml2. - -In libxml2, namespace URI and prefix of a node is provided by a pointer to a -namespace declaration (appearing as a special xmlns attribute in the XML -document). If the prefix or namespace URI of the declaration changes, the -prefix and namespace URI of all nodes that point to it changes as well. -Moreover, in contrast to DOM, a node (element or attribute) can only be bound -to a namespace URI if there is some namespace declaration in the document to -point to. - -Therefore current DOM implementation in XML::LibXML tries to treat namespace -declarations in a compromise between reason, common sense, limitations of -libxml2, and the DOM Level 2 specification. - -In XML::LibXML, special attributes declaring XML namespaces are often created -automatically, usually when a namespaced node is attached to a document and no -existing declaration of the namespace and prefix is in the scope to be reused. -In this respect, XML::LibXML DOM implementation differs from the DOM Level 2 -specification according to which special attributes for declaring the -appropriate XML namespaces should not be added when a node with a namespace -prefix and namespace URI is created. - -Namespace declarations are also created when L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>'s createElementNS() or createAttributeNS() function are used. If the a -namespace is not declared on the documentElement, the namespace will be locally -declared for the newly created node. In case of Attributes this may look a bit -confusing, since these nodes cannot have namespace declarations itself. In this -case the namespace is internally applied to the attribute and later declared on -the node the attribute is appended to (if required). - -The following example may explain this a bit: - - - - my $doc = XML::LibXML->createDocument; - my $root = $doc->createElementNS( "", "foo" ); - $doc->setDocumentElement( $root ); - - my $attr = $doc->createAttributeNS( "bar", "bar:foo", "test" ); - $root->setAttributeNodeNS( $attr ); - -This piece of code will result in the following document: - - - - <?xml version="1.0"?> - <foo xmlns:bar="bar" bar:foo="test"/> - -The namespace is declared on the document element during the -setAttributeNodeNS() call. - -Namespaces can be also declared explicitly by the use of XML::LibXML:Element's -setNamespace() function. Since 1.61, they can also be manipulated with -functions setNamespaceDeclPrefix() and setNamespaceDeclURI() (not available in -DOM). Changing an URI or prefix of an existing namespace declaration affects -the namespace URI and prefix of all nodes which point to it (that is the nodes -in its scope). - -It is also important to repeat the specification: While working with namespaces -you should use the namespace aware functions instead of the simplified -versions. For example you should I<<<<<< never >>>>>> use setAttribute() but setAttributeNS(). - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod deleted file mode 100644 index 02c7a0dfe18..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod +++ /dev/null @@ -1,675 +0,0 @@ -=head1 NAME - -XML::LibXML::Document - XML::LibXML DOM Document Class - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Document nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $dom = XML::LibXML::Document->new( $version, $encoding ); - $dom = XML::LibXML::Document->createDocument( $version, $encoding ); - $strEncoding = $doc->encoding(); - $strEncoding = $doc->actualEncoding(); - $doc->setEncoding($new_encoding); - $strVersion = $doc->version(); - $doc->standalone - $doc->setStandalone($numvalue); - my $compression = $doc->compression; - $doc->setCompression($ziplevel); - $docstring = $dom->toString($format); - $c14nstr = $doc->toStringC14N($comment_flag,$xpath); - $ec14nstr = $doc->toStringEC14N($inclusive_prefix_list, $comment_flag,$xpath); - $str = $doc->serialize($format); - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - $ec14nstr = $doc->serialize_exc_c14n($comment_flag,$xpath,$inclusive_prefix_list); - $state = $doc->toFile($filename, $format); - $state = $doc->toFH($fh, $format); - $str = $document->toStringHTML(); - $str = $document->serialize_html(); - $bool = $dom->is_valid(); - $dom->validate(); - $root = $dom->documentElement(); - $dom->setDocumentElement( $root ); - $element = $dom->createElement( $nodename ); - $element = $dom->createElementNS( $namespaceURI, $qname ); - $text = $dom->createTextNode( $content_text ); - $comment = $dom->createComment( $comment_text ); - $attrnode = $doc->createAttribute($name [,$value]); - $attrnode = $doc->createAttributeNS( namespaceURI, $name [,$value] ); - $fragment = $doc->createDocumentFragment(); - $cdata = $dom->create( $cdata_content ); - my $pi = $doc->createProcessingInstruction( $target, $data ); - my $entref = $doc->createEntityReference($refname); - $dtd = $document->createInternalSubset( $rootnode, $public, $system); - $dtd = $document->createExternalSubset( $rootnode_name, $publicId, $systemId); - $document->importNode( $node ); - $document->adoptNode( $node ); - my $dtd = $doc->externalSubset; - my $dtd = $doc->internalSubset; - $doc->setExternalSubset($dtd); - $doc->setInternalSubset($dtd); - my $dtd = $doc->removeExternalSubset(); - my $dtd = $doc->removeInternalSubset(); - my @nodelist = $doc->getElementsByTagName($tagname); - my @nodelist = $doc->getElementsByTagNameNS($nsURI,$tagname); - my @nodelist = $doc->getElementsByLocalName($localname); - my $node = $doc->getElementById($id); - $dom->indexElements(); - -=head1 DESCRIPTION - -The Document Class is in most cases the result of a parsing process. But -sometimes it is necessary to create a Document from scratch. The DOM Document -Class provides functions that conform to the DOM Core naming style. - -It inherits all functions from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> as specified in the DOM specification. This enables access to the nodes besides -the root element on document level - a C<<<<<< DTD >>>>>> for example. The support for these nodes is limited at the moment. - -While generally nodes are bound to a document in the DOM concept it is -suggested that one should always create a node not bound to any document. There -is no need of really including the node to the document, but once the node is -bound to a document, it is quite safe that all strings have the correct -encoding. If an unbound text node with an ISO encoded string is created (e.g. -with $CLASS->new()), the C<<<<<< toString >>>>>> function may not return the expected result. - -To prevent such problems, it is recommended to pass all data to XML::LibXML -methods as character strings (i.e. UTF-8 encoded, with the UTF8 flag on). - - -=head1 METHODS - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $dom = XML::LibXML::Document->new( $version, $encoding ); - -alias for createDocument() - - -=item B<createDocument> - - $dom = XML::LibXML::Document->createDocument( $version, $encoding ); - -The constructor for the document class. As Parameter it takes the version -string and (optionally) the encoding string. Simply calling I<<<<<< createDocument >>>>>>() will create the document: - - - - <?xml version="your version" encoding="your encoding"?> - -Both parameter are optional. The default value for I<<<<<< $version >>>>>> is C<<<<<< 1.0 >>>>>>, of course. If the I<<<<<< $encoding >>>>>> parameter is not set, the encoding will be left unset, which means UTF-8 is -implied. - -The call of I<<<<<< createDocument >>>>>>() without any parameter will result the following code: - - - - <?xml version="1.0"?> - -Alternatively one can call this constructor directly from the XML::LibXML class -level, to avoid some typing. This will not have any effect on the class -instance, which is always XML::LibXML::Document. - - - - my $document = XML::LibXML->createDocument( "1.0", "UTF-8" ); - -is therefore a shortcut for - - - - my $document = XML::LibXML::Document->createDocument( "1.0", "UTF-8" ); - - -=item B<encoding> - - $strEncoding = $doc->encoding(); - -returns the encoding string of the document. - - - - my $doc = XML::LibXML->createDocument( "1.0", "ISO-8859-15" ); - print $doc->encoding; # prints ISO-8859-15 - - -=item B<actualEncoding> - - $strEncoding = $doc->actualEncoding(); - -returns the encoding in which the XML will be returned by $doc->toString(). -This is usually the original encoding of the document as declared in the XML -declaration and returned by $doc->encoding. If the original encoding is not -known (e.g. if created in memory or parsed from a XML without a declared -encoding), 'UTF-8' is returned. - - - - my $doc = XML::LibXML->createDocument( "1.0", "ISO-8859-15" ); - print $doc->encoding; # prints ISO-8859-15 - - -=item B<setEncoding> - - $doc->setEncoding($new_encoding); - -This method allows to change the declaration of encoding in the XML declaration -of the document. The value also affects the encoding in which the document is -serialized to XML by $doc->toString(). Use setEncoding() to remove the encoding -declaration. - - -=item B<version> - - $strVersion = $doc->version(); - -returns the version string of the document - -I<<<<<< getVersion() >>>>>> is an alternative form of this function. - - -=item B<standalone> - - $doc->standalone - -This function returns the Numerical value of a documents XML declarations -standalone attribute. It returns I<<<<<< 1 >>>>>> if standalone="yes" was found, I<<<<<< 0 >>>>>> if standalone="no" was found and I<<<<<< -1 >>>>>> if standalone was not specified (default on creation). - - -=item B<setStandalone> - - $doc->setStandalone($numvalue); - -Through this method it is possible to alter the value of a documents standalone -attribute. Set it to I<<<<<< 1 >>>>>> to set standalone="yes", to I<<<<<< 0 >>>>>> to set standalone="no" or set it to I<<<<<< -1 >>>>>> to remove the standalone attribute from the XML declaration. - - -=item B<compression> - - my $compression = $doc->compression; - -libxml2 allows reading of documents directly from gzipped files. In this case -the compression variable is set to the compression level of that file (0-8). If -XML::LibXML parsed a different source or the file wasn't compressed, the -returned value will be I<<<<<< -1 >>>>>>. - - -=item B<setCompression> - - $doc->setCompression($ziplevel); - -If one intends to write the document directly to a file, it is possible to set -the compression level for a given document. This level can be in the range from -0 to 8. If XML::LibXML should not try to compress use I<<<<<< -1 >>>>>> (default). - -Note that this feature will I<<<<<< only >>>>>> work if libxml2 is compiled with zlib support and toFile() is used for output. - - -=item B<toString> - - $docstring = $dom->toString($format); - -I<<<<<< toString >>>>>> is a DOM serializing function, so the DOM Tree is serialized into a XML string, -ready for output. - -IMPORTANT: unlike toString for other nodes, on document nodes this function -returns the XML as a byte string in the original encoding of the document (see -the actualEncoding() method)! This means you can simply do: - - - - open OUT, $file; - print OUT $doc->toString; - -regardless of the actual encoding of the document. See the section on encodings -in L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> for more details. - -The optional I<<<<<< $format >>>>>> parameter sets the indenting of the output. This parameter is expected to be an C<<<<<< integer >>>>>> value, that specifies that indentation should be used. The format parameter can -have three different values if it is used: - -If $format is 0, than the document is dumped as it was originally parsed - -If $format is 1, libxml2 will add ignorable white spaces, so the nodes content -is easier to read. Existing text nodes will not be altered - -If $format is 2 (or higher), libxml2 will act as $format == 1 but it add a -leading and a trailing line break to each text node. - -libxml2 uses a hard-coded indentation of 2 space characters per indentation -level. This value can not be altered on run-time. - - -=item B<toStringC14N> - - $c14nstr = $doc->toStringC14N($comment_flag,$xpath); - -See the documentation in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. - - -=item B<toStringEC14N> - - $ec14nstr = $doc->toStringEC14N($inclusive_prefix_list, $comment_flag,$xpath); - -See the documentation in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. - - -=item B<serialize> - - $str = $doc->serialize($format); - -An alias for toString(). This function was name added to be more consistent -with libxml2. - - -=item B<serialize_c14n> - - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - -An alias for toStringC14N(). - - -=item B<serialize_exc_c14n> - - $ec14nstr = $doc->serialize_exc_c14n($comment_flag,$xpath,$inclusive_prefix_list); - -An alias for toStringEC14N(). - - -=item B<toFile> - - $state = $doc->toFile($filename, $format); - -This function is similar to toString(), but it writes the document directly -into a filesystem. This function is very useful, if one needs to store large -documents. - -The format parameter has the same behaviour as in toString(). - - -=item B<toFH> - - $state = $doc->toFH($fh, $format); - -This function is similar to toString(), but it writes the document directly to -a filehandle or a stream. A byte stream in the document encoding is passed to -the file handle. Do NOT apply any C<<<<<< :encoding(...) >>>>>> or C<<<<<< :utf8 >>>>>> PerlIO layer to the filehandle! See the section on encodings in L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> for more details. - -The format parameter has the same behaviour as in toString(). - - -=item B<toStringHTML> - - $str = $document->toStringHTML(); - -I<<<<<< toStringHTML >>>>>> serialize the tree to a byte string in the document encoding as HTML. With this -method indenting is automatic and managed by libxml2 internally. - - -=item B<serialize_html> - - $str = $document->serialize_html(); - -An alias for toStringHTML(). - - -=item B<is_valid> - - $bool = $dom->is_valid(); - -Returns either TRUE or FALSE depending on whether the DOM Tree is a valid -Document or not. - -You may also pass in a L<<<<<< XML::LibXML DTD Handling|XML::LibXML DTD Handling >>>>>> object, to validate against an external DTD: - - - - if (!$dom->is_valid($dtd)) { - warn("document is not valid!"); - } - - -=item B<validate> - - $dom->validate(); - -This is an exception throwing equivalent of is_valid. If the document is not -valid it will throw an exception containing the error. This allows you much -better error reporting than simply is_valid or not. - -Again, you may pass in a DTD object - - -=item B<documentElement> - - $root = $dom->documentElement(); - -Returns the root element of the Document. A document can have just one root -element to contain the documents data. - -Optionally one can use I<<<<<< getDocumentElement >>>>>>. - - -=item B<setDocumentElement> - - $dom->setDocumentElement( $root ); - -This function enables you to set the root element for a document. The function -supports the import of a node from a different document tree. - - -=item B<createElement> - - $element = $dom->createElement( $nodename ); - -This function creates a new Element Node bound to the DOM with the name C<<<<<< $nodename >>>>>>. - - -=item B<createElementNS> - - $element = $dom->createElementNS( $namespaceURI, $qname ); - -This function creates a new Element Node bound to the DOM with the name C<<<<<< $nodename >>>>>> and placed in the given namespace. - - -=item B<createTextNode> - - $text = $dom->createTextNode( $content_text ); - -As an equivalent of I<<<<<< createElement >>>>>>, but it creates a I<<<<<< Text Node >>>>>> bound to the DOM. - - -=item B<createComment> - - $comment = $dom->createComment( $comment_text ); - -As an equivalent of I<<<<<< createElement >>>>>>, but it creates a I<<<<<< Comment Node >>>>>> bound to the DOM. - - -=item B<createAttribute> - - $attrnode = $doc->createAttribute($name [,$value]); - -Creates a new Attribute node. - - -=item B<createAttributeNS> - - $attrnode = $doc->createAttributeNS( namespaceURI, $name [,$value] ); - -Creates an Attribute bound to a namespace. - - -=item B<createDocumentFragment> - - $fragment = $doc->createDocumentFragment(); - -This function creates a DocumentFragment. - - -=item B<createCDATASection> - - $cdata = $dom->create( $cdata_content ); - -Similar to createTextNode and createComment, this function creates a -CDataSection bound to the current DOM. - - -=item B<createProcessingInstruction> - - my $pi = $doc->createProcessingInstruction( $target, $data ); - -create a processing instruction node. - -Since this method is quite long one may use its short form I<<<<<< createPI() >>>>>>. - - -=item B<createEntityReference> - - my $entref = $doc->createEntityReference($refname); - -If a document has a DTD specified, one can create entity references by using -this function. If one wants to add a entity reference to the document, this -reference has to be created by this function. - -An entity reference is unique to a document and cannot be passed to other -documents as other nodes can be passed. - -I<<<<<< NOTE: >>>>>> A text content containing something that looks like an entity reference, will -not be expanded to a real entity reference unless it is a predefined entity - - - - my $string = "&foo;"; - $some_element->appendText( $string ); - print $some_element->textContent; # prints "&foo;" - - -=item B<createInternalSubset> - - $dtd = $document->createInternalSubset( $rootnode, $public, $system); - -This function creates and adds an internal subset to the given document. -Because the function automatically adds the DTD to the document there is no -need to add the created node explicitly to the document. - - - - my $document = XML::LibXML::Document->new(); - my $dtd = $document->createInternalSubset( "foo", undef, "foo.dtd" ); - -will result in the following XML document: - - - - <?xml version="1.0"?> - <!DOCTYPE foo SYSTEM "foo.dtd"> - -By setting the public parameter it is possible to set PUBLIC DTDs to a given -document. So - - - - my $document = XML::LibXML::Document->new(); - my $dtd = $document->createInternalSubset( "foo", "-//FOO//DTD FOO 0.1//EN", undef ); - -will cause the following declaration to be created on the document: - - - - <?xml version="1.0"?> - <!DOCTYPE foo PUBLIC "-//FOO//DTD FOO 0.1//EN"> - - -=item B<createExternalSubset> - - $dtd = $document->createExternalSubset( $rootnode_name, $publicId, $systemId); - -This function is similar to C<<<<<< createInternalSubset() >>>>>> but this DTD is considered to be external and is therefore not added to the -document itself. Nevertheless it can be used for validation purposes. - - -=item B<importNode> - - $document->importNode( $node ); - -If a node is not part of a document, it can be imported to another document. As -specified in DOM Level 2 Specification the Node will not be altered or removed -from its original document (C<<<<<< $node->cloneNode(1) >>>>>> will get called implicitly). - -I<<<<<< NOTE: >>>>>> Don't try to use importNode() to import sub-trees that contain an entity -reference - even if the entity reference is the root node of the sub-tree. This -will cause serious problems to your program. This is a limitation of libxml2 -and not of XML::LibXML itself. - - -=item B<adoptNode> - - $document->adoptNode( $node ); - -If a node is not part of a document, it can be imported to another document. As -specified in DOM Level 3 Specification the Node will not be altered but it will -removed from its original document. - -After a document adopted a node, the node, its attributes and all its -descendants belong to the new document. Because the node does not belong to the -old document, it will be unlinked from its old location first. - -I<<<<<< NOTE: >>>>>> Don't try to adoptNode() to import sub-trees that contain entity references - -even if the entity reference is the root node of the sub-tree. This will cause -serious problems to your program. This is a limitation of libxml2 and not of -XML::LibXML itself. - - -=item B<externalSubset> - - my $dtd = $doc->externalSubset; - -If a document has an external subset defined it will be returned by this -function. - -I<<<<<< NOTE >>>>>> Dtd nodes are no ordinary nodes in libxml2. The support for these nodes in -XML::LibXML is still limited. In particular one may not want use common node -function on doctype declaration nodes! - - -=item B<internalSubset> - - my $dtd = $doc->internalSubset; - -If a document has an internal subset defined it will be returned by this -function. - -I<<<<<< NOTE >>>>>> Dtd nodes are no ordinary nodes in libxml2. The support for these nodes in -XML::LibXML is still limited. In particular one may not want use common node -function on doctype declaration nodes! - - -=item B<setExternalSubset> - - $doc->setExternalSubset($dtd); - -I<<<<<< EXPERIMENTAL! >>>>>> - -This method sets a DTD node as an external subset of the given document. - - -=item B<setInternalSubset> - - $doc->setInternalSubset($dtd); - -I<<<<<< EXPERIMENTAL! >>>>>> - -This method sets a DTD node as an internal subset of the given document. - - -=item B<removeExternalSubset> - - my $dtd = $doc->removeExternalSubset(); - -I<<<<<< EXPERIMENTAL! >>>>>> - -If a document has an external subset defined it can be removed from the -document by using this function. The removed dtd node will be returned. - - -=item B<removeInternalSubset> - - my $dtd = $doc->removeInternalSubset(); - -I<<<<<< EXPERIMENTAL! >>>>>> - -If a document has an internal subset defined it can be removed from the -document by using this function. The removed dtd node will be returned. - - -=item B<getElementsByTagName> - - my @nodelist = $doc->getElementsByTagName($tagname); - -Implements the DOM Level 2 function - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByTagNameNS> - - my @nodelist = $doc->getElementsByTagNameNS($nsURI,$tagname); - -Implements the DOM Level 2 function - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByLocalName> - - my @nodelist = $doc->getElementsByLocalName($localname); - -This allows the fetching of all nodes from a given document with the given -Localname. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementById> - - my $node = $doc->getElementById($id); - -Returns the element that has an ID attribute with the given value. If no such -element exists, this returns undef. - -Note: the ID of an element may change while manipulating the document. For -documents with a DTD, the information about ID attributes is only available if -DTD loading/validation has been requested. For HTML documents parsed with the -HTML parser ID detection is done automatically. In XML documents, all "xml:id" -attributes are considered to be of type ID. You can test ID-ness of an -attribute node with $attr->isId(). - -In versions 1.59 and earlier this method was called getElementsById() (plural) -by mistake. Starting from 1.60 this name is maintained as an alias only for -backward compatibility. - - -=item B<indexElements> - - $dom->indexElements(); - -This function causes libxml2 to stamp all elements in a document with their -document position index which considerably speeds up XPath queries for large -documents. It should only be used with static documents that won't be further -changed by any DOM methods, because once a document is indexed, XPath will -always prefer the index to other methods of determining the document order of -nodes. XPath could therefore return improperly ordered node-lists when applied -on a document that has been changed after being indexed. It is of course -possible to use this method to re-index a modified document before using it -with XPath again. This function is not a part of the DOM specification. - -This function returns number of elements indexed, -1 if error occurred, or -2 -if this feature is not available in the running libxml2. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod deleted file mode 100644 index f7498005857..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod +++ /dev/null @@ -1,36 +0,0 @@ -=head1 NAME - -XML::LibXML::DocumentFragment - XML::LibXML's DOM L2 Document Fragment Implementation - -=head1 SYNOPSIS - - - - use XML::LibXML; - - -=head1 DESCRIPTION - -This class is a helper class as described in the DOM Level 2 Specification. It -is implemented as a node without name. All adding, inserting or replacing -functions are aware of document fragments now. - -As well I<<<<<< all >>>>>> unbound nodes (all nodes that do not belong to any document sub-tree) are -implicit members of document fragments. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod deleted file mode 100644 index dc908030765..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod +++ /dev/null @@ -1,98 +0,0 @@ -=head1 NAME - -XML::LibXML::Dtd - XML::LibXML DTD Handling - -=head1 SYNOPSIS - - - - use XML::LibXML; - - $dtd = XML::LibXML::Dtd->new($public_id, $system_id); - $dtd = XML::LibXML::Dtd->parse_string($dtd_str); - $publicId = $dtd->getName(); - $publicId = $dtd->publicId(); - $systemId = $dtd->systemId(); - -=head1 DESCRIPTION - -This class holds a DTD. You may parse a DTD from either a string, or from an -external SYSTEM identifier. - -No support is available as yet for parsing from a filehandle. - -XML::LibXML::Dtd is a sub-class of L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>, so all the methods available to nodes (particularly toString()) are available -to Dtd objects. - - -=head1 METHODS - -=over 4 - -=item B<new> - - $dtd = XML::LibXML::Dtd->new($public_id, $system_id); - -Parse a DTD from the system identifier, and return a DTD object that you can -pass to $doc->is_valid() or $doc->validate(). - - - - my $dtd = XML::LibXML::Dtd->new( - "SOME // Public / ID / 1.0", - "test.dtd" - ); - my $doc = XML::LibXML->new->parse_file("test.xml"); - $doc->validate($dtd); - - -=item B<parse_string> - - $dtd = XML::LibXML::Dtd->parse_string($dtd_str); - -The same as new() above, except you can parse a DTD from a string. Note that -parsing from string may fail if the DTD contains external parametric-entity -references with relative URLs. - - -=item B<getName> - - $publicId = $dtd->getName(); - -Returns the name of DTD; i.e., the name immediately following the DOCTYPE -keyword. - - -=item B<publicId> - - $publicId = $dtd->publicId(); - -Returns the public identifier of the external subset. - - -=item B<systemId> - - $systemId = $dtd->systemId(); - -Returns the system identifier of the external subset. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod deleted file mode 100644 index 40e06e97648..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod +++ /dev/null @@ -1,380 +0,0 @@ -=head1 NAME - -XML::LibXML::Element - XML::LibXML Class for Element Nodes - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Element nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $node = XML::LibXML::Element->new( $name ); - $node->setAttribute( $aname, $avalue ); - $node->setAttributeNS( $nsURI, $aname, $avalue ); - $avalue = $node->getAttribute( $aname ); - $avalue = $node->setAttributeNS( $nsURI, $aname ); - $attrnode = $node->getAttributeNode( $aname ); - $attrnode = $node->getAttributeNodeNS( $namespaceURI, $aname ); - $node->removeAttribute( $aname ); - $node->removeAttributeNS( $nsURI, $aname ); - $boolean = $node->hasAttribute( $aname ); - $boolean = $node->hasAttributeNS( $nsURI, $aname ); - @nodes = $node->getChildrenByTagName($tagname); - @nodes = $node->getChildrenByTagNameNS($nsURI,$tagname); - @nodes = $node->getChildrenByLocalName($localname); - @nodes = $node->getElementsByTagName($tagname); - @nodes = $node->getElementsByTagNameNS($nsURI,$localname); - @nodes = $node->getElementsByLocalName($localname); - $node->appendWellBalancedChunk( $chunk ); - $node->appendText( $PCDATA ); - $node->appendTextNode( $PCDATA ); - $node->appendTextChild( $childname , $PCDATA ); - $node->setNamespace( $nsURI , $nsPrefix, $activate ); - $node->setNamespaceDeclURI( $nsPrefix, $newURI ); - $node->setNamespaceDeclPrefix( $oldPrefix, $newPrefix ); - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $node = XML::LibXML::Element->new( $name ); - -This function creates a new node unbound to any DOM. - - -=item B<setAttribute> - - $node->setAttribute( $aname, $avalue ); - -This method sets or replaces the node's attribute C<<<<<< $aname >>>>>> to the value C<<<<<< $avalue >>>>>> - - -=item B<setAttributeNS> - - $node->setAttributeNS( $nsURI, $aname, $avalue ); - -Namespace-aware version of C<<<<<< setAttribute >>>>>>, where C<<<<<< $nsURI >>>>>> is a namespace URI, C<<<<<< $aname >>>>>> is a qualified name, and C<<<<<< $avalue >>>>>> is the value. The namespace URI may be null (empty or undefined) in order to -create an attribute which has no namespace. - -The current implementation differs from DOM in the following aspects - -If an attribute with the same local name and namespace URI already exists on -the element, but its prefix differs from the prefix of C<<<<<< $aname >>>>>>, then this function is supposed to change the prefix (regardless of namespace -declarations and possible collisions). However, the current implementation does -rather the opposite. If a prefix is declared for the namespace URI in the scope -of the attribute, then the already declared prefix is used, disregarding the -prefix specified in C<<<<<< $aname >>>>>>. If no prefix is declared for the namespace, the function tries to declare the -prefix specified in C<<<<<< $aname >>>>>> and dies if the prefix is already taken by some other namespace. - -According to DOM Level 2 specification, this method can also be used to create -or modify special attributes used for declaring XML namespaces (which belong to -the namespace "http://www.w3.org/2000/xmlns/" and have prefix or name "xmlns"). -This should work since version 1.61, but again the implementation differs from -DOM specification in the following: if a declaration of the same namespace -prefix already exists on the element, then changing its value via this method -automatically changes the namespace of all elements and attributes in its -scope. This is because in libxml2 the namespace URI of an element is not static -but is computed from a pointer to a namespace declaration attribute. - - -=item B<getAttribute> - - $avalue = $node->getAttribute( $aname ); - -If C<<<<<< $node >>>>>> has an attribute with the name C<<<<<< $aname >>>>>>, the value of this attribute will get returned. - - -=item B<getAttributeNS> - - $avalue = $node->setAttributeNS( $nsURI, $aname ); - -Retrieves an attribute value by local name and namespace URI. - - -=item B<getAttributeNode> - - $attrnode = $node->getAttributeNode( $aname ); - -Retrieve an attribute node by name. If no attribute with a given name exists, C<<<<<< undef >>>>>> is returned. - - -=item B<getAttributeNodeNS> - - $attrnode = $node->getAttributeNodeNS( $namespaceURI, $aname ); - -Retrieves an attribute node by local name and namespace URI. If no attribute -with a given localname and namespace exists, C<<<<<< undef >>>>>> is returned. - - -=item B<removeAttribute> - - $node->removeAttribute( $aname ); - -The method removes the attribute C<<<<<< $aname >>>>>> from the node's attribute list, if the attribute can be found. - - -=item B<removeAttributeNS> - - $node->removeAttributeNS( $nsURI, $aname ); - -Namespace version of C<<<<<< removeAttribute >>>>>> - - -=item B<hasAttribute> - - $boolean = $node->hasAttribute( $aname ); - -This function tests if the named attribute is set for the node. If the -attribute is specified, TRUE (1) will be returned, otherwise the return value -is FALSE (0). - - -=item B<hasAttributeNS> - - $boolean = $node->hasAttributeNS( $nsURI, $aname ); - -namespace version of C<<<<<< hasAttribute >>>>>> - - -=item B<getChildrenByTagName> - - @nodes = $node->getChildrenByTagName($tagname); - -The function gives direct access to all child elements of the current node with -a given tagname, where tagname is a qualified name, that is, in case of -namespace usage it may consist of a prefix and local name. This function makes -things a lot easier if one needs to handle big data sets. A special tagname '*' -can be used to match any name. - -If this function is called in SCALAR context, it returns the number of elements -found. - - -=item B<getChildrenByTagNameNS> - - @nodes = $node->getChildrenByTagNameNS($nsURI,$tagname); - -Namespace version of C<<<<<< getChildrenByTagName >>>>>>. A special nsURI '*' matches any namespace URI, in which case the function -behaves just like C<<<<<< getChildrenByLocalName >>>>>>. - -If this function is called in SCALAR context, it returns the number of elements -found. - - -=item B<getChildrenByLocalName> - - @nodes = $node->getChildrenByLocalName($localname); - -The function gives direct access to all child elements of the current node with -a given local name. It makes things a lot easier if one needs to handle big -data sets. A special C<<<<<< localname >>>>>> '*' can be used to match any local name. - -If this function is called in SCALAR context, it returns the number of elements -found. - - -=item B<getElementsByTagName> - - @nodes = $node->getElementsByTagName($tagname); - -This function is part of the spec. It fetches all descendants of a node with a -given tagname, where C<<<<<< tagname >>>>>> is a qualified name, that is, in case of namespace usage it may consist of a -prefix and local name. A special C<<<<<< tagname >>>>>> '*' can be used to match any tag name. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByTagNameNS> - - @nodes = $node->getElementsByTagNameNS($nsURI,$localname); - -Namespace version of C<<<<<< getElementsByTagName >>>>>> as found in the DOM spec. A special C<<<<<< localname >>>>>> '*' can be used to match any local name and C<<<<<< nsURI >>>>>> '*' can be used to match any namespace URI. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<getElementsByLocalName> - - @nodes = $node->getElementsByLocalName($localname); - -This function is not found in the DOM specification. It is a mix of -getElementsByTagName and getElementsByTagNameNS. It will fetch all tags -matching the given local-name. This allows one to select tags with the same -local name across namespace borders. - -In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - - -=item B<appendWellBalancedChunk> - - $node->appendWellBalancedChunk( $chunk ); - -Sometimes it is necessary to append a string coded XML Tree to a node. I<<<<<< appendWellBalancedChunk >>>>>> will do the trick for you. But this is only done if the String is C<<<<<< well-balanced >>>>>>. - -I<<<<<< Note that appendWellBalancedChunk() is only left for compatibility reasons >>>>>>. Implicitly it uses - - - - my $fragment = $parser->parse_xml_chunk( $chunk ); - $node->appendChild( $fragment ); - -This form is more explicit and makes it easier to control the flow of a script. - - -=item B<appendText> - - $node->appendText( $PCDATA ); - -alias for appendTextNode(). - - -=item B<appendTextNode> - - $node->appendTextNode( $PCDATA ); - -This wrapper function lets you add a string directly to an element node. - - -=item B<appendTextChild> - - $node->appendTextChild( $childname , $PCDATA ); - -Somewhat similar with C<<<<<< appendTextNode >>>>>>: It lets you set an Element, that contains only a C<<<<<< text node >>>>>> directly by specifying the name and the text content. - - -=item B<setNamespace> - - $node->setNamespace( $nsURI , $nsPrefix, $activate ); - -setNamespace() allows one to apply a namespace to an element. The function -takes three parameters: 1. the namespace URI, which is required and the two -optional values prefix, which is the namespace prefix, as it should be used in -child elements or attributes as well as the additional activate parameter. If -prefix is not given, undefined or empty, this function tries to create a -declaration of the default namespace. - -The activate parameter is most useful: If this parameter is set to FALSE (0), a -new namespace declaration is simply added to the element while the element's -namespace itself is not altered. Nevertheless, activate is set to TRUE (1) on -default. In this case the namespace is used as the node's effective namespace. -This means the namespace prefix is added to the node name and if there was a -namespace already active for the node, it will be replaced (but its declaration -is not removed from the document). A new namespace declaration is only created -if necessary (that is, if the element is already in the scope of a namespace -declaration associating the prefix with the namespace URI, then this -declaration is reused). - -The following example may clarify this: - - - - my $e1 = $doc->createElement("bar"); - $e1->setNamespace("http://foobar.org", "foo") - -results - - - - <foo:bar xmlns:foo="http://foobar.org"/> - -while - - - - my $e2 = $doc->createElement("bar"); - $e2->setNamespace("http://foobar.org", "foo",0) - -results only - - - - <bar xmlns:foo="http://foobar.org"/> - -By using $activate == 0 it is possible to create multiple namespace -declarations on a single element. - -The function fails if it is required to create a declaration associating the -prefix with the namespace URI but the element already carries a declaration -with the same prefix but different namespace URI. - - -=item B<setNamespaceDeclURI> - - $node->setNamespaceDeclURI( $nsPrefix, $newURI ); - -EXPERIMENTAL IN 1.61 ! - -This function manipulates directly with an existing namespace declaration on an -element. It takes two parameters: the prefix by which it looks up the namespace -declaration and a new namespace URI which replaces its previous value. - -It returns 1 if the namespace declaration was found and changed, 0 otherwise. - -All elements and attributes (even those previously unbound from the document) -for which the namespace declaration determines their namespace belong to the -new namespace after the change. - -If the new URI is undef or empty, the nodes have no namespace and no prefix -after the change. Namespace declarations once nulled in this way do not further -appear in the serialized output (but do remain in the document for internal -integrity of libxml2 data structures). - -This function is NOT part of any DOM API. - - -=item B<setNamespaceDeclPrefix> - - $node->setNamespaceDeclPrefix( $oldPrefix, $newPrefix ); - -EXPERIMENTAL IN 1.61 ! - -This function manipulates directly with an existing namespace declaration on an -element. It takes two parameters: the old prefix by which it looks up the -namespace declaration and a new prefix which is to replace the old one. - -The function dies with an error if the element is in the scope of another -declaration whose prefix equals to the new prefix, or if the change should -result in a declaration with a non-empty prefix but empty namespace URI. -Otherwise, it returns 1 if the namespace declaration was found and changed and -0 if not found. - -All elements and attributes (even those previously unbound from the document) -for which the namespace declaration determines their namespace change their -prefix to the new value. - -If the new prefix is undef or empty, the namespace declaration becomes a -declaration of a default namespace. The corresponding nodes drop their -namespace prefix (but remain in the, now default, namespace). In this case the -function fails, if the containing element is in the scope of another default -namespace declaration. - -This function is NOT part of any DOM API. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod deleted file mode 100644 index 113b8f53d28..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod +++ /dev/null @@ -1,288 +0,0 @@ -=head1 NAME - -XML::LibXML::InputCallback - XML::LibXML Class for Input Callbacks - -=head1 SYNOPSIS - - - - use XML::LibXML; - - -=head1 DESCRIPTION - -You may get unexpected results if you are trying to load external documents -during libxml2 parsing if the location of the resource is not a HTTP, FTP or -relative location but a absolute path for example. To get around this -limitation, you may add your own input handler to open, read and close -particular types of locations or URI classes. Using this input callback -handlers, you can handle your own custom URI schemes for example. - -The input callbacks are used whenever LibXML has to get something other than -externally parsed entities from somewhere. They are implemented using a -callback stack on the Perl layer in analogy to libxml2's native callback stack. - -The XML::LibXML::InputCallback class transparently registers the input -callbacks for the libxml2's parser processes. - - -=head2 How does XML::LibXML::InputCallback work? - -The libxml2 library offers a callback implementation as global functions only. -To work-around the troubles resulting in having only global callbacks - for -example, if the same global callback stack is manipulated by different -applications running together in a single Apache Web-server environment -, -XML::LibXML::InputCallback comes with a object-oriented and a function-oriented -part. - -Using the function-oriented part the global callback stack of libxml2 can be -manipulated. Those functions can be used as interface to the callbacks on the -C- and XS Layer. At the object-oriented part, operations for working with the -"pseudo-localized" callback stack are implemented. Currently, you can register -and de-register callbacks on the Perl layer and initialize them on a per parser -basis. - - -=head3 Callback Groups - -The libxml2 input callbacks come in groups. One group contains a URI matcher (I<<<<<< match >>>>>>), a data stream constructor (I<<<<<< open >>>>>>), a data stream reader (I<<<<<< read >>>>>>), and a data stream destructor (I<<<<<< close >>>>>>). The callbacks can be manipulated on a per group basis only. - - -=head3 The Parser Process - -The parser process work on a XML data stream, along which, links to other -resources can be embedded. This can be links to external DTDs or XIncludes for -example. Those resources are identified by URIs. The callback implementation of -libxml2 assumes that one callback group can handle a certain amount of URIs and -a certain URI scheme. Per default, callback handlers for I<<<<<< file://* >>>>>>, I<<<<<< file:://*.gz >>>>>>, I<<<<<< http://* >>>>>> and I<<<<<< ftp://* >>>>>> are registered. - -Callback groups in the callback stack are processed from top to bottom, meaning -that callback groups registered later will be processed before the earlier -registered ones. - -While parsing the data stream, the libxml2 parser checks if a registered -callback group will handle a URI - if they will not, the URI will be -interpreted as I<<<<<< file://URI >>>>>>. To handle a URI, the I<<<<<< match >>>>>> callback will have to return '1'. If that happens, the handling of the URI will -be passed to that callback group. Next, the URI will be passed to the I<<<<<< open >>>>>> callback, which should return a I<<<<<< reference >>>>>> to the data stream if it successfully opened the file, '0' otherwise. If -opening the stream was successful, the I<<<<<< read >>>>>> callback will be called repeatedly until it returns an empty string. After the -read callback, the I<<<<<< close >>>>>> callback will be called to close the stream. - - -=head3 Organisation of callback groups in XML::LibXML::InputCallback - -Callback groups are implemented as a stack (Array), each entry holds a -reference to an array of the callbacks. For the libxml2 library, the -XML::LibXML::InputCallback callback implementation appears as one single -callback group. The Perl implementation however allows to manage different -callback stacks on a per libxml2-parser basis. - - -=head2 Using XML::LibXML::InputCallback - -After object instantiation using the parameter-less constructor, you can -register callback groups. - - - - my $input_callbacks = XML::LibXML::InputCallback->new(); - $input_callbacks->register_callbacks([ $match_cb1, $open_cb1, - $read_cb1, $close_cb1 ] ); - $input_callbacks->register_callbacks([ $match_cb2, $open_cb2, - $read_cb2, $close_cb2 ] ); - $input_callbacks->register_callbacks( [ $match_cb3, $open_cb3, - $read_cb3, $close_cb3 ] ); - - $parser->input_callbacks( $input_callbacks ); - $parser->parse_file( $some_xml_file ); - - -=head2 What about the old callback system prior to XML::LibXML::InputCallback? - -In XML::LibXML versions prior to 1.59 - i.e. without the -XML::LibXML::InputCallback module - you could define your callbacks either -using globally or locally. You still can do that using -XML::LibXML::InputCallback, and in addition to that you can define the -callbacks on a per parser basis! - -If you use the old callback interface through global callbacks, -XML::LibXML::InputCallback will treat them with a lower priority as the ones -registered using the new interface. The global callbacks will not override the -callback groups registered using the new interface. Local callbacks are -attached to a specific parser instance, therefore they are treated with highest -priority. If the I<<<<<< match >>>>>> callback of the callback group registered as local variable is identical to one -of the callback groups registered using the new interface, that callback group -will be replaced. - -Users of the old callback implementation whose I<<<<<< open >>>>>> callback returned a plain string, will have to adapt their code to return a -reference to that string after upgrading to version >= 1.59. The new callback -system can only deal with the I<<<<<< open >>>>>> callback returning a reference! - - -=head1 INTERFACE DESCRIPTION - - -=head2 Global Variables - -=over 4 - -=item B<$_CUR_CB> - -Stores the current callback and can be used as shortcut to access the callback -stack. - - -=item B<@_GLOBAL_CALLBACKS> - -Stores all callback groups for the current parser process. - - -=item B<@_CB_STACK> - -Stores the currently used callback group. Used to prevent parser errors when -dealing with nested XML data. - - - -=back - - -=head2 Global Callbacks - -=over 4 - -=item B<_callback_match> - -Implements the interface for the I<<<<<< match >>>>>> callback at C-level and for the selection of the callback group from the -callbacks defined at the Perl-level. - - -=item B<_callback_open> - -Forwards the I<<<<<< open >>>>>> callback from libxml2 to the corresponding callback function at the Perl-level. - - -=item B<_callback_read> - -Forwards the read request to the corresponding callback function at the -Perl-level and returns the result to libxml2. - - -=item B<_callback_close> - -Forwards the I<<<<<< close >>>>>> callback from libxml2 to the corresponding callback function at the -Perl-level.. - - - -=back - - -=head2 Class methods - -=over 4 - -=item B<new()> - -A simple constructor. - - -=item B<register_callbacks( [ $match_cb, $open_cb, $read_cb, $close_cb ])> - -The four callbacks I<<<<<< have >>>>>> to be given as array reference in the above order I<<<<<< match >>>>>>, I<<<<<< open >>>>>>, I<<<<<< read >>>>>>, I<<<<<< close >>>>>>! - - -=item B<unregister_callbacks( [ $match_cb, $open_cb, $read_cb, $close_cb ])> - -With no arguments given, C<<<<<< unregister_callbacks() >>>>>> will delete the last registered callback group from the stack. If four -callbacks are passed as array reference, the callback group to unregister will -be identified by the I<<<<<< match >>>>>> callback and deleted from the callback stack. Note that if several identical I<<<<<< match >>>>>> callbacks are defined in different callback groups, ALL of them will be deleted -from the stack. - - -=item B<init_callbacks()> - -Initializes the callback system before a parsing process. - - -=item B<cleanup_callbacks()> - -Resets global variables and the libxml2 callback stack. - - -=item B<lib_init_callbacks()> - -Used internally for callback registration at C-level. - - -=item B<lib_cleanup_callbacks()> - -Used internally for callback resetting at the C-level. - - - -=back - - - - -=head1 EXAMPLE CALLBACKS - -The following example is a purely fictitious example that uses a -MyScheme::Handler object that responds to methods similar to an IO::Handle. - - - - # Define the four callback functions - sub match_uri { - my $uri = shift; - return $uri =~ /^myscheme:/; # trigger our callback group at a 'myscheme' URIs - } - - sub open_uri { - my $uri = shift; - my $handler = MyScheme::Handler->new($uri); - return $handler; - } - - # The returned $buffer will be parsed by the libxml2 parser - sub read_uri { - my $handler = shift; - my $length = shift; - my $buffer; - read($handler, $buffer, $length); - return $buffer; # $buffer will be an empty string '' if read() is done - } - - # Close the handle associated with the resource. - sub close_uri { - my $handler = shift; - close($handler); - } - - # Register them with a instance of XML::LibXML::InputCallback - my $input_callbacks = XML::LibXML::InputCallback->new(); - $input_callbacks->register_callbacks([ \&match_uri, \&open_uri, - \&read_uri, \&close_uri ] ); - - # Register the callback group at a parser instance - $parser->input_callbacks( $input_callbacks ); - - # $some_xml_file will be parsed using our callbacks - $parser->parse_file( $some_xml_file ); - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm deleted file mode 100644 index 21af2b7d86c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm +++ /dev/null @@ -1,102 +0,0 @@ -# $Id: Literal.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::Literal; -use XML::LibXML::Boolean; -use XML::LibXML::Number; -use strict; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&value, - 'cmp' => \&cmp; - -sub new { - my $class = shift; - my ($string) = @_; - -# $string =~ s/"/"/g; -# $string =~ s/'/'/g; - - bless \$string, $class; -} - -sub as_string { - my $self = shift; - my $string = $$self; - $string =~ s/'/'/g; - return "'$string'"; -} - -sub as_xml { - my $self = shift; - my $string = $$self; - return "<Literal>$string</Literal>\n"; -} - -sub value { - my $self = shift; - $$self; -} - -sub cmp { - my $self = shift; - my ($cmp, $swap) = @_; - if ($swap) { - return $cmp cmp $$self; - } - return $$self cmp $cmp; -} - -sub evaluate { - my $self = shift; - $self; -} - -sub to_boolean { - my $self = shift; - return (length($$self) > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; -} - -sub to_number { return XML::LibXML::Number->new($_[0]->value); } -sub to_literal { return $_[0]; } - -sub string_value { return $_[0]->value; } - -1; -__END__ - -=head1 NAME - -XML::LibXML::Literal - Simple string values. - -=head1 DESCRIPTION - -In XPath terms a Literal is what we know as a string. - -=head1 API - -=head2 new($string) - -Create a new Literal object with the value in $string. Note that " and -' will be converted to " and ' respectively. That is not part of the XPath -specification, but I consider it useful. Note though that you have to go -to extraordinary lengths in an XML template file (be it XSLT or whatever) to -make use of this: - - <xsl:value-of select=""I'm feeling &quot;sad&quot;""/> - -Which produces a Literal of: - - I'm feeling "sad" - -=head2 value() - -Also overloaded as stringification, simply returns the literal string value. - -=head2 cmp($literal) - -Returns the equivalent of perl's cmp operator against the given $literal. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod deleted file mode 100644 index 3fe6b5f07a6..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod +++ /dev/null @@ -1,139 +0,0 @@ -=head1 NAME - -XML::LibXML::Namespace - XML::LibXML Namespace Implementation - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Namespace nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - my $ns = XML::LibXML::Namespace->new($nsURI); - print $ns->nodeName(); - print $ns->name(); - $localname = $ns->getLocalName(); - print $ns->getData(); - print $ns->getValue(); - print $ns->value(); - $known_uri = $ns->getNamespaceURI(); - $known_prefix = $ns->getPrefix(); - -=head1 DESCRIPTION - -Namespace nodes are returned by both $element->findnodes('namespace::foo') or -by $node->getNamespaces(). - -The namespace node API is not part of any current DOM API, and so it is quite -minimal. It should be noted that namespace nodes are I<<<<<< not >>>>>> a sub class of L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>, however Namespace nodes act a lot like attribute nodes, and similarly named -methods will return what you would expect if you treated the namespace node as -an attribute. Note that in order to fix several inconsistencies between the API -and the documentation, the behavior of some functions have been changed in -1.64. - - -=head1 METHODS - -=over 4 - -=item B<new> - - my $ns = XML::LibXML::Namespace->new($nsURI); - -Creates a new Namespace node. Note that this is not a 'node' as an attribute or -an element node. Therefore you can't do call all L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> Functions. All functions available for this node are listed below. - -Optionally you can pass the prefix to the namespace constructor. If this second -parameter is omitted you will create a so called default namespace. Note, the -newly created namespace is not bound to any document or node, therefore you -should not expect it to be available in an existing document. - - -=item B<declaredURI> - -Returns the URI for this namespace. - - -=item B<declaredPrefix> - -Returns the prefix for this namespace. - - -=item B<nodeName> - - print $ns->nodeName(); - -Returns "xmlns:prefix", where prefix is the prefix for this namespace. - - -=item B<name> - - print $ns->name(); - -Alias for nodeName() - - -=item B<getLocalName> - - $localname = $ns->getLocalName(); - -Returns the local name of this node as if it were an attribute, that is, the -prefix associated with the namespace. - - -=item B<getData> - - print $ns->getData(); - -Returns the URI of the namespace, i.e. the value of this node as if it were an -attribute. - - -=item B<getValue> - - print $ns->getValue(); - -Alias for getData() - - -=item B<value> - - print $ns->value(); - -Alias for getData() - - -=item B<getNamespaceURI> - - $known_uri = $ns->getNamespaceURI(); - -Returns the string "http://www.w3.org/2000/xmlns/" - - -=item B<getPrefix> - - $known_prefix = $ns->getPrefix(); - -Returns the string "xmlns" - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod deleted file mode 100644 index 6da553ec6b3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod +++ /dev/null @@ -1,661 +0,0 @@ -=head1 NAME - -XML::LibXML::Node - Abstract Base Class of XML::LibXML Nodes - -=head1 SYNOPSIS - - - - use XML::LibXML; - - $name = $node->nodeName; - $node->setNodeName( $newName ); - $bool = $node->isSameNode( $other_node ); - $bool = $node->isEqual( $other_node ); - $content = $node->nodeValue; - $content = $node->textContent; - $type = $node->nodeType; - $node->unbindNode(); - $childnode = $node->removeChild( $childnode ); - $oldnode = $node->replaceChild( $newNode, $oldNode ); - $node->replaceNode($newNode); - $childnode = $node->appendChild( $childnode ); - $childnode = $node->addChild( $chilnode ); - $node = $parent->addNewChild( $nsURI, $name ); - $node->addSibling($newNode); - $newnode =$node->cloneNode( $deep ); - $parentnode = $node->parentNode; - $nextnode = $node->nextSibling(); - $prevnode = $node->previousSibling(); - $boolean = $node->hasChildNodes(); - $childnode = $node->firstChild; - $childnode = $node->lastChild; - $documentnode = $node->ownerDocument; - $node = $node->getOwner; - $node->setOwnerDocument( $doc ); - $node->insertBefore( $newNode, $refNode ); - $node->insertAfter( $newNode, $refNode ); - @nodes = $node->findnodes( $xpath_expression ); - $result = $node->find( $xpath ); - print $node->findvalue( $xpath ); - @childnodes = $node->childNodes; - $xmlstring = $node->toString($format,$docencoding); - $c14nstring = $node->toStringC14N($with_comments, $xpath_expression); - $ec14nstring = $node->toStringEC14N($with_comments, $xpath_expression, $inclusive_prefix_list); - $str = $doc->serialize($format); - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - $ec14nstr = $doc->serialize_ec14n($comment_flag,$xpath,$inclusive_prefix_list); - $localname = $node->localname; - $nameprefix = $node->prefix; - $uri = $node->namespaceURI(); - $boolean = $node->hasAttributes(); - @attributelist = $node->attributes(); - $URI = $node->lookupNamespaceURI( $prefix ); - $prefix = $node->lookupNamespacePrefix( $URI ); - $node->normalize; - @nslist = $node->getNamespaces; - $node->removeChildNodes(); - $node->nodePath(); - $lineno = $node->line_number(); - -=head1 DESCRIPTION - -XML::LibXML::Node defines functions that are common to all Node Types. A -LibXML::Node should never be created standalone, but as an instance of a high -level class such as LibXML::Element or LibXML::Text. The class itself should -provide only common functionality. In XML::LibXML each node is part either of a -document or a document-fragment. Because of this there is no node without a -parent. This may causes confusion with "unbound" nodes. - - -=head1 METHODS - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<nodeName> - - $name = $node->nodeName; - -Returns the node's name. This function is aware of namespaces and returns the -full name of the current node (C<<<<<< prefix:localname >>>>>>). - -Since 1.62 this function also returns the correct DOM names for node types with -constant names, namely: #text, #cdata-section, #comment, #document, -#document-fragment. - - -=item B<setNodeName> - - $node->setNodeName( $newName ); - -In very limited situations, it is useful to change a nodes name. In the DOM -specification this should throw an error. This Function is aware of namespaces. - - -=item B<isSameNode> - - $bool = $node->isSameNode( $other_node ); - -returns TRUE (1) if the given nodes refer to the same node structure, otherwise -FALSE (0) is returned. - - -=item B<isEqual> - - $bool = $node->isEqual( $other_node ); - -deprecated version of isSameNode(). - -I<<<<<< NOTE >>>>>> isEqual will change behaviour to follow the DOM specification - - -=item B<nodeValue> - - $content = $node->nodeValue; - -If the node has any content (such as stored in a C<<<<<< text node >>>>>>) it can get requested through this function. - -I<<<<<< NOTE: >>>>>> Element Nodes have no content per definition. To get the text value of an -Element use textContent() instead! - - -=item B<textContent> - - $content = $node->textContent; - -this function returns the content of all text nodes in the descendants of the -given node as specified in DOM. - - -=item B<nodeType> - - $type = $node->nodeType; - -Return a numeric value representing the node type of this node. The module -XML::LibXML by default exports constants for the node types (see the EXPORT -section in the L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> manual page). - - -=item B<unbindNode> - - $node->unbindNode(); - -Unbinds the Node from its siblings and Parent, but not from the Document it -belongs to. If the node is not inserted into the DOM afterwards it will be lost -after the program terminated. From a low level view, the unbound node is -stripped from the context it is and inserted into a (hidden) document-fragment. - - -=item B<removeChild> - - $childnode = $node->removeChild( $childnode ); - -This will unbind the Child Node from its parent C<<<<<< $node >>>>>>. The function returns the unbound node. If C<<<<<< oldNode >>>>>> is not a child of the given Node the function will fail. - - -=item B<replaceChild> - - $oldnode = $node->replaceChild( $newNode, $oldNode ); - -Replaces the C<<<<<< $oldNode >>>>>> with the C<<<<<< $newNode >>>>>>. The C<<<<<< $oldNode >>>>>> will be unbound from the Node. This function differs from the DOM L2 -specification, in the case, if the new node is not part of the document, the -node will be imported first. - - -=item B<replaceNode> - - $node->replaceNode($newNode); - -This function is very similar to replaceChild(), but it replaces the node -itself rather than a childnode. This is useful if a node found by any XPath -function, should be replaced. - - -=item B<appendChild> - - $childnode = $node->appendChild( $childnode ); - -The function will add the C<<<<<< $childnode >>>>>> to the end of C<<<<<< $node >>>>>>'s children. The function should fail, if the new childnode is already a child -of C<<<<<< $node >>>>>>. This function differs from the DOM L2 specification, in the case, if the new -node is not part of the document, the node will be imported first. - - -=item B<addChild> - - $childnode = $node->addChild( $chilnode ); - -As an alternative to appendChild() one can use the addChild() function. This -function is a bit faster, because it avoids all DOM conformity checks. -Therefore this function is quite useful if one builds XML documents in memory -where the order and ownership (C<<<<<< ownerDocument >>>>>>) is assured. - -addChild() uses libxml2's own xmlAddChild() function. Thus it has to be used -with extra care: If a text node is added to a node and the node itself or its -last childnode is as well a text node, the node to add will be merged with the -one already available. The current node will be removed from memory after this -action. Because perl is not aware of this action, the perl instance is still -available. XML::LibXML will catch the loss of a node and refuse to run any -function called on that node. - - - - my $t1 = $doc->createTextNode( "foo" ); - my $t2 = $doc->createTextNode( "bar" ); - $t1->addChild( $t2 ); # is OK - my $val = $t2->nodeValue(); # will fail, script dies - -Also addChild() will not check if the added node belongs to the same document -as the node it will be added to. This could lead to inconsistent documents and -in more worse cases even to memory violations, if one does not keep track of -this issue. - -Although this sounds like a lot of trouble, addChild() is useful if a document -is built from a stream, such as happens sometimes in SAX handlers or filters. - -If you are not sure about the source of your nodes, you better stay with -appendChild(), because this function is more user friendly in the sense of -being more error tolerant. - - -=item B<addNewChild> - - $node = $parent->addNewChild( $nsURI, $name ); - -Similar to C<<<<<< addChild() >>>>>>, this function uses low level libxml2 functionality to provide faster -interface for DOM building. I<<<<<< addNewChild() >>>>>> uses C<<<<<< xmlNewChild() >>>>>> to create a new node on a given parent element. - -addNewChild() has two parameters $nsURI and $name, where $nsURI is an -(optional) namespace URI. $name is the fully qualified element name; -addNewChild() will determine the correct prefix if necessary. - -The function returns the newly created node. - -This function is very useful for DOM building, where a created node can be -directly associated with its parent. I<<<<<< NOTE >>>>>> this function is not part of the DOM specification and its use will limit your -code to XML::LibXML. - - -=item B<addSibling> - - $node->addSibling($newNode); - -addSibling() allows adding an additional node to the end of a nodelist, defined -by the given node. - - -=item B<cloneNode> - - $newnode =$node->cloneNode( $deep ); - -I<<<<<< cloneNode >>>>>> creates a copy of C<<<<<< $node >>>>>>. When $deep is set to 1 (true) the function will copy all childnodes as well. -If $deep is 0 only the current node will be copied. Note that in case of -element, attributes are copied even if $deep is 0. - -Note that the behavior of this function for $deep=0 has changed in 1.62 in -order to be consistent with the DOM spec (in older versions attributes and -namespace information was not copied for elements). - - -=item B<parentNode> - - $parentnode = $node->parentNode; - -Returns simply the Parent Node of the current node. - - -=item B<nextSibling> - - $nextnode = $node->nextSibling(); - -Returns the next sibling if any . - - -=item B<previousSibling> - - $prevnode = $node->previousSibling(); - -Analogous to I<<<<<< getNextSibling >>>>>> the function returns the previous sibling if any. - - -=item B<hasChildNodes> - - $boolean = $node->hasChildNodes(); - -If the current node has Childnodes this function returns TRUE (1), otherwise it -returns FALSE (0, not undef). - - -=item B<firstChild> - - $childnode = $node->firstChild; - -If a node has childnodes this function will return the first node in the -childlist. - - -=item B<lastChild> - - $childnode = $node->lastChild; - -If the C<<<<<< $node >>>>>> has childnodes this function returns the last child node. - - -=item B<ownerDocument> - - $documentnode = $node->ownerDocument; - -Through this function it is always possible to access the document the current -node is bound to. - - -=item B<getOwner> - - $node = $node->getOwner; - -This function returns the node the current node is associated with. In most -cases this will be a document node or a document fragment node. - - -=item B<setOwnerDocument> - - $node->setOwnerDocument( $doc ); - -This function binds a node to another DOM. This method unbinds the node first, -if it is already bound to another document. - -This function is the opposite calling of L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>'s adoptNode() function. Because of this it has the same limitations with -Entity References as adoptNode(). - - -=item B<insertBefore> - - $node->insertBefore( $newNode, $refNode ); - -The method inserts C<<<<<< $newNode >>>>>> before C<<<<<< $refNode >>>>>>. If C<<<<<< $refNode >>>>>> is undefined, the newNode will be set as the new last child of the parent node. -This function differs from the DOM L2 specification, in the case, if the new -node is not part of the document, the node will be imported first, -automatically. - -$refNode has to be passed to the function even if it is undefined: - - - - $node->insertBefore( $newNode, undef ); # the same as $node->appendChild( $newNode ); - $node->insertBefore( $newNode ); # wrong - -Note, that the reference node has to be a direct child of the node the function -is called on. Also, $newChild is not allowed to be an ancestor of the new -parent node. - - -=item B<insertAfter> - - $node->insertAfter( $newNode, $refNode ); - -The method inserts C<<<<<< $newNode >>>>>> after C<<<<<< $refNode >>>>>>. If C<<<<<< $refNode >>>>>> is undefined, the newNode will be set as the new last child of the parent node. - -Note, that $refNode has to be passed explicitly even if it is undef. - - -=item B<findnodes> - - @nodes = $node->findnodes( $xpath_expression ); - -I<<<<<< findnodes >>>>>> evaluates the xpath expression (XPath 1.0) on the current node and returns the -resulting node set as an array. In scalar context returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. - -I<<<<<< NOTE ON NAMESPACES AND XPATH >>>>>>: - -A common mistake about XPath is to assume that node tests consisting of an -element name with no prefix match elements in the default namespace. This -assumption is wrong - by XPath specification, such node tests can only match -elements that are in no (i.e. null) namespace. - -So, for example, one cannot match the root element of an XHTML document with C<<<<<< $node->find('/html') >>>>>> since C<<<<<< '/html' >>>>>> would only match if the root element C<<<<<< <html> >>>>>> had no namespace, but all XHTML elements belong to the namespace -http://www.w3.org/1999/xhtml. (Note that C<<<<<< xmlns="..." >>>>>> namespace declarations can also be specified in a DTD, which makes the -situation even worse, since the XML document looks as if there was no default -namespace). - -There are several possible ways to deal with namespaces in XPath: - - -=over 4 - -=item * - -The recommended way is to use the L<<<<<< XPath Evaluation|XPath Evaluation >>>>>> module to define an explicit context for XPath evaluation, in which a document -independent prefix-to-namespace mapping can be defined. For example: - - - - my $xpc = XML::LibXML::XPathContext->new; - $xpc->registerNs('x', 'http://www.w3.org/1999/xhtml'); - $xpc->find('/x:html',$node); - - - -=item * - -Another possibility is to use prefixes declared in the queried document (if -known). If the document declares a prefix for the namespace in question (and -the context node is in the scope of the declaration), C<<<<<< XML::LibXML >>>>>> allows you to use the prefix in the XPath expression, e.g.: - - - - $node->find('/x:html'); - - - -=back - -See also XML::LibXML::XPathContext->findnodes. - - -=item B<find> - - $result = $node->find( $xpath ); - -I<<<<<< find >>>>>> evaluates the XPath 1.0 expression using the current node as the context of the -expression, and returns the result depending on what type of result the XPath -expression had. For example, the XPath "1 * 3 + 52" results in a L<<<<<< XML::LibXML::Number|XML::LibXML::Number >>>>>> object being returned. Other expressions might return a L<<<<<< XML::LibXML::Boolean|XML::LibXML::Boolean >>>>>> object, or a L<<<<<< XML::LibXML::Literal|XML::LibXML::Literal >>>>>> object (a string). Each of those objects uses Perl's overload feature to "do -the right thing" in different contexts. - -See also L<<<<<< XPath Evaluation|XPath Evaluation >>>>>>->find. - - -=item B<findvalue> - - print $node->findvalue( $xpath ); - -I<<<<<< findvalue >>>>>> is exactly equivalent to: - - - - $node->find( $xpath )->to_literal; - -That is, it returns the literal value of the results. This enables you to -ensure that you get a string back from your search, allowing certain shortcuts. -This could be used as the equivalent of XSLT's <xsl:value-of -select="some_xpath"/>. - -See also L<<<<<< XPath Evaluation|XPath Evaluation >>>>>>->findvalue. - - -=item B<childNodes> - - @childnodes = $node->childNodes; - -I<<<<<< getChildnodes >>>>>> implements a more intuitive interface to the childnodes of the current node. It -enables you to pass all children directly to a C<<<<<< map >>>>>> or C<<<<<< grep >>>>>>. If this function is called in scalar context, a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object will be returned. - - -=item B<toString> - - $xmlstring = $node->toString($format,$docencoding); - -This method is similar to the method C<<<<<< toString >>>>>> of a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> but for a single node. It returns a string consisting of XML serialization of -the given node and all its descendants. Unlike C<<<<<< XML::LibXML::Document::toString >>>>>>, in this case the resulting string is by default a character string (UTF-8 -encoded with UTF8 flag on). An optional flag $format controls indentation, as -in C<<<<<< XML::LibXML::Document::toString >>>>>>. If the second optional $docencoding flag is true, the result will be a byte -string in the document encoding (see C<<<<<< XML::LibXML::Document::actualEncoding >>>>>>). - - -=item B<toStringC14N> - - $c14nstring = $node->toStringC14N($with_comments, $xpath_expression); - -The function is similar to toString(). Instead of simply serializing the -document tree, it transforms it as it is specified in the XML-C14N -Specification (see L<<<<<< http://www.w3.org/TR/xml-c14n|http://www.w3.org/TR/xml-c14n >>>>>>). Such transformation is known as canonization. - -If $with_comments is 0 or not defined, the result-document will not contain any -comments that exist in the original document. To include comments into the -canonized document, $with_comments has to be set to 1. - -The parameter $xpath_expression defines the nodeset of nodes that should be -visible in the resulting document. This can be used to filter out some nodes. -One has to note, that only the nodes that are part of the nodeset, will be -included into the result-document. Their child-nodes will not exist in the -resulting document, unless they are part of the nodeset defined by the xpath -expression. - -If $xpath_expression is omitted or empty, toStringC14N() will include all nodes -in the given sub-tree. - - -=item B<toStringEC14N> - - $ec14nstring = $node->toStringEC14N($with_comments, $xpath_expression, $inclusive_prefix_list); - -The function is similar to toStringC14N() but follows the XML-EXC-C14N -Specification (see L<<<<<< http://www.w3.org/TR/xml-exc-c14n|http://www.w3.org/TR/xml-exc-c14n >>>>>>) for exclusive canonization of XML. - -The first two arguments are as above. If $inclusive_prefix_list is used, it -should be an ARRAY reference listing namespace prefixes that are to be handled -in the manner described by the Canonical XML Recommendation (i.e. preserved in -the output even if the namespace is not used). C.f. the spec for details. - - -=item B<serialize> - - $str = $doc->serialize($format); - -An alias for toString(). This function was name added to be more consistent -with libxml2. - - -=item B<serialize_c14n> - - $c14nstr = $doc->serialize_c14n($comment_flag,$xpath); - -An alias for toStringC14N(). - - -=item B<serialize_exc_c14n> - - $ec14nstr = $doc->serialize_ec14n($comment_flag,$xpath,$inclusive_prefix_list); - -An alias for toStringEC14N(). - - -=item B<localname> - - $localname = $node->localname; - -Returns the local name of a tag. This is the part behind the colon. - - -=item B<prefix> - - $nameprefix = $node->prefix; - -Returns the prefix of a tag. This is the part before the colon. - - -=item B<namespaceURI> - - $uri = $node->namespaceURI(); - -returns the URI of the current namespace. - - -=item B<hasAttributes> - - $boolean = $node->hasAttributes(); - -returns 1 (TRUE) if the current node has any attributes set, otherwise 0 -(FALSE) is returned. - - -=item B<attributes> - - @attributelist = $node->attributes(); - -This function returns all attributes and namespace declarations assigned to the -given node. - -Because XML::LibXML does not implement namespace declarations and attributes -the same way, it is required to test what kind of node is handled while -accessing the functions result. - -If this function is called in array context the attribute nodes are returned as -an array. In scalar context the function will return a L<<<<<< XML::LibXML::NamedNodeMap|XML::LibXML::NamedNodeMap >>>>>> object. - - -=item B<lookupNamespaceURI> - - $URI = $node->lookupNamespaceURI( $prefix ); - -Find a namespace URI by its prefix starting at the current node. - - -=item B<lookupNamespacePrefix> - - $prefix = $node->lookupNamespacePrefix( $URI ); - -Find a namespace prefix by its URI starting at the current node. - -I<<<<<< NOTE >>>>>> Only the namespace URIs are meant to be unique. The prefix is only document -related. Also the document might have more than a single prefix defined for a -namespace. - - -=item B<normalize> - - $node->normalize; - -This function normalizes adjacent text nodes. This function is not as strict as -libxml2's xmlTextMerge() function, since it will not free a node that is still -referenced by the perl layer. - - -=item B<getNamespaces> - - @nslist = $node->getNamespaces; - -If a node has any namespaces defined, this function will return these -namespaces. Note, that this will not return all namespaces that are in scope, -but only the ones declared explicitly for that node. - -Although getNamespaces is available for all nodes, it only makes sense if used -with element nodes. - - -=item B<removeChildNodes> - - $node->removeChildNodes(); - -This function is not specified for any DOM level: It removes all childnodes -from a node in a single step. Other than the libxml2 function itself -(xmlFreeNodeList), this function will not immediately remove the nodes from the -memory. This saves one from getting memory violations, if there are nodes still -referred to from the Perl level. - - -=item B<nodePath> - - $node->nodePath(); - -This function is not specified for any DOM level: It returns a canonical -structure based XPath for a given node. - - -=item B<line_number> - - $lineno = $node->line_number(); - -This function returns the line number where the tag was found during parsing. -If a node is added to the document the line number is 0. Problems may occur, if -a node from one document is passed to another one. - -IMPORTANT: Due to limitations in the libxml2 library line numbers greater than -65535 will be returned as 65535. Please see L<<<<<< http://bugzilla.gnome.org/show_bug.cgi?id=325533|http://bugzilla.gnome.org/show_bug.cgi?id=325533 >>>>>> for more details. - -Note: line_number() is special to XML::LibXML and not part of the DOM -specification. - -If the line_numbers flag of the parser was not activated before parsing, -line_number() will always return 0. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm deleted file mode 100644 index 466efb04bef..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm +++ /dev/null @@ -1,191 +0,0 @@ -# $Id: NodeList.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::NodeList; -use strict; -use XML::LibXML::Boolean; -use XML::LibXML::Literal; -use XML::LibXML::Number; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&to_literal, - 'bool' => \&to_boolean, - ; - -sub new { - my $class = shift; - bless [@_], $class; -} - -sub new_from_ref { - my ($class,$array_ref,$reuse) = @_; - return bless $reuse ? $array_ref : [@$array_ref], $class; -} - -sub pop { - my $self = CORE::shift; - CORE::pop @$self; -} - -sub push { - my $self = CORE::shift; - CORE::push @$self, @_; -} - -sub append { - my $self = CORE::shift; - my ($nodelist) = @_; - CORE::push @$self, $nodelist->get_nodelist; -} - -sub shift { - my $self = CORE::shift; - CORE::shift @$self; -} - -sub unshift { - my $self = CORE::shift; - CORE::unshift @$self, @_; -} - -sub prepend { - my $self = CORE::shift; - my ($nodelist) = @_; - CORE::unshift @$self, $nodelist->get_nodelist; -} - -sub size { - my $self = CORE::shift; - scalar @$self; -} - -sub get_node { - # uses array index starting at 1, not 0 - # this is mainly because of XPath. - my $self = CORE::shift; - my ($pos) = @_; - $self->[$pos - 1]; -} - -*item = \&get_node; - -sub get_nodelist { - my $self = CORE::shift; - @$self; -} - -sub to_boolean { - my $self = CORE::shift; - return (@$self > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; -} - -# string-value of a nodelist is the string-value of the first node -sub string_value { - my $self = CORE::shift; - return '' unless @$self; - return $self->[0]->string_value; -} - -sub to_literal { - my $self = CORE::shift; - return XML::LibXML::Literal->new( - join('', grep {defined $_} map { $_->string_value } @$self) - ); -} - -sub to_number { - my $self = CORE::shift; - return XML::LibXML::Number->new( - $self->to_literal - ); -} - -sub iterator { - warn "this function is obsolete!\nIt was disabled in version 1.54\n"; - return undef; -} - -1; -__END__ - -=head1 NAME - -XML::LibXML::NodeList - a list of XML document nodes - -=head1 DESCRIPTION - -An XML::LibXML::NodeList object contains an ordered list of nodes, as -detailed by the W3C DOM documentation of Node Lists. - -=head1 SYNOPSIS - - my $results = $dom->findnodes('//somepath'); - foreach my $context ($results->get_nodelist) { - my $newresults = $context->findnodes('./other/element'); - ... - } - -=head1 API - -=head2 new() - -You will almost never have to create a new NodeSet object, as it is all -done for you by XPath. - -=head2 get_nodelist() - -Returns a list of nodes, the contents of the node list, as a perl list. - -=head2 string_value() - -Returns the string-value of the first node in the list. -See the XPath specification for what "string-value" means. - -=head2 to_literal() - -Returns the concatenation of all the string-values of all -the nodes in the list. - -=head2 get_node($pos) - -Returns the node at $pos. The node position in XPath is based at 1, not 0. - -=head2 size() - -Returns the number of nodes in the NodeSet. - -=head2 pop() - -Equivalent to perl's pop function. - -=head2 push(@nodes) - -Equivalent to perl's push function. - -=head2 append($nodelist) - -Given a nodelist, appends the list of nodes in $nodelist to the end of the -current list. - -=head2 shift() - -Equivalent to perl's shift function. - -=head2 unshift(@nodes) - -Equivalent to perl's unshift function. - -=head2 prepend($nodeset) - -Given a nodelist, prepends the list of nodes in $nodelist to the front of -the current list. - -=head2 iterator() - -Will return a new nodelist iterator for the current nodelist. A -nodelist iterator is usefull if more complex nodelist processing is -needed. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm deleted file mode 100644 index 4ba448ab600..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm +++ /dev/null @@ -1,90 +0,0 @@ -# $Id: Number.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::Number; -use XML::LibXML::Boolean; -use XML::LibXML::Literal; -use strict; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use overload - '""' => \&value, - '0+' => \&value, - '<=>' => \&cmp; - -sub new { - my $class = shift; - my $number = shift; - if ($number !~ /^\s*(-\s*)?(\d+(\.\d*)?|\.\d+)\s*$/) { - $number = undef; - } - else { - $number =~ s/\s+//g; - } - bless \$number, $class; -} - -sub as_string { - my $self = shift; - defined $$self ? $$self : 'NaN'; -} - -sub as_xml { - my $self = shift; - return "<Number>" . (defined($$self) ? $$self : 'NaN') . "</Number>\n"; -} - -sub value { - my $self = shift; - $$self; -} - -sub cmp { - my $self = shift; - my ($other, $swap) = @_; - if ($swap) { - return $other <=> $$self; - } - return $$self <=> $other; -} - -sub evaluate { - my $self = shift; - $self; -} - -sub to_boolean { - my $self = shift; - return $$self ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; -} - -sub to_literal { XML::LibXML::Literal->new($_[0]->as_string); } -sub to_number { $_[0]; } - -sub string_value { return $_[0]->value } - -1; -__END__ - -=head1 NAME - -XML::LibXML::Number - Simple numeric values. - -=head1 DESCRIPTION - -This class holds simple numeric values. It doesn't support -0, +/- Infinity, -or NaN, as the XPath spec says it should, but I'm not hurting anyone I don't think. - -=head1 API - -=head2 new($num) - -Creates a new XML::LibXML::Number object, with the value in $num. Does some -rudimentary numeric checking on $num to ensure it actually is a number. - -=head2 value() - -Also as overloaded stringification. Returns the numeric value held. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod deleted file mode 100644 index 6839a310ab2..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod +++ /dev/null @@ -1,83 +0,0 @@ -=head1 NAME - -XML::LibXML::PI - XML::LibXML Processing Instructions - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Processing Instruction nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $pinode->setData( $data_string ); - $pinode->setData( name=>string_value [...] ); - -=head1 DESCRIPTION - -Processing instructions are implemented with XML::LibXML with read and write -access. The PI data is the PI without the PI target (as specified in XML 1.0 -[17]) as a string. This string can be accessed with getData as implemented in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. - -The write access is aware about the fact, that many processing instructions -have attribute like data. Therefore setData() provides besides the DOM spec -conform Interface to pass a set of named parameter. So the code segment - - - - my $pi = $dom->createProcessingInstruction("abc"); - $pi->setData(foo=>'bar', foobar=>'foobar'); - $dom->appendChild( $pi ); - -will result the following PI in the DOM: - - - - <?abc foo="bar" foobar="foobar"?> - -Which is how it is specified in the DOM specification. This three step -interface creates temporary a node in perl space. This can be avoided while -using the insertProcessingInstruction() method. Instead of the three calls -described above, the call - - - - $dom->insertProcessingInstruction("abc",'foo="bar" foobar="foobar"'); - -will have the same result as above. - -L<<<<<< XML::LibXML Processing Instructions|XML::LibXML Processing Instructions >>>>>>'s implementation of setData() documented below differs a bit from the the -standard version as available in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>: - -=over 4 - -=item B<setData> - - $pinode->setData( $data_string ); - $pinode->setData( name=>string_value [...] ); - -This method allows to change the content data of a PI. Additionally to the -interface specified for DOM Level2, the method provides a named parameter -interface to set the data. This parameter list is converted into a string -before it is appended to the PI. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod deleted file mode 100644 index e8aa32cf449..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod +++ /dev/null @@ -1,683 +0,0 @@ -=head1 NAME - -XML::LibXML::Parser - Parsing XML Data with XML::LibXML - -=head1 SYNOPSIS - - - - use XML::LibXML; - my $parser = XML::LibXML->new(); - - my $doc = $parser->parse_string(<<'EOT'); - <some-xml/> - EOT - my $fdoc = $parser->parse_file( $xmlfile ); - - my $fhdoc = $parser->parse_fh( $xmlstream ); - - my $fragment = $parser->parse_xml_chunk( $xml_wb_chunk ); - - $parser = XML::LibXML->new(); - $doc = $parser->parse_file( $xmlfilename ); - $doc = $parser->parse_fh( $io_fh ); - $doc = $parser->parse_string( $xmlstring); - $doc = $parser->parse_html_file( $htmlfile, \%opts ); - $doc = $parser->parse_html_fh( $io_fh, \%opts ); - $doc = $parser->parse_html_string( $htmlstring, \%opts ); - $fragment = $parser->parse_balanced_chunk( $wbxmlstring ); - $fragment = $parser->parse_xml_chunk( $wbxmlstring ); - $parser->process_xincludes( $doc ); - $parser->processXIncludes( $doc ); - $parser->parse_chunk($string, $terminate); - $parser->start_push(); - $parser->push(@data); - $doc = $parser->finish_push( $recover ); - $parser->validation(1); - $parser->recover(1); - $parser->recover_silently(1); - $parser->expand_entities(0); - $parser->keep_blanks(0); - $parser->pedantic_parser(1); - $parser->line_numbers(1); - $parser->load_ext_dtd(1); - $parser->complete_attributes(1); - $parser->expand_xinclude(1); - $parser->load_catalog( $catalog_file ); - $parser->base_uri( $your_base_uri ); - $parser->gdome_dom(1); - $parser->clean_namespaces( 1 ); - $parser->no_network(1); - -=head1 PARSING - -A XML document is read into a data structure such as a DOM tree by a piece of -software, called a parser. XML::LibXML currently provides four different parser -interfaces: - - -=over 4 - -=item * - -A DOM Pull-Parser - - - -=item * - -A DOM Push-Parser - - - -=item * - -A SAX Parser - - - -=item * - -A DOM based SAX Parser. - - - -=back - - -=head2 Creating a Parser Instance - -XML::LibXML provides an OO interface to the libxml2 parser functions. Thus you -have to create a parser instance before you can parse any XML data. - -=over 4 - -=item B<new> - - $parser = XML::LibXML->new(); - -There is nothing much to say about the constructor. It simply creates a new -parser instance. - -Although libxml2 uses mainly global flags to alter the behaviour of the parser, -each XML::LibXML parser instance has its own flags or callbacks and does not -interfere with other instances. - - - -=back - - -=head2 DOM Parser - -One of the common parser interfaces of XML::LibXML is the DOM parser. This -parser reads XML data into a DOM like data structure, so each tag can get -accessed and transformed. - -XML::LibXML's DOM parser is not only capable to parse XML data, but also -(strict) HTML files. There are three ways to parse documents - as a string, as -a Perl filehandle, or as a filename/URL. The return value from each is a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> object, which is a DOM object. - -All of the functions listed below will throw an exception if the document is -invalid. To prevent this causing your program exiting, wrap the call in an -eval{} block - -=over 4 - -=item B<parse_file> - - $doc = $parser->parse_file( $xmlfilename ); - -This function parses an XML document from a file or network; $xmlfilename can -be either a filename or an URL. Note that for parsing files, this function is -the fastest choice, about 6-8 times faster then parse_fh(). - - -=item B<parse_fh> - - $doc = $parser->parse_fh( $io_fh ); - -parse_fh() parses a IOREF or a subclass of IO::Handle. - -Because the data comes from an open handle, libxml2's parser does not know -about the base URI of the document. To set the base URI one should use -parse_fh() as follows: - - - - my $doc = $parser->parse_fh( $io_fh, $baseuri ); - - -=item B<parse_string> - - $doc = $parser->parse_string( $xmlstring); - -This function is similar to parse_fh(), but it parses a XML document that is -available as a single string in memory. Again, you can pass an optional base -URI to the function. - - - - my $doc = $parser->parse_string( $xmlstring, $baseuri ); - - -=item B<parse_html_file> - - $doc = $parser->parse_html_file( $htmlfile, \%opts ); - -Similar to parse_file() but parses HTML (strict) documents; $htmlfile can be -filename or URL. - -An optional second argument can be used to pass some options to the HTML parser -as a HASH reference. Possible options are: Possible options are: encoding and -URI for libxml2 < 2.6.27, and for later versions of libxml2 additionally: -recover, suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and -no_network. - - -=item B<parse_html_fh> - - $doc = $parser->parse_html_fh( $io_fh, \%opts ); - -Similar to parse_fh() but parses HTML (strict) streams. - -An optional second argument can be used to pass some options to the HTML parser -as a HASH reference. Possible options are: encoding and URI for libxml2 < -2.6.27, and for later versions of libxml2 additionally: recover, -suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and no_network. -Note: encoding option may not work correctly with this function in libxml2 < -2.6.27 if the HTML file declares charset using a META tag. - - -=item B<parse_html_string> - - $doc = $parser->parse_html_string( $htmlstring, \%opts ); - -Similar to parse_string() but parses HTML (strict) strings. - -An optional second argument can be used to pass some options to the HTML parser -as a HASH reference. Possible options are: encoding and URI for libxml2 < -2.6.27, and for later versions of libxml2 additionally: recover, -suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and no_network. - - - -=back - -Parsing HTML may cause problems, especially if the ampersand ('&') is used. -This is a common problem if HTML code is parsed that contains links to -CGI-scripts. Such links cause the parser to throw errors. In such cases libxml2 -still parses the entire document as there was no error, but the error causes -XML::LibXML to stop the parsing process. However, the document is not lost. -Such HTML documents should be parsed using the I<<<<<< recover >>>>>> flag. By default recovering is deactivated. - -The functions described above are implemented to parse well formed documents. -In some cases a program gets well balanced XML instead of well formed documents -(e.g. a XML fragment from a Database). With XML::LibXML it is not required to -wrap such fragments in the code, because XML::LibXML is capable even to parse -well balanced XML fragments. - -=over 4 - -=item B<parse_balanced_chunk> - - $fragment = $parser->parse_balanced_chunk( $wbxmlstring ); - -This function parses a well balanced XML string into a L<<<<<< XML::LibXML's DOM L2 Document Fragment Implementation|XML::LibXML's DOM L2 Document Fragment Implementation >>>>>>. - - -=item B<parse_xml_chunk> - - $fragment = $parser->parse_xml_chunk( $wbxmlstring ); - -This is the old name of parse_balanced_chunk(). Because it may causes confusion -with the push parser interface, this function should not be used anymore. - - - -=back - -By default XML::LibXML does not process XInclude tags within a XML Document -(see options section below). XML::LibXML allows to post process a document to -expand XInclude tags. - -=over 4 - -=item B<process_xincludes> - - $parser->process_xincludes( $doc ); - -After a document is parsed into a DOM structure, you may want to expand the -documents XInclude tags. This function processes the given document structure -and expands all XInclude tags (or throws an error) by using the flags and -callbacks of the given parser instance. - -Note that the resulting Tree contains some extra nodes (of type -XML_XINCLUDE_START and XML_XINCLUDE_END) after successfully processing the -document. These nodes indicate where data was included into the original tree. -if the document is serialized, these extra nodes will not show up. - -Remember: A Document with processed XIncludes differs from the original -document after serialization, because the original XInclude tags will not get -restored! - -If the parser flag "expand_xincludes" is set to 1, you need not to post process -the parsed document. - - -=item B<processXIncludes> - - $parser->processXIncludes( $doc ); - -This is an alias to process_xincludes, but through a JAVA like function name. - - - -=back - - -=head2 Push Parser - -XML::LibXML provides a push parser interface. Rather than pulling the data from -a given source the push parser waits for the data to be pushed into it. - -This allows one to parse large documents without waiting for the parser to -finish. The interface is especially useful if a program needs to pre-process -the incoming pieces of XML (e.g. to detect document boundaries). - -While XML::LibXML parse_*() functions force the data to be a well-formed XML, -the push parser will take any arbitrary string that contains some XML data. The -only requirement is that all the pushed strings are together a well formed -document. With the push parser interface a program can interrupt the parsing -process as required, where the parse_*() functions give not enough flexibility. - -Different to the pull parser implemented in parse_fh() or parse_file(), the -push parser is not able to find out about the documents end itself. Thus the -calling program needs to indicate explicitly when the parsing is done. - -In XML::LibXML this is done by a single function: - -=over 4 - -=item B<parse_chunk> - - $parser->parse_chunk($string, $terminate); - -parse_chunk() tries to parse a given chunk of data, which isn't necessarily -well balanced data. The function takes two parameters: The chunk of data as a -string and optional a termination flag. If the termination flag is set to a -true value (e.g. 1), the parsing will be stopped and the resulting document -will be returned as the following example describes: - - - - my $parser = XML::LibXML->new; - for my $string ( "<", "foo", ' bar="hello world"', "/>") { - $parser->parse_chunk( $string ); - } - my $doc = $parser->parse_chunk("", 1); # terminate the parsing - - - -=back - -Internally XML::LibXML provides three functions that control the push parser -process: - -=over 4 - -=item B<start_push> - - $parser->start_push(); - -Initializes the push parser. - - -=item B<push> - - $parser->push(@data); - -This function pushes the data stored inside the array to libxml2's parser. Each -entry in @data must be a normal scalar! - - -=item B<finish_push> - - $doc = $parser->finish_push( $recover ); - -This function returns the result of the parsing process. If this function is -called without a parameter it will complain about non well-formed documents. If -$restore is 1, the push parser can be used to restore broken or non well formed -(XML) documents as the following example shows: - - - - eval { - $parser->push( "<foo>", "bar" ); - $doc = $parser->finish_push(); # will report broken XML - }; - if ( $@ ) { - # ... - } - -This can be annoying if the closing tag is missed by accident. The following -code will restore the document: - - - - eval { - $parser->push( "<foo>", "bar" ); - $doc = $parser->finish_push(1); # will return the data parsed - # unless an error happened - }; - - print $doc->toString(); # returns "<foo>bar</foo>" - -Of course finish_push() will return nothing if there was no data pushed to the -parser before. - - - -=back - - -=head2 DOM based SAX Parser - -XML::LibXML provides a DOM based SAX parser. The SAX parser is defined in the -module XML::LibXML::SAX::Parser. As it is not a stream based parser, it parses -documents into a DOM and traverses the DOM tree instead. - -The API of this parser is exactly the same as any other Perl SAX2 parser. See -XML::SAX::Intro for details. - -Aside from the regular parsing methods, you can access the DOM tree traverser -directly, using the generate() method: - - - - my $doc = build_yourself_a_document(); - my $saxparser = $XML::LibXML::SAX::Parser->new( ... ); - $parser->generate( $doc ); - -This is useful for serializing DOM trees, for example that you might have done -prior processing on, or that you have as a result of XSLT processing. - -I<<<<<< WARNING >>>>>> - -This is NOT a streaming SAX parser. As I said above, this parser reads the -entire document into a DOM and serialises it. Some people couldn't read that in -the paragraph above so I've added this warning. - -If you want a streaming SAX parser look at the L<<<<<< XML::LibXML direct SAX parser|XML::LibXML direct SAX parser >>>>>> man page - - -=head1 SERIALIZATION - -XML::LibXML provides some functions to serialize nodes and documents. The -serialization functions are described on the L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> manpage or the L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> manpage. XML::LibXML checks three global flags that alter the serialization -process: - - -=over 4 - -=item * - -skipXMLDeclaration - - - -=item * - -skipDTD - - - -=item * - -setTagCompression - - - -=back - -of that three functions only setTagCompression is available for all -serialization functions. - -Because XML::LibXML does these flags not itself, one has to define them locally -as the following example shows: - - - - local $XML::LibXML::skipXMLDeclaration = 1; - local $XML::LibXML::skipDTD = 1; - local $XML::LibXML::setTagCompression = 1; - -If skipXMLDeclaration is defined and not '0', the XML declaration is omitted -during serialization. - -If skipDTD is defined and not '0', an existing DTD would not be serialized with -the document. - -If setTagCompression is defined and not '0' empty tags are displayed as open -and closing tags rather than the shortcut. For example the empty tag I<<<<<< foo >>>>>> will be rendered as I<<<<<< <foo></foo> >>>>>> rather than I<<<<<< <foo/> >>>>>>. - - -=head1 PARSER OPTIONS - -LibXML options are global (unfortunately this is a limitation of the underlying -implementation, not this interface). They can either be set using -$parser->option(...), or XML::LibXML->option(...), both are treated in the same -manner. Note that even two parser processes will share some of the same -options, so be careful out there! - -Every option returns the previous value, and can be called without parameters -to get the current value. - -=over 4 - -=item B<validation> - - $parser->validation(1); - -Turn validation on (or off). Defaults to off. - - -=item B<recover> - - $parser->recover(1); - -Turn the parsers recover mode on (or off). Defaults to off. - -This allows one to parse broken XML data into memory. This switch will only -work with XML data rather than HTML data. Also the validation will be switched -off automatically. - -The recover mode helps to recover documents that are almost well-formed very -efficiently. That is for example a document that forgets to close the document -tag (or any other tag inside the document). The recover mode of XML::LibXML has -problems restoring documents that are more like well balanced chunks. - -XML::LibXML will only parse until the first fatal error occurs, reporting -recoverable parsing errors as warnings. To suppress these warnings use -$parser->recover_silently(1); or, equivalently, $parser->recover(2). - - -=item B<recover_silently> - - $parser->recover_silently(1); - -Turns the parser warnings off (or on). Defaults to on. - -This allows to switch off warnings printed to STDERR when parsing documents -with recover(1). - -Please note that calling recover_silently(0) also turns the parser recover mode -off and calling recover_silently(1) automatically activates the parser recover -mode. - - -=item B<expand_entities> - - $parser->expand_entities(0); - -Turn entity expansion on or off, enabled by default. If entity expansion is -off, any external parsed entities in the document are left as entities. -Probably not very useful for most purposes. - - -=item B<keep_blanks> - - $parser->keep_blanks(0); - -Allows you to turn off XML::LibXML's default behaviour of maintaining -white-space in the document. - - -=item B<pedantic_parser> - - $parser->pedantic_parser(1); - -You can make XML::LibXML more pedantic if you want to. - - -=item B<line_numbers> - - $parser->line_numbers(1); - -If this option is activated XML::LibXML will store the line number of a node. -This gives more information where a validation error occurred. It could be also -used to find out about the position of a node after parsing (see also -XML::LibXML::Node::line_number()). - -IMPORTANT: Due to limitations in the libxml2 library line numbers greater than -65535 will be returned as 65535. Please see L<<<<<< http://bugzilla.gnome.org/show_bug.cgi?id=325533|http://bugzilla.gnome.org/show_bug.cgi?id=325533 >>>>>> for more details. - -By default line numbering is switched off (0). - - -=item B<load_ext_dtd> - - $parser->load_ext_dtd(1); - -Load external DTD subsets while parsing. - -This flag is also required for DTD Validation, to provide complete attribute, -and to expand entities, regardless if the document has an internal subset. Thus -switching off external DTD loading, will disable entity expansion, validation, -and complete attributes on internal subsets as well. - -If you leave this parser flag untouched, everything will work, because the -default is 1 (activated) - - -=item B<complete_attributes> - - $parser->complete_attributes(1); - -Complete the elements attributes lists with the ones defaulted from the DTDs. -By default, this option is enabled. - - -=item B<expand_xinclude> - - $parser->expand_xinclude(1); - -Expands XIinclude tags immediately while parsing the document. This flag -assures that the parser callbacks are used while parsing the included document. - - -=item B<load_catalog> - - $parser->load_catalog( $catalog_file ); - -Will use $catalog_file as a catalog during all parsing processes. Using a -catalog will significantly speed up parsing processes if many external -resources are loaded into the parsed documents (such as DTDs or XIncludes). - -Note that catalogs will not be available if an external entity handler was -specified. At the current state it is not possible to make use of both types of -resolving systems at the same time. - - -=item B<base_uri> - - $parser->base_uri( $your_base_uri ); - -In case of parsing strings or file handles, XML::LibXML doesn't know about the -base uri of the document. To make relative references such as XIncludes work, -one has to set a separate base URI, that is then used for the parsed documents. - - -=item B<gdome_dom> - - $parser->gdome_dom(1); - -THIS FLAG IS EXPERIMENTAL! - -Although quite powerful XML:LibXML's DOM implementation is limited if one needs -or wants full DOM level 2 or level 3 support. XML::GDOME is based on libxml2 as -well but provides a rather complete DOM implementation by wrapping libgdome. -This allows you to make use of XML::LibXML's full parser options and -XML::GDOME's DOM implementation at the same time. - -To make use of this function, one has to install libgdome and configure -XML::LibXML to use this library. For this you need to rebuild XML::LibXML! - - -=item B<clean_namespaces> - - $parser->clean_namespaces( 1 ); - -libxml2 2.6.0 and later allows to strip redundant namespace declarations from -the DOM tree. To do this, one has to set clean_namespaces() to 1 (TRUE). By -default no namespace cleanup is done. - - -=item B<no_network> - - $parser->no_network(1); - -Turn networking support on or off, enabled by default. If networking is off, -all attempts to fetch non-local resources (such as DTD or external entities) -will fail (unless custom callbacks are defined). It may be necessary to use -$parser->recover(1) for processing documents requiring such resources while -networking is off. - - - -=back - - -=head1 ERROR REPORTING - -XML::LibXML throws exceptions during parsing, validation or XPath processing -(and some other occasions). These errors can be caught by using I<<<<<< eval >>>>>> blocks. The error then will be stored in I<<<<<< $@ >>>>>>. - -XML::LibXML throws errors as they occurs and does not wait if a user test for -them. This is a very common misunderstanding in the use of XML::LibXML. If the -eval is omitted, XML::LibXML will always halt your script by "croaking" (see -Carp man page for details). - -Also note that an increasing number of functions throw errors if bad data is -passed. If you cannot assure valid data passed to XML::LibXML you should eval -these functions. - -Note: since version 1.59, get_last_error() is no longer available in -XML::LibXML for thread-safety reasons. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm deleted file mode 100644 index 935d31a5644..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm +++ /dev/null @@ -1,222 +0,0 @@ -package XML::LibXML::Reader; -use XML::LibXML; - -use strict; -use warnings; - -use vars qw ($VERSION); -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use Carp; -use 5.008_000; -use base qw(Exporter); -use constant { - XML_READER_TYPE_NONE => 0, - XML_READER_TYPE_ELEMENT => 1, - XML_READER_TYPE_ATTRIBUTE => 2, - XML_READER_TYPE_TEXT => 3, - XML_READER_TYPE_CDATA => 4, - XML_READER_TYPE_ENTITY_REFERENCE => 5, - XML_READER_TYPE_ENTITY => 6, - XML_READER_TYPE_PROCESSING_INSTRUCTION => 7, - XML_READER_TYPE_COMMENT => 8, - XML_READER_TYPE_DOCUMENT => 9, - XML_READER_TYPE_DOCUMENT_TYPE => 10, - XML_READER_TYPE_DOCUMENT_FRAGMENT => 11, - XML_READER_TYPE_NOTATION => 12, - XML_READER_TYPE_WHITESPACE => 13, - XML_READER_TYPE_SIGNIFICANT_WHITESPACE => 14, - XML_READER_TYPE_END_ELEMENT => 15, - XML_READER_TYPE_END_ENTITY => 16, - XML_READER_TYPE_XML_DECLARATION => 17, - - XML_READER_NONE => -1, - XML_READER_START => 0, - XML_READER_ELEMENT => 1, - XML_READER_END => 2, - XML_READER_EMPTY => 3, - XML_READER_BACKTRACK => 4, - XML_READER_DONE => 5, - XML_READER_ERROR => 6 -}; -use vars qw( @EXPORT @EXPORT_OK %EXPORT_TAGS ); - -BEGIN { - -%EXPORT_TAGS = ( - types => - [qw( - XML_READER_TYPE_NONE - XML_READER_TYPE_ELEMENT - XML_READER_TYPE_ATTRIBUTE - XML_READER_TYPE_TEXT - XML_READER_TYPE_CDATA - XML_READER_TYPE_ENTITY_REFERENCE - XML_READER_TYPE_ENTITY - XML_READER_TYPE_PROCESSING_INSTRUCTION - XML_READER_TYPE_COMMENT - XML_READER_TYPE_DOCUMENT - XML_READER_TYPE_DOCUMENT_TYPE - XML_READER_TYPE_DOCUMENT_FRAGMENT - XML_READER_TYPE_NOTATION - XML_READER_TYPE_WHITESPACE - XML_READER_TYPE_SIGNIFICANT_WHITESPACE - XML_READER_TYPE_END_ELEMENT - XML_READER_TYPE_END_ENTITY - XML_READER_TYPE_XML_DECLARATION - )], - states => - [qw( - XML_READER_NONE - XML_READER_START - XML_READER_ELEMENT - XML_READER_END - XML_READER_EMPTY - XML_READER_BACKTRACK - XML_READER_DONE - XML_READER_ERROR - )] -); -@EXPORT = (@{$EXPORT_TAGS{types}},@{$EXPORT_TAGS{states}}); -@EXPORT_OK = @EXPORT; -$EXPORT_TAGS{all}=\@EXPORT_OK; -} - -{ - my %flags = ( - recover => 1, # recover on errors - expand_entities => 2, # substitute entities - load_ext_dtd => 4, # load the external subset - complete_attributes => 8, # default DTD attributes - validation => 16, # validate with the DTD - suppress_errors => 32, # suppress error reports - suppress_warnings => 64, # suppress warning reports - pedantic_parser => 128, # pedantic error reporting - no_blanks => 256, # remove blank nodes - expand_xinclude => 1024, # Implement XInclude substitition - xinclude => 1024, # ... alias - no_network => 2048, # Forbid network access - clean_namespaces => 8192, # remove redundant namespaces declarations - no_cdata => 16384, # merge CDATA as text nodes - no_xinclude_nodes => 32768, # do not generate XINCLUDE START/END nodes - ); - sub _parser_options { - my ($opts) = @_; - - # currently dictionaries break XML::LibXML memory management - my $no_dict = 4096; - my $flags = $no_dict; # safety precaution - - my ($key, $value); - while (($key,$value) = each %$opts) { - my $f = $flags{ $key }; - if (defined $f) { - if ($value) { - $flags |= $f - } else { - $flags &= ~$f; - } - } - } - return $flags; - } - my %props = ( - load_ext_dtd => 1, # load the external subset - complete_attributes => 2, # default DTD attributes - validation => 3, # validate with the DTD - expand_entities => 4, # substitute entities - ); - sub getParserProp { - my ($self, $name) = @_; - my $prop = $props{$name}; - return undef unless defined $prop; - return $self->_getParserProp($prop); - } - sub setParserProp { - my $self = shift; - my %args = map { ref($_) eq 'HASH' ? (%$_) : $_ } @_; - my ($key, $value); - while (($key,$value) = each %args) { - my $prop = $props{ $key }; - $self->_setParserProp($prop,$value); - } - return; - } - - my (%string_pool,%rng_pool,%xsd_pool); # used to preserve data passed to the reader - sub new { - my ($class) = shift; - my %args = map { ref($_) eq 'HASH' ? (%$_) : $_ } @_; - my $encoding = $args{encoding}; - my $URI = $args{URI}; - my $options = _parser_options(\%args); - - my $self = undef; - if ( defined $args{location} ) { - $self = $class->_newForFile( $args{location}, $encoding, $options ); - } - elsif ( defined $args{string} ) { - $self = $class->_newForString( $args{string}, $URI, $encoding, $options ); - $string_pool{$self} = \$args{string}; - } - elsif ( defined $args{IO} ) { - $self = $class->_newForIO( $args{IO}, $URI, $encoding, $options ); - } - elsif ( defined $args{DOM} ) { - croak("DOM must be a XML::LibXML::Document node") - unless UNIVERSAL::isa($args{DOM}, 'XML::LibXML::Document'); - $self = $class->_newForDOM( $args{DOM} ); - } - elsif ( defined $args{FD} ) { - my $fd = fileno($args{FD}); - $self = $class->_newForFd( $fd, $URI, $encoding, $options ); - } - else { - croak("XML::LibXML::Reader->new: specify location, string, IO, DOM, or FD"); - } - if ($args{RelaxNG}) { - if (ref($args{RelaxNG})) { - $rng_pool{$self} = \$args{RelaxNG}; - $self->_setRelaxNG($args{RelaxNG}); - } else { - $self->_setRelaxNGFile($args{RelaxNG}); - } - } - if ($args{Schema}) { - if (ref($args{Schema})) { - $xsd_pool{$self} = \$args{Schema}; - $self->_setXSD($args{Schema}); - } else { - $self->_setXSDFile($args{Schema}); - } - } - return $self; - } - sub DESTROY { - my $self = shift; - delete $string_pool{$self}; - delete $rng_pool{$self}; - delete $xsd_pool{$self}; - $self->_DESTROY; - } -} -sub close { - my ($reader) = @_; - # _close return -1 on failure, 0 on success - # perl close returns 0 on failure, 1 on success - return $reader->_close == 0 ? 1 : 0; -} - -sub preservePattern { - my $reader=shift; - my ($pattern,$ns_map)=@_; - if (ref($ns_map) eq 'HASH') { - # translate prefix=>URL hash to a (URL,prefix) list - $reader->_preservePattern($pattern,[reverse %$ns_map]); - } else { - $reader->_preservePattern(@_); - } -} - -1; -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod deleted file mode 100644 index 9e8ab26550d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod +++ /dev/null @@ -1,716 +0,0 @@ -=head1 NAME - -XML::LibXML::Reader - XML::LibXML::Reader - interface to libxml2 pull parser - -=head1 SYNOPSIS - - - - use XML::LibXML::Reader; - - - - $reader = new XML::LibXML::Reader(location => "file.xml") - or die "cannot read file.xml\n"; - while ($reader->read) { - processNode($reader); - } - - - - sub processNode { - $reader = shift; - printf "%d %d %s %d\n", ($reader->depth, - $reader->nodeType, - $reader->name, - $reader->isEmptyElement); - } - -or - - - - $reader = new XML::LibXML::Reader(location => "file.xml") - or die "cannot read file.xml\n"; - $reader->preservePattern('//table/tr'); - $reader->finish; - print $reader->document->toString(1); - - -=head1 DESCRIPTION - -This is a perl interface to libxml2's pull-parser implementation xmlTextReader I<<<<<< http://xmlsoft.org/html/libxml-xmlreader.html >>>>>>. This feature requires at least libxml2-2.6.21. Pull-parser (StAX in Java, -XmlReader in C#) use an iterator approach to parse a xml-file. They are easier -to program than event-based parser (SAX) and much more lightweight than -tree-based parser (DOM), which load the complete tree into memory. - -The Reader acts as a cursor going forward on the document stream and stopping -at each node in the way. At every point DOM-like methods of the Reader object -allow to examine the current node (name, namespace, attributes, etc.) - -The user's code keeps control of the progress and simply calls the C<<<<<< read() >>>>>> function repeatedly to progress to the next node in the document order. Other -functions provide means for skipping complete sub-trees, or nodes until a -specific element, etc. - -At every time, only a very limited portion of the document is kept in the -memory, which makes the API more memory-efficient than using DOM. However, it -is also possible to mix Reader with DOM. At every point the user may copy the -current node (optionally expanded into a complete sub-tree) from the processed -document to another DOM tree, or to instruct the Reader to collect sub-document -in form of a DOM tree consisting of selected nodes. - -Reader API also supports namespaces, xml:base, entity handling, and DTD -validation. Schema and RelaxNG validation support will probably be added in -some later revision of the Perl interface. - -The naming of methods compared to libxml2 and C# XmlTextReader has been changed -slightly to match the conventions of XML::LibXML. Some functions have been -changed or added with respect to the C interface. - - -=head1 CONSTRUCTOR - -Depending on the XML source, the Reader object can be created with either of: - - - - my $reader = XML::LibXML::Reader->new( location => "file.xml", ... ); - my $reader = XML::LibXML::Reader->new( string => $xml_string, ... ); - my $reader = XML::LibXML::Reader->new( IO => $file_handle, ... ); - my $reader = XML::LibXML::Reader->new( DOM => $dom, ... ); - -where ... are (optional) reader options described below in Parser options. The -constructor recognizes the following XML sources: - - -=head2 Source specification - -=over 4 - -=item B<location> - -Read XML from a local file or URL. - - -=item B<string> - -Read XML from a string. - - -=item B<IO> - -Read XML a Perl IO filehandle. - - -=item B<FD> - -Read XML from a file descriptor (bypasses Perl I/O layer, only applicable to -filehandles for regular files or pipes). Possibly faster than IO. - - -=item B<DOM> - -Use reader API to walk through a pre-parsed L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - - - -=back - - -=head2 Parsing options - -=over 4 - -=item B<URI> - -can be used to provide baseURI when parsing strings or filehandles. - - -=item B<encoding> - -override document encoding. - - -=item B<RelaxNG> - -can be used to pass either a L<<<<<< RelaxNG Schema Validation|RelaxNG Schema Validation >>>>>> object or a filename or URL of a RelaxNG schema to the constructor. The schema -is then used to validate the document as it is processed. - - -=item B<Schema> - -can be used to pass either a L<<<<<< XML Schema Validation|XML Schema Validation >>>>>> object or a filename or URL of a W3C XSD schema to the constructor. The schema -is then used to validate the document as it is processed. - - -=item B<recover> - -recover on errors (0 or 1) - - -=item B<expand_entities> - -substitute entities (0 or 1) - - -=item B<load_ext_dtd> - -load the external subset (0 or 1) - - -=item B<complete_attributes> - -default DTD attributes (0 or 1) - - -=item B<validation> - -validate with the DTD (0 or 1) - - -=item B<suppress_errors> - -suppress error reports (0 or 1) - - -=item B<suppress_warnings> - -suppress warning reports (0 or 1) - - -=item B<pedantic_parser> - -pedantic error reporting (0 or 1) - - -=item B<no_blanks> - -remove blank nodes (0 or 1) - - -=item B<expand_xinclude> - -Implement XInclude substitution (0 or 1) - - -=item B<no_network> - -Forbid network access (0 or 1) - - -=item B<clean_namespaces> - -remove redundant namespaces declarations (0 or 1) - - -=item B<no_cdata> - -merge CDATA as text nodes (0 or 1) - - -=item B<no_xinclude_nodes> - -do not generate XINCLUDE START/END nodes (0 or 1) - - - -=back - - -=head1 METHODS CONTROLLING PARSING PROGRESS - -=over 4 - -=item B<read ()> - -Moves the position to the next node in the stream, exposing its properties. - -Returns 1 if the node was read successfully, 0 if there is no more nodes to -read, or -1 in case of error - - -=item B<readAttributeValue ()> - -Parses an attribute value into one or more Text and EntityReference nodes. - -Returns 1 in case of success, 0 if the reader was not positioned on an -attribute node or all the attribute values have been read, or -1 in case of -error. - - -=item B<readState ()> - -Gets the read state of the reader. Returns the state value, or -1 in case of -error. The module exports constants for the Reader states, see STATES below. - - -=item B<depth ()> - -The depth of the node in the tree, starts at 0 for the root node. - - -=item B<next ()> - -Skip to the node following the current one in the document order while avoiding -the sub-tree if any. Returns 1 if the node was read successfully, 0 if there is -no more nodes to read, or -1 in case of error. - - -=item B<nextElement (localname?,nsURI?)> - -Skip nodes following the current one in the document order until a specific -element is reached. The element's name must be equal to a given localname if -defined, and its namespace must equal to a given nsURI if defined. Either of -the arguments can be undefined (or omitted, in case of the latter or both). - -Returns 1 if the element was found, 0 if there is no more nodes to read, or -1 -in case of error. - - -=item B<skipSiblings ()> - -Skip all nodes on the same or lower level until the first node on a higher -level is reached. In particular, if the current node occurs in an element, the -reader stops at the end tag of the parent element, otherwise it stops at a node -immediately following the parent node. - -Returns 1 if successful, 0 if end of the document is reached, or -1 in case of -error. - - -=item B<nextSibling ()> - -It skips to the node following the current one in the document order while -avoiding the sub-tree if any. - -Returns 1 if the node was read successfully, 0 if there is no more nodes to -read, or -1 in case of error - - -=item B<nextSiblingElement (name?,nsURI?)> - -Like nextElement but only processes sibling elements of the current node -(moving forward using C<<<<<< nextSibling () >>>>>> rather than C<<<<<< read () >>>>>>, internally). - -Returns 1 if the element was found, 0 if there is no more sibling nodes, or -1 -in case of error. - - -=item B<finish ()> - -Skip all remaining nodes in the document, reaching end of the document. - -Returns 1 if successful, 0 in case of error. - - -=item B<close ()> - -This method releases any resources allocated by the current instance and closes -any underlying input. It returns 0 on failure and 1 on success. This method is -automatically called by the destructor when the reader is forgotten, therefore -you do not have to call it directly. - - - -=back - - -=head1 METHODS EXTRACTING INFORMATION - -=over 4 - -=item B<name ()> - -Returns the qualified name of the current node, equal to (Prefix:)LocalName. - - -=item B<nodeType ()> - -Returns the type of the current node. See NODE TYPES below. - - -=item B<localName ()> - -Returns the local name of the node. - - -=item B<prefix ()> - -Returns the prefix of the namespace associated with the node. - - -=item B<namespaceURI ()> - -Returns the URI defining the namespace associated with the node. - - -=item B<isEmptyElement ()> - -Check if the current node is empty, this is a bit bizarre in the sense that -<a/> will be considered empty while <a></a> will not. - - -=item B<hasValue ()> - -Returns true if the node can have a text value. - - -=item B<value ()> - -Provides the text value of the node if present or undef if not available. - - -=item B<readInnerXml ()> - -Reads the contents of the current node, including child nodes and markup. -Returns a string containing the XML of the node's content, or undef if the -current node is neither an element nor attribute, or has no child nodes. - - -=item B<readOuterXml ()> - -Reads the contents of the current node, including child nodes and markup. - -Returns a string containing the XML of the node including its content, or undef -if the current node is neither an element nor attribute. - - - -=back - - -=head1 METHODS EXTRACTING DOM NODES - -=over 4 - -=item B<document ()> - -Provides access to the document tree built by the reader. This function can be -used to collect the preserved nodes (see C<<<<<< preserveNode() >>>>>> and preservePattern). - -CAUTION: Never use this function to modify the tree unless reading of the whole -document is completed! - - -=item B<copyCurrentNode (deep)> - -This function is similar a DOM function C<<<<<< copyNode() >>>>>>. It returns a copy of the currently processed node as a corresponding DOM -object. Use deep = 1 to obtain the full sub-tree. - - -=item B<preserveNode ()> - -This tells the XML Reader to preserve the current node in the document tree. A -document tree consisting of the preserved nodes and their content can be -obtained using the method C<<<<<< document() >>>>>> once parsing is finished. - -Returns the node or NULL in case of error. - - -=item B<preservePattern (pattern,\%ns_map)> - -This tells the XML Reader to preserve all nodes matched by the pattern (which -is a streaming XPath subset). A document tree consisting of the preserved nodes -and their content can be obtained using the method C<<<<<< document() >>>>>> once parsing is finished. - -An optional second argument can be used to provide a HASH reference mapping -prefixes used by the XPath to namespace URIs. - -The XPath subset available with this function is described at - - - - http://www.w3.org/TR/xmlschema-1/#Selector - -and matches the production - - - - Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ) - -Returns a positive number in case of success and -1 in case of error - - - -=back - - -=head1 METHODS PROCESSING ATTRIBUTES - -=over 4 - -=item B<attributeCount ()> - -Provides the number of attributes of the current node. - - -=item B<hasAttributes ()> - -Whether the node has attributes. - - -=item B<getAttribute (name)> - -Provides the value of the attribute with the specified qualified name. - -Returns a string containing the value of the specified attribute, or undef in -case of error. - - -=item B<getAttributeNs (localName, namespaceURI)> - -Provides the value of the specified attribute. - -Returns a string containing the value of the specified attribute, or undef in -case of error. - - -=item B<getAttributeNo (no)> - -Provides the value of the attribute with the specified index relative to the -containing element. - -Returns a string containing the value of the specified attribute, or undef in -case of error. - - -=item B<isDefault ()> - -Returns true if the current attribute node was generated from the default value -defined in the DTD. - - -=item B<moveToAttribute (name)> - -Moves the position to the attribute with the specified local name and namespace -URI. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToAttributeNo (no)> - -Moves the position to the attribute with the specified index relative to the -containing element. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToAttributeNs (localName,namespaceURI)> - -Moves the position to the attribute with the specified local name and namespace -URI. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToFirstAttribute ()> - -Moves the position to the first attribute associated with the current node. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToNextAttribute ()> - -Moves the position to the next attribute associated with the current node. - -Returns 1 in case of success, -1 in case of error, 0 if not found - - -=item B<moveToElement ()> - -Moves the position to the node that contains the current attribute node. - -Returns 1 in case of success, -1 in case of error, 0 if not moved - - -=item B<isNamespaceDecl ()> - -Determine whether the current node is a namespace declaration rather than a -regular attribute. - -Returns 1 if the current node is a namespace declaration, 0 if it is a regular -attribute or other type of node, or -1 in case of error. - - - -=back - - -=head1 OTHER METHODS - -=over 4 - -=item B<lookupNamespace (prefix)> - -Resolves a namespace prefix in the scope of the current element. - -Returns a string containing the namespace URI to which the prefix maps or undef -in case of error. - - -=item B<encoding ()> - -Returns a string containing the encoding of the document or undef in case of -error. - - -=item B<standalone ()> - -Determine the standalone status of the document being read. Returns 1 if the -document was declared to be standalone, 0 if it was declared to be not -standalone, or -1 if the document did not specify its standalone status or in -case of error. - - -=item B<xmlVersion ()> - -Determine the XML version of the document being read. Returns a string -containing the XML version of the document or undef in case of error. - - -=item B<baseURI ()> - -The base URI of the node. See the XML Base W3C specification. - - -=item B<isValid ()> - -Retrieve the validity status from the parser. - -Returns 1 if valid, 0 if no, and -1 in case of error. - - -=item B<xmlLang ()> - -The xml:lang scope within which the node resides. - - -=item B<lineNumber ()> - -Provide the line number of the current parsing point. - - -=item B<columnNumber ()> - -Provide the column number of the current parsing point. - - -=item B<byteConsumed ()> - -This function provides the current index of the parser relative to the start of -the current entity. This function is computed in bytes from the beginning -starting at zero and finishing at the size in bytes of the file if parsing a -file. The function is of constant cost if the input is UTF-8 but can be costly -if run on non-UTF-8 input. - - -=item B<setParserProp (prop => value, ...)> - -Change the parser processing behaviour by changing some of its internal -properties. The following properties are available with this function: -``load_ext_dtd'', ``complete_attributes'', ``validation'', ``expand_entities''. - -Since some of the properties can only be changed before any read has been done, -it is best to set the parsing properties at the constructor. - -Returns 0 if the call was successful, or -1 in case of error - - -=item B<getParserProp (prop)> - -Get value of an parser internal property. The following property names can be -used: ``load_ext_dtd'', ``complete_attributes'', ``validation'', -``expand_entities''. - -Returns the value, usually 0 or 1, or -1 in case of error. - - - -=back - - -=head1 DESTRUCTION - -XML::LibXML takes care of the reader object destruction when the last reference -to the reader object goes out of scope. The document tree is preserved, though, -if either of $reader->document or $reader->preserveNode was used and references -to the document tree exist. - - -=head1 NODE TYPES - -The reader interface provides the following constants for node types (the -constant symbols are exported by default or if tag C<<<<<< :types >>>>>> is used). - - - - XML_READER_TYPE_NONE => 0 - XML_READER_TYPE_ELEMENT => 1 - XML_READER_TYPE_ATTRIBUTE => 2 - XML_READER_TYPE_TEXT => 3 - XML_READER_TYPE_CDATA => 4 - XML_READER_TYPE_ENTITY_REFERENCE => 5 - XML_READER_TYPE_ENTITY => 6 - XML_READER_TYPE_PROCESSING_INSTRUCTION => 7 - XML_READER_TYPE_COMMENT => 8 - XML_READER_TYPE_DOCUMENT => 9 - XML_READER_TYPE_DOCUMENT_TYPE => 10 - XML_READER_TYPE_DOCUMENT_FRAGMENT => 11 - XML_READER_TYPE_NOTATION => 12 - XML_READER_TYPE_WHITESPACE => 13 - XML_READER_TYPE_SIGNIFICANT_WHITESPACE => 14 - XML_READER_TYPE_END_ELEMENT => 15 - XML_READER_TYPE_END_ENTITY => 16 - XML_READER_TYPE_XML_DECLARATION => 17 - - -=head1 STATES - -The following constants represent the values returned by C<<<<<< readState() >>>>>>. They are exported by default, or if tag C<<<<<< :states >>>>>> is used: - - - - XML_READER_NONE => -1 - XML_READER_START => 0 - XML_READER_ELEMENT => 1 - XML_READER_END => 2 - XML_READER_EMPTY => 3 - XML_READER_BACKTRACK => 4 - XML_READER_DONE => 5 - XML_READER_ERROR => 6 - - -=head1 VERSION - -0.02 - - -=head1 AUTHORS - -Heiko Klein, <H.Klein@gmx.net<gt> and Petr Pajas, <pajas@matfyz.cz<gt> - - -=head1 SEE ALSO - -http://xmlsoft.org/html/libxml-xmlreader.html - -http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod deleted file mode 100644 index a233ead4742..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod +++ /dev/null @@ -1,77 +0,0 @@ -=head1 NAME - -XML::LibXML::RelaxNG - RelaxNG Schema Validation - -=head1 SYNOPSIS - - - - use XML::LibXML; - $doc = XML::LibXML->new->parse_file($url); - - $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url ); - $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring ); - $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc ); - eval { $rngschema->validate( $doc ); }; - -=head1 DESCRIPTION - -The XML::LibXML::RelaxNG class is a tiny frontend to libxml2's RelaxNG -implementation. Currently it supports only schema parsing and document -validation. - - -=head1 METHODS - -=over 4 - -=item B<new> - - $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url ); - $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring ); - $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc ); - -The constructor of XML::LibXML::RelaxNG may get called with either one of three -parameters. The parameter tells the class from which source it should generate -a validation schema. It is important, that each schema only have a single -source. - -The location parameter allows to parse a schema from the filesystem or a URL. - -The string parameter will parse the schema from the given XML string. - -The DOM parameter allows to parse the schema from a pre-parsed L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>. - -Note that the constructor will die() if the schema does not meed the -constraints of the RelaxNG specification. - - -=item B<validate> - - eval { $rngschema->validate( $doc ); }; - -This function allows to validate a (parsed) document against the given RelaxNG -schema. The argument of this function should be a XML::LibXML::Document object. -If this function succeeds, it will return 0, otherwise it will die() and report -the errors found. Because of this validate() should be always evaluated. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm deleted file mode 100644 index de8821e83bc..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm +++ /dev/null @@ -1,81 +0,0 @@ -# $Id: SAX.pm 709 2008-01-29 21:01:32Z pajas $ -# Copyright (c) 2001-2002, AxKit.com Ltd. All rights reserved. -package XML::LibXML::SAX; - -use strict; -use vars qw($VERSION @ISA); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -use XML::LibXML; -use XML::SAX::Base; - -use base qw(XML::SAX::Base); - -use Carp; -use IO::File; - -sub _parse_characterstream { - my ( $self, $fh ) = @_; - # this my catch the xml decl, so the parser won't get confused about - # a possibly wrong encoding. - croak( "not implemented yet" ); -} - -sub _parse_bytestream { - my ( $self, $fh ) = @_; - $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_fh; - $self->{ParserOptions}{ParseFuncParam} = $fh; - return $self->_parse; -} - -sub _parse_string { - my ( $self, $string ) = @_; -# $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser}; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_string; - $self->{ParserOptions}{ParseFuncParam} = $string; - return $self->_parse; -} - -sub _parse_systemid { - my $self = shift; - $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_file; - $self->{ParserOptions}{ParseFuncParam} = shift; - return $self->_parse; -} - -sub parse_chunk { - my ( $self, $chunk ) = @_; - $self->{ParserOptions}{LibParser} = XML::LibXML->new; - $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_xml_chunk; - $self->{ParserOptions}{ParseFuncParam} = $chunk; - return $self->_parse; -} - -sub _parse { - my $self = shift; - my $args = bless $self->{ParserOptions}, ref($self); - - $args->{LibParser}->set_handler( $self ); - eval { - $args->{ParseFunc}->($args->{LibParser}, $args->{ParseFuncParam}); - }; - - if ( $args->{LibParser}->{SAX}->{State} == 1 ) { - croak( "SAX Exception not implemented, yet; Data ended before document ended\n" ); - } - - # break a possible circular reference - $args->{LibParser}->set_handler( undef ); - if ( $@ ) { - croak $@; - } - return $self->end_document({}); -} - - -1; - diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod deleted file mode 100644 index e9462136dea..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod +++ /dev/null @@ -1,46 +0,0 @@ -=head1 NAME - -XML::LibXML::SAX - XML::LibXML direct SAX parser - - -=head1 DESCRIPTION - -XML::LibXML provides an interface to libxml2 direct SAX interface. Through this -interface it is possible to generate SAX events directly while parsing a -document. While using the SAX parser XML::LibXML will not create a DOM Document -tree. - -Such an interface is useful if very large XML documents have to be processed -and no DOM functions are required. By using this interface it is possible to -read data stored within a XML document directly into the application data -structures without loading the document into memory. - -The SAX interface of XML::LibXML is based on the famous XML::SAX interface. It -uses the generic interface as provided by XML::SAX::Base. - -Additionally to the generic functions, which are only able to process entire -documents, XML::LibXML::SAX provides I<<<<<< parse_chunk() >>>>>>. This method generates SAX events from well balanced data such as is often -provided by databases. - -I<<<<<< NOTE: >>>>>> At the moment XML::LibXML provides only an incomplete interface to libxml2's -native SAX implementation. The current implementation is not tested in -production environment. It may causes significant memory problems or shows -wrong behaviour. If you run into specific problems using this part of -XML::LibXML, let me know. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm deleted file mode 100644 index 0c1691dc876..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm +++ /dev/null @@ -1,322 +0,0 @@ -# $Id: Builder.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::SAX::Builder; - -use XML::LibXML; -use XML::NamespaceSupport; - -use vars qw ($VERSION); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -sub new { - my $class = shift; - return bless {@_}, $class; -} - -sub result { $_[0]->{LAST_DOM}; } - -sub done { - my ($self) = @_; - my $dom = $self->{DOM}; - $dom = $self->{Parent} unless defined $dom; # this is for parsing document chunks - - delete $self->{NamespaceStack}; - delete $self->{Parent}; - delete $self->{DOM}; - - $self->{LAST_DOM} = $dom; - - return $dom; -} - -sub set_document_locator { -} - -sub start_dtd { - my ($self, $dtd) = @_; - if (defined $dtd->{Name} and - (defined $dtd->{SystemID} or defined $dtd->{PublicID})) { - $self->{DOM}->createExternalSubset($dtd->{Name},$dtd->{PublicID},$dtd->{SystemID}); - } -} - -sub end_dtd { -} - -sub start_document { - my ($self, $doc) = @_; - - $self->{DOM} = XML::LibXML::Document->createDocument(); - - if ( defined $self->{Encoding} ) { - $self->xml_decl({Version => ($self->{Version} || '1.0') , Encoding => $self->{Encoding}}); - } - - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - $self->{Parent} = undef; - return (); -} - -sub xml_decl { - my $self = shift; - my $decl = shift; - - if ( defined $decl->{Version} ) { - $self->{DOM}->setVersion( $decl->{Version} ); - } - if ( defined $decl->{Encoding} ) { - $self->{DOM}->setEncoding( $decl->{Encoding} ); - } - return (); -} - -sub end_document { - my ($self, $doc) = @_; - my $d = $self->done(); - return $d; -} - -sub start_prefix_mapping { - my $self = shift; - my $ns = shift; - - unless ( defined $self->{DOM} or defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - - $self->{USENAMESPACESTACK} = 1; - - $self->{NamespaceStack}->declare_prefix( $ns->{Prefix}, $ns->{NamespaceURI} ); - return (); -} - - -sub end_prefix_mapping { - my $self = shift; - my $ns = shift; - $self->{NamespaceStack}->undeclare_prefix( $ns->{Prefix} ); - return (); -} - - -sub start_element { - my ($self, $el) = @_; - my $node; - - unless ( defined $self->{DOM} or defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - - if ( defined $self->{Parent} ) { - $el->{NamespaceURI} ||= ""; - $node = $self->{Parent}->addNewChild( $el->{NamespaceURI}, - $el->{Name} ); - } - else { - if ($el->{NamespaceURI}) { - if ( defined $self->{DOM} ) { - $node = $self->{DOM}->createRawElementNS($el->{NamespaceURI}, - $el->{Name}); - } - else { - $node = XML::LibXML::Element->new( $el->{Name} ); - $node->setNamespace( $el->{NamespaceURI}, - $el->{Prefix} , 1 ); - } - } - else { - if ( defined $self->{DOM} ) { - $node = $self->{DOM}->createRawElement($el->{Name}); - } - else { - $node = XML::LibXML::Element->new( $el->{Name} ); - } - } - - $self->{DOM}->setDocumentElement($node); - } - - # build namespaces - my $skip_ns= 0; - foreach my $p ( $self->{NamespaceStack}->get_declared_prefixes() ) { - $skip_ns= 1; - my $uri = $self->{NamespaceStack}->get_uri($p); - my $nodeflag = 0; - if ( defined $uri - and defined $el->{NamespaceURI} - and $uri eq $el->{NamespaceURI} ) { - # $nodeflag = 1; - next; - } - $node->setNamespace($uri, $p, 0 ); - } - - $self->{Parent} = $node; - - $self->{NamespaceStack}->push_context; - - # do attributes - foreach my $key (keys %{$el->{Attributes}}) { - my $attr = $el->{Attributes}->{$key}; - if (ref($attr)) { - # catch broken name/value pairs - next unless $attr->{Name} ; - next if $self->{USENAMESPACESTACK} - and ( $attr->{Name} eq "xmlns" - or ( defined $attr->{Prefix} - and $attr->{Prefix} eq "xmlns" ) ); - - - if ( defined $attr->{Prefix} - and $attr->{Prefix} eq "xmlns" and $skip_ns == 0 ) { - # ok, the generator does not set namespaces correctly! - my $uri = $attr->{Value}; - $node->setNamespace($uri, - $attr->{Localname}, - $uri eq $el->{NamespaceURI} ? 1 : 0 ); - } - else { - $node->setAttributeNS($attr->{NamespaceURI} || "", - $attr->{Name}, $attr->{Value}); - } - } - else { - $node->setAttribute($key => $attr); - } - } - return (); -} - -sub end_element { - my ($self, $el) = @_; - return unless $self->{Parent}; - - $self->{NamespaceStack}->pop_context; - $self->{Parent} = $self->{Parent}->parentNode(); - return (); -} - -sub start_cdata { - my $self = shift; - $self->{IN_CDATA} = 1; - return (); -} - -sub end_cdata { - my $self = shift; - $self->{IN_CDATA} = 0; - return (); -} - -sub characters { - my ($self, $chars) = @_; - if ( not defined $self->{DOM} and not defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - return unless $self->{Parent}; - my $node; - - unless ( defined $chars and defined $chars->{Data} ) { - return; - } - - if ( defined $self->{DOM} ) { - if ( defined $self->{IN_CDATA} and $self->{IN_CDATA} == 1 ) { - $node = $self->{DOM}->createCDATASection($chars->{Data}); - } - else { - $node = $self->{Parent}->appendText($chars->{Data}); - return; - } - } - elsif ( defined $self->{IN_CDATA} and $self->{IN_CDATA} == 1 ) { - $node = XML::LibXML::CDATASection->new($chars->{Data}); - } - else { - $node = XML::LibXML::Text->new($chars->{Data}); - } - - $self->{Parent}->addChild($node); - return (); -} - -sub comment { - my ($self, $chars) = @_; - my $comment; - if ( not defined $self->{DOM} and not defined $self->{Parent} ) { - $self->{Parent} = XML::LibXML::DocumentFragment->new(); - $self->{NamespaceStack} = XML::NamespaceSupport->new; - $self->{NamespaceStack}->push_context; - } - - unless ( defined $chars and defined $chars->{Data} ) { - return; - } - - if ( defined $self->{DOM} ) { - $comment = $self->{DOM}->createComment( $chars->{Data} ); - } - else { - $comment = XML::LibXML::Comment->new( $chars->{Data} ); - } - - if ( defined $self->{Parent} ) { - $self->{Parent}->addChild($comment); - } - else { - $self->{DOM}->addChild($comment); - } - return (); -} - -sub processing_instruction { - my ( $self, $pi ) = @_; - my $PI; - return unless defined $self->{DOM}; - $PI = $self->{DOM}->createPI( $pi->{Target}, $pi->{Data} ); - - if ( defined $self->{Parent} ) { - $self->{Parent}->addChild( $PI ); - } - else { - $self->{DOM}->addChild( $PI ); - } - return (); -} - -sub warning { - my $self = shift; - my $error = shift; - # fill $@ but do not die seriously - eval { $error->throw; }; -} - -sub error { - my $self = shift; - my $error = shift; - delete $self->{NamespaceStack}; - delete $self->{Parent}; - delete $self->{DOM}; - $error->throw; -} - -sub fatal_error { - my $self = shift; - my $error = shift; - delete $self->{NamespaceStack}; - delete $self->{Parent}; - delete $self->{DOM}; - $error->throw; -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod deleted file mode 100644 index 18891b4fa68..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod +++ /dev/null @@ -1,47 +0,0 @@ -=head1 NAME - -XML::LibXML::SAX::Builder - Building DOM trees from SAX events. - -=head1 SYNOPSIS - - - - use XML::LibXML::SAX::Builder; - my $builder = XML::LibXML::SAX::Builder->new(); - - my $gen = XML::Generator::DBI->new(Handler => $builder, dbh => $dbh); - $gen->execute("SELECT * FROM Users"); - - my $doc = $builder->result(); - - -=head1 DESCRIPTION - -This is a SAX handler that generates a DOM tree from SAX events. Usage is as -above. Input is accepted from any SAX1 or SAX2 event generator. - -Building DOM trees from SAX events is quite easy with -XML::LibXML::SAX::Builder. The class is designed as a SAX2 final handler not as -a filter! - -Since SAX is strictly stream oriented, you should not expect anything to return -from a generator. Instead you have to ask the builder instance directly to get -the document built. XML::LibXML::SAX::Builder's result() function holds the -document generated from the last SAX stream. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm deleted file mode 100644 index 2854619cb50..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm +++ /dev/null @@ -1,146 +0,0 @@ -# $Id: Generator.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::SAX::Generator; - -use strict; - -use XML::LibXML; -use vars qw ($VERSION); - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -warn("This class (", __PACKAGE__, ") is deprecated!"); - -sub new { - my $class = shift; - unshift @_, 'Handler' unless @_ != 1; - my %p = @_; - return bless \%p, $class; -} - -sub generate { - my $self = shift; - my ($node) = @_; - - my $document = { Parent => undef }; - $self->{Handler}->start_document($document); - - process_node($self->{Handler}, $node); - - $self->{Handler}->end_document($document); -} - -sub process_node { - my ($handler, $node) = @_; - - my $node_type = $node->getType(); - if ($node_type == XML_COMMENT_NODE) { - $handler->comment( { Data => $node->getData } ); - } - elsif ($node_type == XML_TEXT_NODE || $node_type == XML_CDATA_SECTION_NODE) { - # warn($node->getData . "\n"); - $handler->characters( { Data => $node->getData } ); - } - elsif ($node_type == XML_ELEMENT_NODE) { - # warn("<" . $node->getName . ">\n"); - process_element($handler, $node); - # warn("</" . $node->getName . ">\n"); - } - elsif ($node_type == XML_ENTITY_REF_NODE) { - foreach my $kid ($node->getChildnodes) { - # warn("child of entity ref: " . $kid->getType() . " called: " . $kid->getName . "\n"); - process_node($handler, $kid); - } - } - elsif ($node_type == XML_DOCUMENT_NODE) { - # just get root element. Ignore other cruft. - foreach my $kid ($node->getChildnodes) { - if ($kid->getType() == XML_ELEMENT_NODE) { - process_element($handler, $kid); - last; - } - } - } - else { - warn("unknown node type: $node_type"); - } -} - -sub process_element { - my ($handler, $element) = @_; - - my @attr; - - foreach my $attr ($element->getAttributes) { - push @attr, XML::LibXML::SAX::AttributeNode->new( - Name => $attr->getName, - Value => $attr->getData, - NamespaceURI => $attr->getNamespaceURI, - Prefix => $attr->getPrefix, - LocalName => $attr->getLocalName, - ); - } - - my $node = { - Name => $element->getName, - Attributes => { map { $_->{Name} => $_ } @attr }, - NamespaceURI => $element->getNamespaceURI, - Prefix => $element->getPrefix, - LocalName => $element->getLocalName, - }; - - $handler->start_element($node); - - foreach my $child ($element->getChildnodes) { - process_node($handler, $child); - } - - $handler->end_element($node); -} - -package XML::LibXML::SAX::AttributeNode; - -use overload '""' => "stringify"; - -sub new { - my $class = shift; - my %p = @_; - return bless \%p, $class; -} - -sub stringify { - my $self = shift; - return $self->{Value}; -} - -1; - -__END__ - -=head1 NAME - -XML::LibXML::SAX::Generator - Generate SAX events from a LibXML tree - -=head1 SYNOPSIS - - my $handler = MySAXHandler->new(); - my $generator = XML::LibXML::SAX::Generator->new(Handler => $handler); - my $dom = XML::LibXML->new->parse_file("foo.xml"); - - $generator->generate($dom); - -=head1 DESCRIPTION - -THIS CLASS IS DEPRACED! Use XML::LibXML::SAX::Parser instead! - -This helper class allows you to generate SAX events from any XML::LibXML -node, and all it's sub-nodes. This basically gives you interop from -XML::LibXML to other modules that may implement SAX. - -It uses SAX2 style, but should be compatible with anything SAX1, by use -of stringification overloading. - -There is nothing to really know about, beyond the synopsis above, and -a general knowledge of how to use SAX, which is beyond the scope here. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm deleted file mode 100644 index 40137cb7c95..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm +++ /dev/null @@ -1,254 +0,0 @@ -# $Id: Parser.pm 709 2008-01-29 21:01:32Z pajas $ - -package XML::LibXML::SAX::Parser; - -use strict; -use vars qw($VERSION @ISA); - -use XML::LibXML; -use XML::LibXML::Common qw(:libxml); -use XML::SAX::Base; -use XML::SAX::DocumentLocator; - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE -@ISA = ('XML::SAX::Base'); - -sub _parse_characterstream { - my ($self, $fh, $options) = @_; - die "parsing a characterstream is not supported at this time"; -} - -sub _parse_bytestream { - my ($self, $fh, $options) = @_; - my $parser = XML::LibXML->new(); - my $doc = exists($options->{Source}{SystemId}) ? $parser->parse_fh($fh, $options->{Source}{SystemId}) : $parser->parse_fh($fh); - $self->generate($doc); -} - -sub _parse_string { - my ($self, $str, $options) = @_; - my $parser = XML::LibXML->new(); - my $doc = exists($options->{Source}{SystemId}) ? $parser->parse_string($str, $options->{Source}{SystemId}) : $parser->parse_string($str); - $self->generate($doc); -} - -sub _parse_systemid { - my ($self, $sysid, $options) = @_; - my $parser = XML::LibXML->new(); - my $doc = $parser->parse_file($sysid); - $self->generate($doc); -} - -sub generate { - my $self = shift; - my ($node) = @_; - - my $doc = $node->ownerDocument(); - { - # precompute some DocumentLocator values - my %locator = ( - PublicId => undef, - SystemId => undef, - Encoding => undef, - XMLVersion => undef, - ); - my $dtd = defined $doc ? $doc->externalSubset() : undef; - if (defined $dtd) { - $locator{PublicId} = $dtd->publicId(); - $locator{SystemId} = $dtd->systemId(); - } - if (defined $doc) { - $locator{Encoding} = $doc->encoding(); - $locator{XMLVersion} = $doc->version(); - } - $self->set_document_locator( - XML::SAX::DocumentLocator->new( - sub { $locator{PublicId} }, - sub { $locator{SystemId} }, - sub { defined($self->{current_node}) ? $self->{current_node}->line_number() : undef }, - sub { 1 }, - sub { $locator{Encoding} }, - sub { $locator{XMLVersion} }, - ), - ); - } - - if ( $node->nodeType() == XML_DOCUMENT_NODE - || $node->nodeType == XML_HTML_DOCUMENT_NODE ) { - $self->start_document({}); - $self->xml_decl({Version => $node->getVersion, Encoding => $node->getEncoding}); - $self->process_node($node); - $self->end_document({}); - } -} - -sub process_node { - my ($self, $node) = @_; - - local $self->{current_node} = $node; - - my $node_type = $node->nodeType(); - if ($node_type == XML_COMMENT_NODE) { - $self->comment( { Data => $node->getData } ); - } - elsif ($node_type == XML_TEXT_NODE - || $node_type == XML_CDATA_SECTION_NODE) { - # warn($node->getData . "\n"); - $self->characters( { Data => $node->nodeValue } ); - } - elsif ($node_type == XML_ELEMENT_NODE) { - # warn("<" . $node->getName . ">\n"); - $self->process_element($node); - # warn("</" . $node->getName . ">\n"); - } - elsif ($node_type == XML_ENTITY_REF_NODE) { - foreach my $kid ($node->childNodes) { - # warn("child of entity ref: " . $kid->getType() . " called: " . $kid->getName . "\n"); - $self->process_node($kid); - } - } - elsif ($node_type == XML_DOCUMENT_NODE - || $node_type == XML_HTML_DOCUMENT_NODE - || $node_type == XML_DOCUMENT_FRAG_NODE) { - # some times it is just usefull to generate SAX events from - # a document fragment (very good with filters). - foreach my $kid ($node->childNodes) { - $self->process_node($kid); - } - } - elsif ($node_type == XML_PI_NODE) { - $self->processing_instruction( { Target => $node->getName, Data => $node->getData } ); - } - elsif ($node_type == XML_COMMENT_NODE) { - $self->comment( { Data => $node->getData } ); - } - elsif ( $node_type == XML_XINCLUDE_START - || $node_type == XML_XINCLUDE_END ) { - # ignore! - # i may want to handle this one day, dunno yet - } - elsif ($node_type == XML_DTD_NODE ) { - # ignore! - # i will support DTDs, but had no time yet. - } - else { - # warn("unsupported node type: $node_type"); - } - -} - -sub process_element { - my ($self, $element) = @_; - - my $attribs = {}; - my @ns_maps = $element->getNamespaces; - - foreach my $ns (@ns_maps) { - $self->start_prefix_mapping( - { - NamespaceURI => $ns->href, - Prefix => ( defined $ns->localname ? $ns->localname : ''), - } - ); - } - - foreach my $attr ($element->attributes) { - my $key; - # warn("Attr: $attr -> ", $attr->getName, " = ", $attr->getData, "\n"); - # this isa dump thing... - if ($attr->isa('XML::LibXML::Namespace')) { - # TODO This needs fixing modulo agreeing on what - # is the right thing to do here. - unless ( defined $attr->name ) { - ## It's an atter like "xmlns='foo'" - $attribs->{"{}xmlns"} = - { - Name => "xmlns", - LocalName => "xmlns", - Prefix => "", - Value => $attr->href, - NamespaceURI => "", - }; - } - else { - my $prefix = "xmlns"; - my $localname = $attr->localname; - my $key = "{http://www.w3.org/2000/xmlns/}"; - my $name = "xmlns"; - - if ( defined $localname ) { - $key .= $localname; - $name.= ":".$localname; - } - - $attribs->{$key} = - { - Name => $name, - Value => $attr->href, - NamespaceURI => "http://www.w3.org/2000/xmlns/", - Prefix => $prefix, - LocalName => $localname, - }; - } - } - else { - my $ns = $attr->namespaceURI; - - $ns = '' unless defined $ns; - $key = "{$ns}".$attr->localname; - ## Not sure why, but $attr->name is coming through stripped - ## of its prefix, so we need to hand-assemble a real name. - my $name = $attr->name; - $name = "" unless defined $name; - - my $prefix = $attr->prefix; - $prefix = "" unless defined $prefix; - $name = "$prefix:$name" - if index( $name, ":" ) < 0 && length $prefix; - - $attribs->{$key} = - { - Name => $name, - Value => $attr->value, - NamespaceURI => $ns, - Prefix => $prefix, - LocalName => $attr->localname, - }; - } - # use Data::Dumper; - # warn("Attr made: ", Dumper($attribs->{$key}), "\n"); - } - - my $node = { - Name => $element->nodeName, - Attributes => $attribs, - NamespaceURI => $element->namespaceURI, - Prefix => $element->prefix || "", - LocalName => $element->localname, - }; - - $self->start_element($node); - - foreach my $child ($element->childNodes) { - $self->process_node($child); - } - - my $end_node = { %$node }; - - delete $end_node->{Attributes}; - - $self->end_element($end_node); - - foreach my $ns (@ns_maps) { - $self->end_prefix_mapping( - { - NamespaceURI => $ns->href, - Prefix => ( defined $ns->localname ? $ns->localname : ''), - } - ); - } -} - -1; - -__END__ diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod deleted file mode 100644 index 107301612bf..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod +++ /dev/null @@ -1,73 +0,0 @@ -=head1 NAME - -XML::LibXML::Schema - XML Schema Validation - -=head1 SYNOPSIS - - - - use XML::LibXML; - $doc = XML::LibXML->new->parse_file($url); - - $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url ); - $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring ); - eval { $xmlschema->validate( $doc ); }; - -=head1 DESCRIPTION - -The XML::LibXML::Schema class is a tiny frontend to libxml2's XML Schema -implementation. Currently it supports only schema parsing and document -validation. - - -=head1 METHODS - -=over 4 - -=item B<new> - - $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url ); - $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring ); - -The constructor of XML::LibXML::Schema may get called with either one of two -parameters. The parameter tells the class from which source it should generate -a validation schema. It is important, that each schema only have a single -source. - -The location parameter allows to parse a schema from the filesystem or a URL. - -The string parameter will parse the schema from the given XML string. - -Note that the constructor will die() if the schema does not meed the -constraints of the XML Schema specification. - - -=item B<validate> - - eval { $xmlschema->validate( $doc ); }; - -This function allows to validate a (parsed) document against the given XML -Schema. The argument of this function should be a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> object. If this function succeeds, it will return 0, otherwise it will die() -and report the errors found. Because of this validate() should be always -evaluated. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod deleted file mode 100644 index 98c741489aa..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod +++ /dev/null @@ -1,179 +0,0 @@ -=head1 NAME - -XML::LibXML::Text - XML::LibXML Class for Text Nodes - -=head1 SYNOPSIS - - - - use XML::LibXML; - # Only methods specific to Text nodes are listed here, - # see XML::LibXML::Node manpage for other methods - - $text = XML::LibXML::Text->new( $content ); - $nodedata = $text->data; - $text->setData( $text_content ); - $text->substringData($offset, $length); - $text->appendData( $somedata ); - $text->insertData($offset, $string); - $text->deleteData($offset, $length); - $text->deleteDataString($remstring, $all); - $text->replaceData($offset, $length, $string); - $text->replaceDataString($old, $new, $flag); - $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags ); - -=head1 DESCRIPTION - -Unlike the DOM specification, XML::LibXML implements the text node as the base -class of all character data node. Therefor there exists no CharacterData class. -This allows one to apply methods of text nodes also to Comments and -CDATA-sections. - - -=head1 METHODS - -The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here. - -Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation. - -=over 4 - -=item B<new> - - $text = XML::LibXML::Text->new( $content ); - -The constructor of the class. It creates an unbound text node. - - -=item B<data> - - $nodedata = $text->data; - -Although there exists the C<<<<<< nodeValue >>>>>> attribute in the Node class, the DOM specification defines data as a separate -attribute. C<<<<<< XML::LibXML >>>>>> implements these two attributes not as different attributes, but as aliases, -such as C<<<<<< libxml2 >>>>>> does. Therefore - - - - $text->data; - -and - - - - $text->nodeValue; - -will have the same result and are not different entities. - - -=item B<setData($string)> - - $text->setData( $text_content ); - -This function sets or replaces text content to a node. The node has to be of -the type "text", "cdata" or "comment". - - -=item B<substringData($offset,$length)> - - $text->substringData($offset, $length); - -Extracts a range of data from the node. (DOM Spec) This function takes the two -parameters $offset and $length and returns the sub-string, if available. - -If the node contains no data or $offset refers to an non-existing string index, -this function will return I<<<<<< undef >>>>>>. If $length is out of range C<<<<<< substringData >>>>>> will return the data starting at $offset instead of causing an error. - - -=item B<appendData($string)> - - $text->appendData( $somedata ); - -Appends a string to the end of the existing data. If the current text node -contains no data, this function has the same effect as C<<<<<< setData >>>>>>. - - -=item B<insertData($offset,$string)> - - $text->insertData($offset, $string); - -Inserts the parameter $string at the given $offset of the existing data of the -node. This operation will not remove existing data, but change the order of the -existing data. - -The $offset has to be a positive value. If $offset is out of range, C<<<<<< insertData >>>>>> will have the same behaviour as C<<<<<< appendData >>>>>>. - - -=item B<deleteData($offset, $length)> - - $text->deleteData($offset, $length); - -This method removes a chunk from the existing node data at the given offset. -The $length parameter tells, how many characters should be removed from the -string. - - -=item B<deleteDataString($string, [$all])> - - $text->deleteDataString($remstring, $all); - -This method removes a chunk from the existing node data. Since the DOM spec is -quite unhandy if you already know C<<<<<< which >>>>>> string to remove from a text node, this method allows more perlish code :) - -The functions takes two parameters: I<<<<<< $string >>>>>> and optional the I<<<<<< $all >>>>>> flag. If $all is not set, I<<<<<< undef >>>>>> or I<<<<<< 0 >>>>>>, C<<<<<< deleteDataString >>>>>> will remove only the first occurrence of $string. If $all is I<<<<<< TRUE >>>>>>C<<<<<< deleteDataString >>>>>> will remove all occurrences of I<<<<<< $string >>>>>> from the node data. - - -=item B<replaceData($offset, $length, $string)> - - $text->replaceData($offset, $length, $string); - -The DOM style version to replace node data. - - -=item B<replaceDataString($oldstring, $newstring, [$all])> - - $text->replaceDataString($old, $new, $flag); - -The more programmer friendly version of replaceData() :) - -Instead of giving offsets and length one can specify the exact string (I<<<<<< $oldstring >>>>>>) to be replaced. Additionally the I<<<<<< $all >>>>>> flag allows to replace all occurrences of I<<<<<< $oldstring >>>>>>. - - -=item B<replaceDataRegEx( $search_cond, $replace_cond, $reflags )> - - $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags ); - -This method replaces the node's data by a C<<<<<< simple >>>>>> regular expression. Optional, this function allows to pass some flags that will -be added as flag to the replace statement. - -I<<<<<< NOTE: >>>>>> This is a shortcut for - - - - my $datastr = $node->getData(); - $datastr =~ s/somecond/replacement/g; # 'g' is just an example for any flag - $node->setData( $datastr ); - -This function can make things easier to read for simple replacements. For more -complex variants it is recommended to use the code snippet above. - - - -=back - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm deleted file mode 100644 index 903a260e2d5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm +++ /dev/null @@ -1,131 +0,0 @@ -# $Id: XPathContext.pm 422 2002-11-08 17:10:30Z phish $ - -package XML::LibXML::XPathContext; - -use strict; -use vars qw($VERSION @ISA $USE_LIBXML_DATA_TYPES); - -use Carp; -use XML::LibXML; -use XML::LibXML::NodeList; - -$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE - -# should LibXML XPath data types be used for simple objects -# when passing parameters to extension functions (default: no) -$USE_LIBXML_DATA_TYPES = 0; - -sub findnodes { - my ($self, $xpath, $node) = @_; - - my @nodes = $self->_guarded_find_call('_findnodes', $xpath, $node); - - if (wantarray) { - return @nodes; - } - else { - return XML::LibXML::NodeList->new(@nodes); - } -} - -sub find { - my ($self, $xpath, $node) = @_; - - my ($type, @params) = $self->_guarded_find_call('_find', $xpath, $node); - - if ($type) { - return $type->new(@params); - } - return undef; -} - -sub findvalue { - my $self = shift; - return $self->find(@_)->to_literal->value; -} - -sub _guarded_find_call { - my ($self, $method, $xpath, $node) = @_; - - my $prev_node; - if (ref($node)) { - $prev_node = $self->getContextNode(); - $self->setContextNode($node); - } - my @ret; - eval { - @ret = $self->$method($xpath); - }; - $self->_free_node_pool; - $self->setContextNode($prev_node) if ref($node); - - if ($@) { - my $err = $@; - chomp $err; - croak $err; - } - - return @ret; -} - -sub registerFunction { - my ($self, $name, $sub) = @_; - $self->registerFunctionNS($name, undef, $sub); - return; -} - -sub unregisterNs { - my ($self, $prefix) = @_; - $self->registerNs($prefix, undef); - return; -} - -sub unregisterFunction { - my ($self, $name) = @_; - $self->registerFunctionNS($name, undef, undef); - return; -} - -sub unregisterFunctionNS { - my ($self, $name, $ns) = @_; - $self->registerFunctionNS($name, $ns, undef); - return; -} - -sub unregisterVarLookupFunc { - my ($self) = @_; - $self->registerVarLookupFunc(undef, undef); - return; -} - -# extension function perl dispatcher -# borrowed from XML::LibXSLT - -sub _perl_dispatcher { - my $func = shift; - my @params = @_; - my @perlParams; - - my $i = 0; - while (@params) { - my $type = shift(@params); - if ($type eq 'XML::LibXML::Literal' or - $type eq 'XML::LibXML::Number' or - $type eq 'XML::LibXML::Boolean') - { - my $val = shift(@params); - unshift(@perlParams, $USE_LIBXML_DATA_TYPES ? $type->new($val) : $val); - } - elsif ($type eq 'XML::LibXML::NodeList') { - my $node_count = shift(@params); - unshift(@perlParams, $type->new(splice(@params, 0, $node_count))); - } - } - - $func = "main::$func" unless ref($func) || $func =~ /(.+)::/; - no strict 'refs'; - my $res = $func->(@perlParams); - return $res; -} - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod deleted file mode 100644 index 328c88a2ec3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod +++ /dev/null @@ -1,349 +0,0 @@ -=head1 NAME - -XML::LibXML::XPathContext - XPath Evaluation - -=head1 SYNOPSIS - - my $xpc = XML::LibXML::XPathContext->new(); - my $xpc = XML::LibXML::XPathContext->new($node); - $xpc->registerNs($prefix, $namespace_uri) - $xpc->unregisterNs($prefix) - $uri = $xpc->lookupNs($prefix) - $xpc->registerVarLookupFunc($callback, $data) - $data = $xpc->getVarLookupData(); - $callback = $xpc->getVarLookupFunc(); - $xpc->unregisterVarLookupFunc($name); - $xpc->registerFunctionNS($name, $uri, $callback) - $xpc->unregisterFunctionNS($name, $uri) - $xpc->registerFunction($name, $callback) - $xpc->unregisterFunction($name) - @nodes = $xpc->findnodes($xpath) - @nodes = $xpc->findnodes($xpath, $context_node ) - $nodelist = $xpc->findnodes($xpath, $context_node ) - $object = $xpc->find($xpath ) - $object = $xpc->find($xpath, $context_node ) - $value = $xpc->findvalue($xpath ) - $value = $xpc->findvalue($xpath, $context_node ) - $xpc->setContextNode($node) - my $node = $xpc->getContextNode; - $xpc->setContextPosition($position) - my $position = $xpc->getContextPosition; - $xpc->setContextSize($size) - my $size = $xpc->getContextSize; - $xpc->setContextNode($node) -The XML::LibXML::XPathContext class provides an almost complete interface to -libxml2's XPath implementation. With XML::LibXML::XPathContext is is possible -to evaluate XPath expressions in the context of arbitrary node, context size, -and context position, with a user-defined namespace-prefix mapping, custom -XPath functions written in Perl, and even a custom XPath variable resolver. - - -=head1 EXAMPLES - - -=head2 Namespaces - -This example demonstrates C<<<<<< registerNs() >>>>>> method. It finds all paragraph nodes in an XHTML document. - - - - my $xc = XML::LibXML::XPathContext->new($xhtml_doc); - $xc->registerNs('xhtml', 'http://www.w3.org/1999/xhtml'); - my @nodes = $xc->findnodes('//xhtml:p'); - - -=head2 Custom XPath functions - -This example demonstrates C<<<<<< registerFunction() >>>>>> method by defining a function filtering nodes based on a Perl regular -expression: - - - - sub grep_nodes { - my ($nodelist,$regexp) = @_; - my $result = XML::LibXML::NodeList->new; - for my $node ($nodelist->get_nodelist()) { - $result->push($node) if $node->textContent =~ $regexp; - } - return $result; - }; - - my $xc = XML::LibXML::XPathContext->new($node); - $xc->registerFunction('grep_nodes', \&grep_nodes); - my @nodes = $xc->findnodes('//section[grep_nodes(para,"\bsearch(ing|es)?\b")]'); - - -=head2 Variables - -This example demonstrates C<<<<<< registerVarLookup() >>>>>> method. We use XPath variables to recycle results of previous evaluations: - - - - sub var_lookup { - my ($varname,$ns,$data)=@_; - return $data->{$varname}; - } - - my $areas = XML::LibXML->new->parse_file('areas.xml'); - my $empl = XML::LibXML->new->parse_file('employees.xml'); - - my $xc = XML::LibXML::XPathContext->new($empl); - - my %variables = ( - A => $xc->find('/employees/employee[@salary>10000]'), - B => $areas->find('/areas/area[district='Brooklyn']/street'), - ); - - # get names of employees from $A working in an area listed in $B - $xc->registerVarLookupFunc(\&var_lookup, \%variables); - my @nodes = $xc->findnodes('$A[work_area/street = $B]/name'); - - -=head1 METHODS - -=over 4 - -=item B<new> - - my $xpc = XML::LibXML::XPathContext->new(); - -Creates a new XML::LibXML::XPathContext object without a context node. - - my $xpc = XML::LibXML::XPathContext->new($node); - -Creates a new XML::LibXML::XPathContext object with the context node set to C<<<<<< $node >>>>>>. - - -=item B<registerNs> - - $xpc->registerNs($prefix, $namespace_uri) - -Registers namespace C<<<<<< $prefix >>>>>> to C<<<<<< $namespace_uri >>>>>>. - - -=item B<unregisterNs> - - $xpc->unregisterNs($prefix) - -Unregisters namespace C<<<<<< $prefix >>>>>>. - - -=item B<lookupNs> - - $uri = $xpc->lookupNs($prefix) - -Returns namespace URI registered with C<<<<<< $prefix >>>>>>. If C<<<<<< $prefix >>>>>> is not registered to any namespace URI returns C<<<<<< undef >>>>>>. - - -=item B<registerVarLookupFunc> - - $xpc->registerVarLookupFunc($callback, $data) - -Registers variable lookup function C<<<<<< $prefix >>>>>>. The registered function is executed by the XPath engine each time an XPath -variable is evaluated. It takes three arguments: C<<<<<< $data >>>>>>, variable name, and variable ns-URI and must return one value: a number or -string or any C<<<<<< XML::LibXML:: >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g. -Document, Element, etc.), or NodeList. For convenience, simple (non-blessed) -array references containing only L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> objects can be used instead of a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>>. - - -=item B<getVarLookupData> - - $data = $xpc->getVarLookupData(); - -Returns the data that have been associated with a variable lookup function -during a previous call to C<<<<<< registerVarLookupFunc >>>>>>. - - -=item B<getVarLookupFunc> - - $callback = $xpc->getVarLookupFunc(); - -Returns the variable lookup function previously registered with C<<<<<< registerVarLookupFunc >>>>>>. - - -=item B<unregisterVarLookupFunc> - - $xpc->unregisterVarLookupFunc($name); - -Unregisters variable lookup function and the associated lookup data. - - -=item B<registerFunctionNS> - - $xpc->registerFunctionNS($name, $uri, $callback) - -Registers an extension function C<<<<<< $name >>>>>> in C<<<<<< $uri >>>>>> namespace. C<<<<<< $callback >>>>>> must be a CODE reference. The arguments of the callback function are either -simple scalars or C<<<<<< XML::LibXML::* >>>>>> objects depending on the XPath argument types. The function is responsible for -checking the argument number and types. Result of the callback code must be a -single value of the following types: a simple scalar (number, string) or an -arbitrary C<<<<<< XML::LibXML::* >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g. -Document, Element, etc.), or NodeList. For convenience, simple (non-blessed) -array references containing only L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> objects can be used instead of a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>>. - - -=item B<unregisterFunctionNS> - - $xpc->unregisterFunctionNS($name, $uri) - -Unregisters extension function C<<<<<< $name >>>>>> in C<<<<<< $uri >>>>>> namespace. Has the same effect as passing C<<<<<< undef >>>>>> as C<<<<<< $callback >>>>>> to registerFunctionNS. - - -=item B<registerFunction> - - $xpc->registerFunction($name, $callback) - -Same as C<<<<<< registerFunctionNS >>>>>> but without a namespace. - - -=item B<unregisterFunction> - - $xpc->unregisterFunction($name) - -Same as C<<<<<< unregisterFunctionNS >>>>>> but without a namespace. - - -=item B<findnodes> - - @nodes = $xpc->findnodes($xpath) - - @nodes = $xpc->findnodes($xpath, $context_node ) - - $nodelist = $xpc->findnodes($xpath, $context_node ) - -Performs the xpath statement on the current node and returns the result as an -array. In scalar context returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. Optionally, a node may be passed as a second argument to set the -context node for the query. - - -=item B<find> - - $object = $xpc->find($xpath ) - - $object = $xpc->find($xpath, $context_node ) - -Performs the xpath expression using the current node as the context of the -expression, and returns the result depending on what type of result the XPath -expression had. For example, the XPath C<<<<<< 1 * 3 + 52 >>>>>> results in a L<<<<<< XML::LibXML::Number|XML::LibXML::Number >>>>>> object being returned. Other expressions might return a L<<<<<< XML::LibXML::Boolean|XML::LibXML::Boolean >>>>>> object, or a L<<<<<< XML::LibXML::Literal|XML::LibXML::Literal >>>>>> object (a string). Each of those objects uses Perl's overload feature to ``do -the right thing'' in different contexts. Optionally, a node may be passed as a -second argument to set the context node for the query. - - -=item B<findvalue> - - $value = $xpc->findvalue($xpath ) - - $value = $xpc->findvalue($xpath, $context_node ) - -Is exactly equivalent to: - - - - $node->find( $xpath )->to_literal; - -That is, it returns the literal value of the results. This enables you to -ensure that you get a string back from your search, allowing certain shortcuts. -This could be used as the equivalent of <xsl:value-of select=``some_xpath''/>. -Optionally, a node may be passed in the second argument to set the context node -for the query. - - -=item B<setContextNode> - - $xpc->setContextNode($node) - -Set the current context node. - - -=item B<getContextNode> - - my $node = $xpc->getContextNode; - -Get the current context node. - - -=item B<setContextPosition> - - $xpc->setContextPosition($position) - -Set the current context position. By default, this value is -1 (and evaluating -XPath function C<<<<<< position() >>>>>> in the initial context raises an XPath error), but can be set to any value up -to context size. This usually only serves to cheat the XPath engine to return -given position when C<<<<<< position() >>>>>> XPath function is called. Setting this value to -1 restores the default -behavior. - - -=item B<getContextPosition> - - my $position = $xpc->getContextPosition; - -Get the current context position. - - -=item B<setContextSize> - - $xpc->setContextSize($size) - -Set the current context size. By default, this value is -1 (and evaluating -XPath function C<<<<<< last() >>>>>> in the initial context raises an XPath error), but can be set to any -non-negative value. This usually only serves to cheat the XPath engine to -return the given value when C<<<<<< last() >>>>>> XPath function is called. If context size is set to 0, position is -automatically also set to 0. If context size is positive, position is -automatically set to 1. Setting context size to -1 restores the default -behavior. - - -=item B<getContextSize> - - my $size = $xpc->getContextSize; - -Get the current context size. - - -=item B<setContextNode> - - $xpc->setContextNode($node) - -Set the current context node. - - - -=back - - -=head1 BUGS AND CAVEATS - -XML::LibXML::XPathContext objects I<<<<<< are >>>>>> reentrant, meaning that you can call methods of an XML::LibXML::XPathContext -even from XPath extension functions registered with the same object or from a -variable lookup function. On the other hand, you should rather avoid -registering new extension functions, namespaces and a variable lookup function -from within extension functions and a variable lookup function, unless you want -to experience untested behavior. - - -=head1 AUTHORS - -Ilya Martynov and Petr Pajas, based on XML::LibXML and XML::LibXSLT code by -Matt Sergeant and Christian Glahn. - - -=head1 HISTORICAL REMARK - -Prior to XML::LibXML 1.61 this module was distributed separately for -maintenance reasons. - -=head1 AUTHORS - -Matt Sergeant, -Christian Glahn, -Petr Pajas - - -=head1 VERSION - -1.66 - -=head1 COPYRIGHT - -2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm deleted file mode 100644 index 064b021ec5b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm +++ /dev/null @@ -1,840 +0,0 @@ -# XML::Parser -# -# Copyright (c) 1998-2000 Larry Wall and Clark Cooper -# All rights reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. - -package XML::Parser; - -use Carp; - -BEGIN { - require XML::Parser::Expat; - $VERSION = '2.36'; - die "Parser.pm and Expat.pm versions don't match" - unless $VERSION eq $XML::Parser::Expat::VERSION; -} - -use strict; - -use vars qw($VERSION $LWP_load_failed); - -$LWP_load_failed = 0; - -sub new { - my ($class, %args) = @_; - my $style = $args{Style}; - - my $nonexopt = $args{Non_Expat_Options} ||= {}; - - $nonexopt->{Style} = 1; - $nonexopt->{Non_Expat_Options} = 1; - $nonexopt->{Handlers} = 1; - $nonexopt->{_HNDL_TYPES} = 1; - $nonexopt->{NoLWP} = 1; - - $args{_HNDL_TYPES} = {%XML::Parser::Expat::Handler_Setters}; - $args{_HNDL_TYPES}->{Init} = 1; - $args{_HNDL_TYPES}->{Final} = 1; - - $args{Handlers} ||= {}; - my $handlers = $args{Handlers}; - - if (defined($style)) { - my $stylepkg = $style; - - if ($stylepkg !~ /::/) { - $stylepkg = "\u$style"; - - eval { - my $fullpkg = 'XML::Parser::Style::' . $stylepkg; - my $stylefile = $fullpkg; - $stylefile =~ s/::/\//g; - require "$stylefile.pm"; - $stylepkg = $fullpkg; - }; - if ($@) { - # fallback to old behaviour - $stylepkg = 'XML::Parser::' . $stylepkg; - } - } - - my $htype; - foreach $htype (keys %{$args{_HNDL_TYPES}}) { - # Handlers explicity given override - # handlers from the Style package - unless (defined($handlers->{$htype})) { - - # A handler in the style package must either have - # exactly the right case as the type name or a - # completely lower case version of it. - - my $hname = "${stylepkg}::$htype"; - if (defined(&$hname)) { - $handlers->{$htype} = \&$hname; - next; - } - - $hname = "${stylepkg}::\L$htype"; - if (defined(&$hname)) { - $handlers->{$htype} = \&$hname; - next; - } - } - } - } - - unless (defined($handlers->{ExternEnt}) - or defined ($handlers->{ExternEntFin})) { - - if ($args{NoLWP} or $LWP_load_failed) { - $handlers->{ExternEnt} = \&file_ext_ent_handler; - $handlers->{ExternEntFin} = \&file_ext_ent_cleanup; - } - else { - # The following just bootstraps the real LWP external entity - # handler - - $handlers->{ExternEnt} = \&initial_ext_ent_handler; - - # No cleanup function available until LWPExternEnt.pl loaded - } - } - - $args{Pkg} ||= caller; - bless \%args, $class; -} # End of new - -sub setHandlers { - my ($self, @handler_pairs) = @_; - - croak("Uneven number of arguments to setHandlers method") - if (int(@handler_pairs) & 1); - - my @ret; - while (@handler_pairs) { - my $type = shift @handler_pairs; - my $handler = shift @handler_pairs; - unless (defined($self->{_HNDL_TYPES}->{$type})) { - my @types = sort keys %{$self->{_HNDL_TYPES}}; - - croak("Unknown Parser handler type: $type\n Valid types: @types"); - } - push(@ret, $type, $self->{Handlers}->{$type}); - $self->{Handlers}->{$type} = $handler; - } - - return @ret; -} - -sub parse_start { - my $self = shift; - my @expat_options = (); - - my ($key, $val); - while (($key, $val) = each %{$self}) { - push (@expat_options, $key, $val) - unless exists $self->{Non_Expat_Options}->{$key}; - } - - my %handlers = %{$self->{Handlers}}; - my $init = delete $handlers{Init}; - my $final = delete $handlers{Final}; - - my $expatnb = new XML::Parser::ExpatNB(@expat_options, @_); - $expatnb->setHandlers(%handlers); - - &$init($expatnb) - if defined($init); - - $expatnb->{_State_} = 1; - - $expatnb->{FinalHandler} = $final - if defined($final); - - return $expatnb; -} - -sub parse { - my $self = shift; - my $arg = shift; - my @expat_options = (); - my ($key, $val); - while (($key, $val) = each %{$self}) { - push(@expat_options, $key, $val) - unless exists $self->{Non_Expat_Options}->{$key}; - } - - my $expat = new XML::Parser::Expat(@expat_options, @_); - my %handlers = %{$self->{Handlers}}; - my $init = delete $handlers{Init}; - my $final = delete $handlers{Final}; - - $expat->setHandlers(%handlers); - - if ($self->{Base}) { - $expat->base($self->{Base}); - } - - &$init($expat) - if defined($init); - - my @result = (); - my $result; - eval { - $result = $expat->parse($arg); - }; - my $err = $@; - if ($err) { - $expat->release; - die $err; - } - - if ($result and defined($final)) { - if (wantarray) { - @result = &$final($expat); - } - else { - $result = &$final($expat); - } - } - - $expat->release; - - return unless defined wantarray; - return wantarray ? @result : $result; -} - -sub parsestring { - my $self = shift; - $self->parse(@_); -} - -sub parsefile { - my $self = shift; - my $file = shift; - local(*FILE); - open(FILE, $file) or croak "Couldn't open $file:\n$!"; - binmode(FILE); - my @ret; - my $ret; - - $self->{Base} = $file; - - if (wantarray) { - eval { - @ret = $self->parse(*FILE, @_); - }; - } - else { - eval { - $ret = $self->parse(*FILE, @_); - }; - } - my $err = $@; - close(FILE); - die $err if $err; - - return unless defined wantarray; - return wantarray ? @ret : $ret; -} - -sub initial_ext_ent_handler { - # This just bootstraps in the real lwp_ext_ent_handler which - # also loads the URI and LWP modules. - - unless ($LWP_load_failed) { - local($^W) = 0; - - my $stat = - eval { - require('XML/Parser/LWPExternEnt.pl'); - }; - - if ($stat) { - $_[0]->setHandlers(ExternEnt => \&lwp_ext_ent_handler, - ExternEntFin => \&lwp_ext_ent_cleanup); - - goto &lwp_ext_ent_handler; - } - - # Failed to load lwp handler, act as if NoLWP - - $LWP_load_failed = 1; - - my $cmsg = "Couldn't load LWP based external entity handler\n"; - $cmsg .= "Switching to file-based external entity handler\n"; - $cmsg .= " (To avoid this message, use NoLWP option to XML::Parser)\n"; - warn($cmsg); - } - - $_[0]->setHandlers(ExternEnt => \&file_ext_ent_handler, - ExternEntFin => \&file_ext_ent_cleanup); - goto &file_ext_ent_handler; - -} - -sub file_ext_ent_handler { - my ($xp, $base, $path) = @_; - - # Prepend base only for relative paths - - if (defined($base) - and not ($path =~ m!^(?:[\\/]|\w+:)!)) - { - my $newpath = $base; - $newpath =~ s![^\\/:]*$!$path!; - $path = $newpath; - } - - if ($path =~ /^\s*[|>+]/ - or $path =~ /\|\s*$/) { - $xp->{ErrorMessage} - .= "System ID ($path) contains Perl IO control characters"; - return undef; - } - - require IO::File; - my $fh = new IO::File($path); - unless (defined $fh) { - $xp->{ErrorMessage} - .= "Failed to open $path:\n$!"; - return undef; - } - - $xp->{_BaseStack} ||= []; - $xp->{_FhStack} ||= []; - - push(@{$xp->{_BaseStack}}, $base); - push(@{$xp->{_FhStack}}, $fh); - - $xp->base($path); - - return $fh; -} - -sub file_ext_ent_cleanup { - my ($xp) = @_; - - my $fh = pop(@{$xp->{_FhStack}}); - $fh->close; - - my $base = pop(@{$xp->{_BaseStack}}); - $xp->base($base); -} - -1; - -__END__ - -=head1 NAME - -XML::Parser - A perl module for parsing XML documents - -=head1 SYNOPSIS - - use XML::Parser; - - $p1 = new XML::Parser(Style => 'Debug'); - $p1->parsefile('REC-xml-19980210.xml'); - $p1->parse('<foo id="me">Hello World</foo>'); - - # Alternative - $p2 = new XML::Parser(Handlers => {Start => \&handle_start, - End => \&handle_end, - Char => \&handle_char}); - $p2->parse($socket); - - # Another alternative - $p3 = new XML::Parser(ErrorContext => 2); - - $p3->setHandlers(Char => \&text, - Default => \&other); - - open(FOO, 'xmlgenerator |'); - $p3->parse(*FOO, ProtocolEncoding => 'ISO-8859-1'); - close(FOO); - - $p3->parsefile('junk.xml', ErrorContext => 3); - -=begin man -.ds PI PI - -=end man - -=head1 DESCRIPTION - -This module provides ways to parse XML documents. It is built on top of -L<XML::Parser::Expat>, which is a lower level interface to James Clark's -expat library. Each call to one of the parsing methods creates a new -instance of XML::Parser::Expat which is then used to parse the document. -Expat options may be provided when the XML::Parser object is created. -These options are then passed on to the Expat object on each parse call. -They can also be given as extra arguments to the parse methods, in which -case they override options given at XML::Parser creation time. - -The behavior of the parser is controlled either by C<L</Style>> and/or -C<L</Handlers>> options, or by L</setHandlers> method. These all provide -mechanisms for XML::Parser to set the handlers needed by XML::Parser::Expat. -If neither C<Style> nor C<Handlers> are specified, then parsing just -checks the document for being well-formed. - -When underlying handlers get called, they receive as their first parameter -the I<Expat> object, not the Parser object. - -=head1 METHODS - -=over 4 - -=item new - -This is a class method, the constructor for XML::Parser. Options are passed -as keyword value pairs. Recognized options are: - -=over 4 - -=item * Style - -This option provides an easy way to create a given style of parser. The -built in styles are: L<"Debug">, L<"Subs">, L<"Tree">, L<"Objects">, -and L<"Stream">. These are all defined in separate packages under -C<XML::Parser::Style::*>, and you can find further documentation for -each style both below, and in those packages. - -Custom styles can be provided by giving a full package name containing -at least one '::'. This package should then have subs defined for each -handler it wishes to have installed. See L<"STYLES"> below -for a discussion of each built in style. - -=item * Handlers - -When provided, this option should be an anonymous hash containing as -keys the type of handler and as values a sub reference to handle that -type of event. All the handlers get passed as their 1st parameter the -instance of expat that is parsing the document. Further details on -handlers can be found in L<"HANDLERS">. Any handler set here -overrides the corresponding handler set with the Style option. - -=item * Pkg - -Some styles will refer to subs defined in this package. If not provided, -it defaults to the package which called the constructor. - -=item * ErrorContext - -This is an Expat option. When this option is defined, errors are reported -in context. The value should be the number of lines to show on either side -of the line in which the error occurred. - -=item * ProtocolEncoding - -This is an Expat option. This sets the protocol encoding name. It defaults -to none. The built-in encodings are: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and -C<US-ASCII>. Other encodings may be used if they have encoding maps in one -of the directories in the @Encoding_Path list. Check L<"ENCODINGS"> for -more information on encoding maps. Setting the protocol encoding overrides -any encoding in the XML declaration. - -=item * Namespaces - -This is an Expat option. If this is set to a true value, then namespace -processing is done during the parse. See L<XML::Parser::Expat/"Namespaces"> -for further discussion of namespace processing. - -=item * NoExpand - -This is an Expat option. Normally, the parser will try to expand references -to entities defined in the internal subset. If this option is set to a true -value, and a default handler is also set, then the default handler will be -called when an entity reference is seen in text. This has no effect if a -default handler has not been registered, and it has no effect on the expansion -of entity references inside attribute values. - -=item * Stream_Delimiter - -This is an Expat option. It takes a string value. When this string is found -alone on a line while parsing from a stream, then the parse is ended as if it -saw an end of file. The intended use is with a stream of xml documents in a -MIME multipart format. The string should not contain a trailing newline. - -=item * ParseParamEnt - -This is an Expat option. Unless standalone is set to "yes" in the XML -declaration, setting this to a true value allows the external DTD to be read, -and parameter entities to be parsed and expanded. - -=item * NoLWP - -This option has no effect if the ExternEnt or ExternEntFin handlers are -directly set. Otherwise, if true, it forces the use of a file based external -entity handler. - -=item * Non-Expat-Options - -If provided, this should be an anonymous hash whose keys are options that -shouldn't be passed to Expat. This should only be of concern to those -subclassing XML::Parser. - -=back - -=item setHandlers(TYPE, HANDLER [, TYPE, HANDLER [...]]) - -This method registers handlers for various parser events. It overrides any -previous handlers registered through the Style or Handler options or through -earlier calls to setHandlers. By providing a false or undefined value as -the handler, the existing handler can be unset. - -This method returns a list of type, handler pairs corresponding to the -input. The handlers returned are the ones that were in effect prior to -the call. - -See a description of the handler types in L<"HANDLERS">. - -=item parse(SOURCE [, OPT => OPT_VALUE [...]]) - -The SOURCE parameter should either be a string containing the whole XML -document, or it should be an open IO::Handle. Constructor options to -XML::Parser::Expat given as keyword-value pairs may follow the SOURCE -parameter. These override, for this call, any options or attributes passed -through from the XML::Parser instance. - -A die call is thrown if a parse error occurs. Otherwise it will return 1 -or whatever is returned from the B<Final> handler, if one is installed. -In other words, what parse may return depends on the style. - -=item parsestring - -This is just an alias for parse for backwards compatibility. - -=item parsefile(FILE [, OPT => OPT_VALUE [...]]) - -Open FILE for reading, then call parse with the open handle. The file -is closed no matter how parse returns. Returns what parse returns. - -=item parse_start([ OPT => OPT_VALUE [...]]) - -Create and return a new instance of XML::Parser::ExpatNB. Constructor -options may be provided. If an init handler has been provided, it is -called before returning the ExpatNB object. Documents are parsed by -making incremental calls to the parse_more method of this object, which -takes a string. A single call to the parse_done method of this object, -which takes no arguments, indicates that the document is finished. - -If there is a final handler installed, it is executed by the parse_done -method before returning and the parse_done method returns whatever is -returned by the final handler. - -=back - -=head1 HANDLERS - -Expat is an event based parser. As the parser recognizes parts of the -document (say the start or end tag for an XML element), then any handlers -registered for that type of an event are called with suitable parameters. -All handlers receive an instance of XML::Parser::Expat as their first -argument. See L<XML::Parser::Expat/"METHODS"> for a discussion of the -methods that can be called on this object. - -=head2 Init (Expat) - -This is called just before the parsing of the document starts. - -=head2 Final (Expat) - -This is called just after parsing has finished, but only if no errors -occurred during the parse. Parse returns what this returns. - -=head2 Start (Expat, Element [, Attr, Val [,...]]) - -This event is generated when an XML start tag is recognized. Element is the -name of the XML element type that is opened with the start tag. The Attr & -Val pairs are generated for each attribute in the start tag. - -=head2 End (Expat, Element) - -This event is generated when an XML end tag is recognized. Note that -an XML empty tag (<foo/>) generates both a start and an end event. - -=head2 Char (Expat, String) - -This event is generated when non-markup is recognized. The non-markup -sequence of characters is in String. A single non-markup sequence of -characters may generate multiple calls to this handler. Whatever the -encoding of the string in the original document, this is given to the -handler in UTF-8. - -=head2 Proc (Expat, Target, Data) - -This event is generated when a processing instruction is recognized. - -=head2 Comment (Expat, Data) - -This event is generated when a comment is recognized. - -=head2 CdataStart (Expat) - -This is called at the start of a CDATA section. - -=head2 CdataEnd (Expat) - -This is called at the end of a CDATA section. - -=head2 Default (Expat, String) - -This is called for any characters that don't have a registered handler. -This includes both characters that are part of markup for which no -events are generated (markup declarations) and characters that -could generate events, but for which no handler has been registered. - -Whatever the encoding in the original document, the string is returned to -the handler in UTF-8. - -=head2 Unparsed (Expat, Entity, Base, Sysid, Pubid, Notation) - -This is called for a declaration of an unparsed entity. Entity is the name -of the entity. Base is the base to be used for resolving a relative URI. -Sysid is the system id. Pubid is the public id. Notation is the notation -name. Base and Pubid may be undefined. - -=head2 Notation (Expat, Notation, Base, Sysid, Pubid) - -This is called for a declaration of notation. Notation is the notation name. -Base is the base to be used for resolving a relative URI. Sysid is the system -id. Pubid is the public id. Base, Sysid, and Pubid may all be undefined. - -=head2 ExternEnt (Expat, Base, Sysid, Pubid) - -This is called when an external entity is referenced. Base is the base to be -used for resolving a relative URI. Sysid is the system id. Pubid is the public -id. Base, and Pubid may be undefined. - -This handler should either return a string, which represents the contents of -the external entity, or return an open filehandle that can be read to obtain -the contents of the external entity, or return undef, which indicates the -external entity couldn't be found and will generate a parse error. - -If an open filehandle is returned, it must be returned as either a glob -(*FOO) or as a reference to a glob (e.g. an instance of IO::Handle). - -A default handler is installed for this event. The default handler is -XML::Parser::lwp_ext_ent_handler unless the NoLWP option was provided with -a true value, otherwise XML::Parser::file_ext_ent_handler is the default -handler for external entities. Even without the NoLWP option, if the -URI or LWP modules are missing, the file based handler ends up being used -after giving a warning on the first external entity reference. - -The LWP external entity handler will use proxies defined in the environment -(http_proxy, ftp_proxy, etc.). - -Please note that the LWP external entity handler reads the entire -entity into a string and returns it, where as the file handler opens a -filehandle. - -Also note that the file external entity handler will likely choke on -absolute URIs or file names that don't fit the conventions of the local -operating system. - -The expat base method can be used to set a basename for -relative pathnames. If no basename is given, or if the basename is itself -a relative name, then it is relative to the current working directory. - -=head2 ExternEntFin (Expat) - -This is called after parsing an external entity. It's not called unless -an ExternEnt handler is also set. There is a default handler installed -that pairs with the default ExternEnt handler. - -If you're going to install your own ExternEnt handler, then you should -set (or unset) this handler too. - -=head2 Entity (Expat, Name, Val, Sysid, Pubid, Ndata, IsParam) - -This is called when an entity is declared. For internal entities, the Val -parameter will contain the value and the remaining three parameters will be -undefined. For external entities, the Val parameter will be undefined, the -Sysid parameter will have the system id, the Pubid parameter will have the -public id if it was provided (it will be undefined otherwise), the Ndata -parameter will contain the notation for unparsed entities. If this is a -parameter entity declaration, then the IsParam parameter is true. - -Note that this handler and the Unparsed handler above overlap. If both are -set, then this handler will not be called for unparsed entities. - -=head2 Element (Expat, Name, Model) - -The element handler is called when an element declaration is found. Name -is the element name, and Model is the content model as an XML::Parser::Content -object. See L<XML::Parser::Expat/"XML::Parser::ContentModel Methods"> -for methods available for this class. - -=head2 Attlist (Expat, Elname, Attname, Type, Default, Fixed) - -This handler is called for each attribute in an ATTLIST declaration. -So an ATTLIST declaration that has multiple attributes will generate multiple -calls to this handler. The Elname parameter is the name of the element with -which the attribute is being associated. The Attname parameter is the name -of the attribute. Type is the attribute type, given as a string. Default is -the default value, which will either be "#REQUIRED", "#IMPLIED" or a quoted -string (i.e. the returned string will begin and end with a quote character). -If Fixed is true, then this is a fixed attribute. - -=head2 Doctype (Expat, Name, Sysid, Pubid, Internal) - -This handler is called for DOCTYPE declarations. Name is the document type -name. Sysid is the system id of the document type, if it was provided, -otherwise it's undefined. Pubid is the public id of the document type, -which will be undefined if no public id was given. Internal is the internal -subset, given as a string. If there was no internal subset, it will be -undefined. Internal will contain all whitespace, comments, processing -instructions, and declarations seen in the internal subset. The declarations -will be there whether or not they have been processed by another handler -(except for unparsed entities processed by the Unparsed handler). However, -comments and processing instructions will not appear if they've been processed -by their respective handlers. - -=head2 * DoctypeFin (Parser) - -This handler is called after parsing of the DOCTYPE declaration has finished, -including any internal or external DTD declarations. - -=head2 XMLDecl (Expat, Version, Encoding, Standalone) - -This handler is called for xml declarations. Version is a string containg -the version. Encoding is either undefined or contains an encoding string. -Standalone will be either true, false, or undefined if the standalone attribute -is yes, no, or not made respectively. - -=head1 STYLES - -=head2 Debug - -This just prints out the document in outline form. Nothing special is -returned by parse. - -=head2 Subs - -Each time an element starts, a sub by that name in the package specified -by the Pkg option is called with the same parameters that the Start -handler gets called with. - -Each time an element ends, a sub with that name appended with an underscore -("_"), is called with the same parameters that the End handler gets called -with. - -Nothing special is returned by parse. - -=head2 Tree - -Parse will return a parse tree for the document. Each node in the tree -takes the form of a tag, content pair. Text nodes are represented with -a pseudo-tag of "0" and the string that is their content. For elements, -the content is an array reference. The first item in the array is a -(possibly empty) hash reference containing attributes. The remainder of -the array is a sequence of tag-content pairs representing the content -of the element. - -So for example the result of parsing: - - <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> - -would be: - - Tag Content - ================================================================== - [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], - bar, [ {}, 0, "Howdy", ref, [{}]], - 0, "do" - ] - ] - -The root document "foo", has 3 children: a "head" element, a "bar" -element and the text "do". After the empty attribute hash, these are -represented in it's contents by 3 tag-content pairs. - -=head2 Objects - -This is similar to the Tree style, except that a hash object is created for -each element. The corresponding object will be in the class whose name -is created by appending "::" and the element name to the package set with -the Pkg option. Non-markup text will be in the ::Characters class. The -contents of the corresponding object will be in an anonymous array that -is the value of the Kids property for that object. - -=head2 Stream - -This style also uses the Pkg package. If none of the subs that this -style looks for is there, then the effect of parsing with this style is -to print a canonical copy of the document without comments or declarations. -All the subs receive as their 1st parameter the Expat instance for the -document they're parsing. - -It looks for the following routines: - -=over 4 - -=item * StartDocument - -Called at the start of the parse . - -=item * StartTag - -Called for every start tag with a second parameter of the element type. The $_ -variable will contain a copy of the tag and the %_ variable will contain -attribute values supplied for that element. - -=item * EndTag - -Called for every end tag with a second parameter of the element type. The $_ -variable will contain a copy of the end tag. - -=item * Text - -Called just before start or end tags with accumulated non-markup text in -the $_ variable. - -=item * PI - -Called for processing instructions. The $_ variable will contain a copy of -the PI and the target and data are sent as 2nd and 3rd parameters -respectively. - -=item * EndDocument - -Called at conclusion of the parse. - -=back - -=head1 ENCODINGS - -XML documents may be encoded in character sets other than Unicode as -long as they may be mapped into the Unicode character set. Expat has -further restrictions on encodings. Read the xmlparse.h header file in -the expat distribution to see details on these restrictions. - -Expat has built-in encodings for: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and -C<US-ASCII>. Encodings are set either through the XML declaration -encoding attribute or through the ProtocolEncoding option to XML::Parser -or XML::Parser::Expat. - -For encodings other than the built-ins, expat calls the function -load_encoding in the Expat package with the encoding name. This function -looks for a file in the path list @XML::Parser::Expat::Encoding_Path, that -matches the lower-cased name with a '.enc' extension. The first one it -finds, it loads. - -If you wish to build your own encoding maps, check out the XML::Encoding -module from CPAN. - -=head1 AUTHORS - -Larry Wall <F<larry@wall.org>> wrote version 1.0. - -Clark Cooper <F<coopercc@netheaven.com>> picked up support, changed the API -for this version (2.x), provided documentation, -and added some standard package features. - -Matt Sergeant <F<matt@sergeant.org>> is now maintaining XML::Parser - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg deleted file mode 100644 index 6912e702264..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg +++ /dev/null @@ -1,117 +0,0 @@ -Mapping files for Japanese encodings - -1998 12/25 - -Fuji Xerox Information Systems -MURATA Makoto - -1. Overview - -This version of XML::Parser and XML::Encoding does not come with map files for -the charset "Shift_JIS" and the charset "euc-jp". Unfortunately, each of these -charsets has more than one mapping. None of these mappings are -considered as authoritative. - -Therefore, we have come to believe that it is dangerous to provide map files -for these charsets. Rather, we introduce several private charsets and map -files for these private charsets. If IANA, Unicode Consoritum, and JIS -eventually reach a consensus, we will be able to provide map files for -"Shift_JIS" and "euc-jp". - -2. Different mappings from existing charsets to Unicode - -1) Different mappings in JIS X0221 and Unicode - -The mapping between JIS X0208:1990 and Unicode 1.1 and the mapping -between JIS X0212:1990 and Unicode 1.1 are published from Unicode -consortium. They are available at -ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/JIS0208.TXT and -ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/JIS0212.TXT, -respectively.) These mapping files have a note as below: - -# The kanji mappings are a normative part of ISO/IEC 10646. The -# non-kanji mappings are provisional, pending definition of -# official mappings by Japanese standards bodies. - -Unfortunately, the non-kanji mappings in the Japanese standard for ISO 10646/1, -namely JIS X 0221:1995, is different from the Unicode Consortium mapping since -0x213D of JIS X 0208 is mapped to U+2014 (em dash) rather than U+2015 -(horizontal bar). Furthermore, JIS X 0221 clearly says that the mapping is -informational and non-normative. As a result, some companies (e.g., Microsoft and -Apple) have introduced slightly different mappings. Therefore, neither the -Unicode consortium mapping nor the JIS X 0221 mapping are considered as -authoritative. - -2) Shift-JIS - -This charset is especially problematic, since its definition has been unclear -since its inception. - -The current registration of the charset "Shift_JIS" is as below: - ->Name: Shift_JIS (preferred MIME name) ->MIBenum: 17 ->Source: A Microsoft code that extends csHalfWidthKatakana to include -> kanji by adding a second byte when the value of the first -> byte is in the ranges 81-9F or E0-EF. ->Alias: MS_Kanji ->Alias: csShiftJIS - -First, this does not reference to the mapping "Shift-JIS to Unicode" -published by the Unicode consortium (available at -ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/SHIFTJIS.TXT). - -Second, "kanji" in this registration can be interepreted in different ways. -Does this "kanji" reference to JIS X0208:1978, JIS X0208:1983, or JIS -X0208:1990(== JIS X0208:1997)? These three standards are *incompatible* with -each other. Moreover, we can even argue that "kanji" refers to JIS X0212 or -ideographic characters in other countries. - -Third, each company has extended Shift JIS. For example, Microsoft introduced -OEM extensions (NEC extensionsand IBM extensions). - -Forth, Shift JIS uses JIS X0201, which is almost upper-compatible with US-ASCII -but is not quite. 5C and 7E of JIS X 0201 are different from backslash and -tilde, respectively. However, many programming languages (e.g., Java) -ignore this difference and assumes that 5C and 7E of Shift JIS are backslash -and tilde. - - -3. Proposed charsets and mappings - -As a tentative solution, we introduce two private charsets for EUC-JP and four -priviate charsets for Shift JIS. - -1) EUC-JP - -We have two charsets, namely "x-eucjp-unicode" and "x-eucjp-jisx0221". Their -difference is only one code point. The mapping for the former is based -on the Unicode Consortium mapping, while the latter is based on the JIS X0221 -mapping. - -2) Shift JIS - -We have four charsets, namely x-sjis-unicode, x-sjis-jisx0221, -x-sjis-jdk117, and x-sjis-cp932. - -The mapping for the charset x-sjis-unicode is the one published by the Unicode -consortium. The mapping for x-sjis-jisx0221 is almost equivalent to -x-sjis-unicode, but 0x213D of JIS X 0208 is mapped to U+2014 (em dash) rather -than U+2015. The charset x-sjis-jdk117 is again almost equivalent to -x-sjis-unicode, but 0x5C and 0x7E of JIS X0201 are mapped to backslash and -tilde. - -The charset x-sjis-cp932 is used by Microsoft Windows, and its mapping is -published from the Unicode Consortium (available at: -ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.txt). The -coded character set for this charset includes NEC-extensions and -IBM-extensions. 0x5C and 0x7E of JIS X0201 are mapped to backslash and tilde; -0x213D is mapped to U+2015; and 0x2140, 0x2141, 0x2142, and 0x215E of JIS X -0208 are mapped to compatibility characters. - -Makoto - -Fuji Xerox Information Systems - -Tel: +81-44-812-7230 Fax: +81-44-812-7231 -E-mail: murata@apsdc.ksp.fujixerox.co.jp diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README deleted file mode 100644 index 576323c8225..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README +++ /dev/null @@ -1,51 +0,0 @@ -This directory contains binary encoding maps for some selected encodings. -If they are placed in a directoy listed in @XML::Parser::Expat::Encoding_Path, -then they are automaticly loaded by the XML::Parser::Expat::load_encoding -function as needed. Otherwise you may load what you need directly by -explicity calling this function. - -These maps were generated by a perl script that comes with the module -XML::Encoding, compile_encoding, from XML formatted encoding maps that -are distributed with that module. These XML encoding maps were generated -in turn with a different script, domap, from mapping information contained -on the Unicode version 2.0 CD-ROM. This CD-ROM comes with the Unicode -Standard reference manual and can be ordered from the Unicode Consortium -at http://www.unicode.org. The identical information is available on the -internet at ftp://ftp.unicode.org/Public/MAPPINGS. - -See the encoding.h header in the Expat sub-directory for a description of -the structure of these files. - -Clark Cooper -December 12, 1998 - -================================================================ - -Contributed maps - -This distribution contains four contributed encodings from MURATA Makoto -<murata@apsdc.ksp.fujixerox.co.jp> that are variations on the encoding -commonly called Shift_JIS: - -x-sjis-cp932.enc -x-sjis-jdk117.enc -x-sjis-jisx0221.enc -x-sjis-unicode.enc (This is the same encoding as the shift_jis.enc that - was distributed with this module in version 2.17) - -Please read his message (Japanese_Encodings.msg) about why these are here -and why I've removed the shift_jis.enc encoding. - -We also have two contributed encodings that are variations of the EUC-JP -encoding from Yoshida Masato <yoshidam@inse.co.jp>: - -x-euc-jp-jisx0221.enc -x-euc-jp-unicode.enc - -The comments that MURATA Makoto made in his message apply to these -encodings too. - -KangChan Lee <dolphin@comeng.chungnam.ac.kr> supplied the euc-kr encoding. - -Clark Cooper -December 26, 1998 diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc Binary files differdeleted file mode 100644 index 94b2bd4bf40..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc Binary files differdeleted file mode 100644 index 3da8a13f3c3..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc Binary files differdeleted file mode 100644 index d320d7f8bc9..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc Binary files differdeleted file mode 100644 index ba4837852e9..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc Binary files differdeleted file mode 100644 index 0294a24089c..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc Binary files differdeleted file mode 100644 index 6dbd1692c4b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc Binary files differdeleted file mode 100644 index 02a4aee1c7b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc Binary files differdeleted file mode 100644 index f211bd52342..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc Binary files differdeleted file mode 100644 index fdc574b1b98..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc Binary files differdeleted file mode 100644 index d4a64b55f10..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc Binary files differdeleted file mode 100644 index ab2d57c6778..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc Binary files differdeleted file mode 100644 index ca79c07a2bb..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc Binary files differdeleted file mode 100644 index 34d4d0d31e7..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc Binary files differdeleted file mode 100644 index c2a6bc40de5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc Binary files differdeleted file mode 100644 index b6c2c07c042..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc Binary files differdeleted file mode 100644 index cbb2db5fbad..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc Binary files differdeleted file mode 100644 index 6f88a06fd96..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc +++ /dev/null diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm deleted file mode 100644 index 9413d80a843..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm +++ /dev/null @@ -1,1230 +0,0 @@ -package XML::Parser::Expat; - -require 5.004; - -use strict; -use vars qw($VERSION @ISA %Handler_Setters %Encoding_Table @Encoding_Path - $have_File_Spec); -use Carp; - -require DynaLoader; - -@ISA = qw(DynaLoader); -$VERSION = "2.36" ; - -$have_File_Spec = $INC{'File/Spec.pm'} || do 'File/Spec.pm'; - -%Encoding_Table = (); -if ($have_File_Spec) { - @Encoding_Path = (grep(-d $_, - map(File::Spec->catdir($_, qw(XML Parser Encodings)), - @INC)), - File::Spec->curdir); -} -else { - @Encoding_Path = (grep(-d $_, map($_ . '/XML/Parser/Encodings', @INC)), '.'); -} - - -bootstrap XML::Parser::Expat $VERSION; - -%Handler_Setters = ( - Start => \&SetStartElementHandler, - End => \&SetEndElementHandler, - Char => \&SetCharacterDataHandler, - Proc => \&SetProcessingInstructionHandler, - Comment => \&SetCommentHandler, - CdataStart => \&SetStartCdataHandler, - CdataEnd => \&SetEndCdataHandler, - Default => \&SetDefaultHandler, - Unparsed => \&SetUnparsedEntityDeclHandler, - Notation => \&SetNotationDeclHandler, - ExternEnt => \&SetExternalEntityRefHandler, - ExternEntFin => \&SetExtEntFinishHandler, - Entity => \&SetEntityDeclHandler, - Element => \&SetElementDeclHandler, - Attlist => \&SetAttListDeclHandler, - Doctype => \&SetDoctypeHandler, - DoctypeFin => \&SetEndDoctypeHandler, - XMLDecl => \&SetXMLDeclHandler - ); - -sub new { - my ($class, %args) = @_; - my $self = bless \%args, $_[0]; - $args{_State_} = 0; - $args{Context} = []; - $args{Namespaces} ||= 0; - $args{ErrorMessage} ||= ''; - if ($args{Namespaces}) { - $args{Namespace_Table} = {}; - $args{Namespace_List} = [undef]; - $args{Prefix_Table} = {}; - $args{New_Prefixes} = []; - } - $args{_Setters} = \%Handler_Setters; - $args{Parser} = ParserCreate($self, $args{ProtocolEncoding}, - $args{Namespaces}); - $self; -} - -sub load_encoding { - my ($file) = @_; - - $file =~ s!([^/]+)$!\L$1\E!; - $file .= '.enc' unless $file =~ /\.enc$/; - unless ($file =~ m!^/!) { - foreach (@Encoding_Path) { - my $tmp = ($have_File_Spec - ? File::Spec->catfile($_, $file) - : "$_/$file"); - if (-e $tmp) { - $file = $tmp; - last; - } - } - } - - local(*ENC); - open(ENC, $file) or croak("Couldn't open encmap $file:\n$!\n"); - binmode(ENC); - my $data; - my $br = sysread(ENC, $data, -s $file); - croak("Trouble reading $file:\n$!\n") - unless defined($br); - close(ENC); - - my $name = LoadEncoding($data, $br); - croak("$file isn't an encmap file") - unless defined($name); - - $name; -} # End load_encoding - -sub setHandlers { - my ($self, @handler_pairs) = @_; - - croak("Uneven number of arguments to setHandlers method") - if (int(@handler_pairs) & 1); - - my @ret; - - while (@handler_pairs) { - my $type = shift @handler_pairs; - my $handler = shift @handler_pairs; - croak "Handler for $type not a Code ref" - unless (! defined($handler) or ! $handler or ref($handler) eq 'CODE'); - - my $hndl = $self->{_Setters}->{$type}; - - unless (defined($hndl)) { - my @types = sort keys %{$self->{_Setters}}; - croak("Unknown Expat handler type: $type\n Valid types: @types"); - } - - my $old = &$hndl($self->{Parser}, $handler); - push (@ret, $type, $old); - } - - return @ret; -} - -sub xpcroak - { - my ($self, $message) = @_; - - my $eclines = $self->{ErrorContext}; - my $line = GetCurrentLineNumber($_[0]->{Parser}); - $message .= " at line $line"; - $message .= ":\n" . $self->position_in_context($eclines) - if defined($eclines); - croak $message; -} - -sub xpcarp { - my ($self, $message) = @_; - - my $eclines = $self->{ErrorContext}; - my $line = GetCurrentLineNumber($_[0]->{Parser}); - $message .= " at line $line"; - $message .= ":\n" . $self->position_in_context($eclines) - if defined($eclines); - carp $message; -} - -sub default_current { - my $self = shift; - if ($self->{_State_} == 1) { - return DefaultCurrent($self->{Parser}); - } -} - -sub recognized_string { - my $self = shift; - if ($self->{_State_} == 1) { - return RecognizedString($self->{Parser}); - } -} - -sub original_string { - my $self = shift; - if ($self->{_State_} == 1) { - return OriginalString($self->{Parser}); - } -} - -sub current_line { - my $self = shift; - if ($self->{_State_} == 1) { - return GetCurrentLineNumber($self->{Parser}); - } -} - -sub current_column { - my $self = shift; - if ($self->{_State_} == 1) { - return GetCurrentColumnNumber($self->{Parser}); - } -} - -sub current_byte { - my $self = shift; - if ($self->{_State_} == 1) { - return GetCurrentByteIndex($self->{Parser}); - } -} - -sub base { - my ($self, $newbase) = @_; - my $p = $self->{Parser}; - my $oldbase = GetBase($p); - SetBase($p, $newbase) if @_ > 1; - return $oldbase; -} - -sub context { - my $ctx = $_[0]->{Context}; - @$ctx; -} - -sub current_element { - my ($self) = @_; - @{$self->{Context}} ? $self->{Context}->[-1] : undef; -} - -sub in_element { - my ($self, $element) = @_; - @{$self->{Context}} ? $self->eq_name($self->{Context}->[-1], $element) - : undef; -} - -sub within_element { - my ($self, $element) = @_; - my $cnt = 0; - foreach (@{$self->{Context}}) { - $cnt++ if $self->eq_name($_, $element); - } - return $cnt; -} - -sub depth { - my ($self) = @_; - int(@{$self->{Context}}); -} - -sub element_index { - my ($self) = @_; - - if ($self->{_State_} == 1) { - return ElementIndex($self->{Parser}); - } -} - -################ -# Namespace methods - -sub namespace { - my ($self, $name) = @_; - local($^W) = 0; - $self->{Namespace_List}->[int($name)]; -} - -sub eq_name { - my ($self, $nm1, $nm2) = @_; - local($^W) = 0; - - int($nm1) == int($nm2) and $nm1 eq $nm2; -} - -sub generate_ns_name { - my ($self, $name, $namespace) = @_; - - $namespace ? - GenerateNSName($name, $namespace, $self->{Namespace_Table}, - $self->{Namespace_List}) - : $name; -} - -sub new_ns_prefixes { - my ($self) = @_; - if ($self->{Namespaces}) { - return @{$self->{New_Prefixes}}; - } - return (); -} - -sub expand_ns_prefix { - my ($self, $prefix) = @_; - - if ($self->{Namespaces}) { - my $stack = $self->{Prefix_Table}->{$prefix}; - return (defined($stack) and @$stack) ? $stack->[-1] : undef; - } - - return undef; -} - -sub current_ns_prefixes { - my ($self) = @_; - - if ($self->{Namespaces}) { - my %set = %{$self->{Prefix_Table}}; - - if (exists $set{'#default'} and not defined($set{'#default'}->[-1])) { - delete $set{'#default'}; - } - - return keys %set; - } - - return (); -} - - -################################################################ -# Namespace declaration handlers -# - -sub NamespaceStart { - my ($self, $prefix, $uri) = @_; - - $prefix = '#default' unless defined $prefix; - my $stack = $self->{Prefix_Table}->{$prefix}; - - if (defined $stack) { - push(@$stack, $uri); - } - else { - $self->{Prefix_Table}->{$prefix} = [$uri]; - } - - # The New_Prefixes list gets emptied at end of startElement function - # in Expat.xs - - push(@{$self->{New_Prefixes}}, $prefix); -} - -sub NamespaceEnd { - my ($self, $prefix) = @_; - - $prefix = '#default' unless defined $prefix; - - my $stack = $self->{Prefix_Table}->{$prefix}; - if (@$stack > 1) { - pop(@$stack); - } - else { - delete $self->{Prefix_Table}->{$prefix}; - } -} - -################ - -sub specified_attr { - my $self = shift; - - if ($self->{_State_} == 1) { - return GetSpecifiedAttributeCount($self->{Parser}); - } -} - -sub finish { - my ($self) = @_; - if ($self->{_State_} == 1) { - my $parser = $self->{Parser}; - UnsetAllHandlers($parser); - } -} - -sub position_in_context { - my ($self, $lines) = @_; - if ($self->{_State_} == 1) { - my $parser = $self->{Parser}; - my ($string, $linepos) = PositionContext($parser, $lines); - - return '' unless defined($string); - - my $col = GetCurrentColumnNumber($parser); - my $ptr = ('=' x ($col - 1)) . '^' . "\n"; - my $ret; - my $dosplit = $linepos < length($string); - - $string .= "\n" unless $string =~ /\n$/; - - if ($dosplit) { - $ret = substr($string, 0, $linepos) . $ptr - . substr($string, $linepos); - } else { - $ret = $string . $ptr; - } - - return $ret; - } -} - -sub xml_escape { - my $self = shift; - my $text = shift; - - study $text; - $text =~ s/\&/\&/g; - $text =~ s/</\</g; - foreach (@_) { - croak "xml_escape: '$_' isn't a single character" if length($_) > 1; - - if ($_ eq '>') { - $text =~ s/>/\>/g; - } - elsif ($_ eq '"') { - $text =~ s/\"/\"/; - } - elsif ($_ eq "'") { - $text =~ s/\'/\'/; - } - else { - my $rep = '&#' . sprintf('x%X', ord($_)) . ';'; - if (/\W/) { - my $ptrn = "\\$_"; - $text =~ s/$ptrn/$rep/g; - } - else { - $text =~ s/$_/$rep/g; - } - } - } - $text; -} - -sub skip_until { - my $self = shift; - if ($self->{_State_} <= 1) { - SkipUntil($self->{Parser}, $_[0]); - } -} - -sub release { - my $self = shift; - ParserRelease($self->{Parser}); -} - -sub DESTROY { - my $self = shift; - ParserFree($self->{Parser}); -} - -sub parse { - my $self = shift; - my $arg = shift; - croak "Parse already in progress (Expat)" if $self->{_State_}; - $self->{_State_} = 1; - my $parser = $self->{Parser}; - my $ioref; - my $result = 0; - - if (defined $arg) { - if (ref($arg) and UNIVERSAL::isa($arg, 'IO::Handle')) { - $ioref = $arg; - } elsif (tied($arg)) { - my $class = ref($arg); - no strict 'refs'; - $ioref = $arg if defined &{"${class}::TIEHANDLE"}; - } - else { - require IO::Handle; - eval { - no strict 'refs'; - $ioref = *{$arg}{IO} if defined *{$arg}; - }; - undef $@; - } - } - - if (defined($ioref)) { - my $delim = $self->{Stream_Delimiter}; - my $prev_rs; - - $prev_rs = ref($ioref)->input_record_separator("\n$delim\n") - if defined($delim); - - $result = ParseStream($parser, $ioref, $delim); - - ref($ioref)->input_record_separator($prev_rs) - if defined($delim); - } else { - $result = ParseString($parser, $arg); - } - - $self->{_State_} = 2; - $result or croak $self->{ErrorMessage}; -} - -sub parsestring { - my $self = shift; - $self->parse(@_); -} - -sub parsefile { - my $self = shift; - croak "Parser has already been used" if $self->{_State_}; - local(*FILE); - open(FILE, $_[0]) or croak "Couldn't open $_[0]:\n$!"; - binmode(FILE); - my $ret = $self->parse(*FILE); - close(FILE); - $ret; -} - -################################################################ -package XML::Parser::ContentModel; -use overload '""' => \&asString, 'eq' => \&thiseq; - -sub EMPTY () {1} -sub ANY () {2} -sub MIXED () {3} -sub NAME () {4} -sub CHOICE () {5} -sub SEQ () {6} - - -sub isempty { - return $_[0]->{Type} == EMPTY; -} - -sub isany { - return $_[0]->{Type} == ANY; -} - -sub ismixed { - return $_[0]->{Type} == MIXED; -} - -sub isname { - return $_[0]->{Type} == NAME; -} - -sub name { - return $_[0]->{Tag}; -} - -sub ischoice { - return $_[0]->{Type} == CHOICE; -} - -sub isseq { - return $_[0]->{Type} == SEQ; -} - -sub quant { - return $_[0]->{Quant}; -} - -sub children { - my $children = $_[0]->{Children}; - if (defined $children) { - return @$children; - } - return undef; -} - -sub asString { - my ($self) = @_; - my $ret; - - if ($self->{Type} == NAME) { - $ret = $self->{Tag}; - } - elsif ($self->{Type} == EMPTY) { - return "EMPTY"; - } - elsif ($self->{Type} == ANY) { - return "ANY"; - } - elsif ($self->{Type} == MIXED) { - $ret = '(#PCDATA'; - foreach (@{$self->{Children}}) { - $ret .= '|' . $_; - } - $ret .= ')'; - } - else { - my $sep = $self->{Type} == CHOICE ? '|' : ','; - $ret = '(' . join($sep, map { $_->asString } @{$self->{Children}}) . ')'; - } - - $ret .= $self->{Quant} if $self->{Quant}; - return $ret; -} - -sub thiseq { - my $self = shift; - - return $self->asString eq $_[0]; -} - -################################################################ -package XML::Parser::ExpatNB; - -use vars qw(@ISA); -use Carp; - -@ISA = qw(XML::Parser::Expat); - -sub parse { - my $self = shift; - my $class = ref($self); - croak "parse method not supported in $class"; -} - -sub parsestring { - my $self = shift; - my $class = ref($self); - croak "parsestring method not supported in $class"; -} - -sub parsefile { - my $self = shift; - my $class = ref($self); - croak "parsefile method not supported in $class"; -} - -sub parse_more { - my ($self, $data) = @_; - - $self->{_State_} = 1; - my $ret = XML::Parser::Expat::ParsePartial($self->{Parser}, $data); - - croak $self->{ErrorMessage} unless $ret; -} - -sub parse_done { - my $self = shift; - - my $ret = XML::Parser::Expat::ParseDone($self->{Parser}); - unless ($ret) { - my $msg = $self->{ErrorMessage}; - $self->release; - croak $msg; - } - - $self->{_State_} = 2; - - my $result = $ret; - my @result = (); - my $final = $self->{FinalHandler}; - if (defined $final) { - if (wantarray) { - @result = &$final($self); - } - else { - $result = &$final($self); - } - } - - $self->release; - - return unless defined wantarray; - return wantarray ? @result : $result; -} - -################################################################ - -package XML::Parser::Encinfo; - -sub DESTROY { - my $self = shift; - XML::Parser::Expat::FreeEncoding($self); -} - -1; - -__END__ - -=head1 NAME - -XML::Parser::Expat - Lowlevel access to James Clark's expat XML parser - -=head1 SYNOPSIS - - use XML::Parser::Expat; - - $parser = new XML::Parser::Expat; - $parser->setHandlers('Start' => \&sh, - 'End' => \&eh, - 'Char' => \&ch); - open(FOO, 'info.xml') or die "Couldn't open"; - $parser->parse(*FOO); - close(FOO); - # $parser->parse('<foo id="me"> here <em>we</em> go </foo>'); - - sub sh - { - my ($p, $el, %atts) = @_; - $p->setHandlers('Char' => \&spec) - if ($el eq 'special'); - ... - } - - sub eh - { - my ($p, $el) = @_; - $p->setHandlers('Char' => \&ch) # Special elements won't contain - if ($el eq 'special'); # other special elements - ... - } - -=head1 DESCRIPTION - -This module provides an interface to James Clark's XML parser, expat. As in -expat, a single instance of the parser can only parse one document. Calls -to parsestring after the first for a given instance will die. - -Expat (and XML::Parser::Expat) are event based. As the parser recognizes -parts of the document (say the start or end of an XML element), then any -handlers registered for that type of an event are called with suitable -parameters. - -=head1 METHODS - -=over 4 - -=item new - -This is a class method, the constructor for XML::Parser::Expat. Options are -passed as keyword value pairs. The recognized options are: - -=over 4 - -=item * ProtocolEncoding - -The protocol encoding name. The default is none. The expat built-in -encodings are: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and C<US-ASCII>. -Other encodings may be used if they have encoding maps in one of the -directories in the @Encoding_Path list. Setting the protocol encoding -overrides any encoding in the XML declaration. - -=item * Namespaces - -When this option is given with a true value, then the parser does namespace -processing. By default, namespace processing is turned off. When it is -turned on, the parser consumes I<xmlns> attributes and strips off prefixes -from element and attributes names where those prefixes have a defined -namespace. A name's namespace can be found using the L<"namespace"> method -and two names can be checked for absolute equality with the L<"eq_name"> -method. - -=item * NoExpand - -Normally, the parser will try to expand references to entities defined in -the internal subset. If this option is set to a true value, and a default -handler is also set, then the default handler will be called when an -entity reference is seen in text. This has no effect if a default handler -has not been registered, and it has no effect on the expansion of entity -references inside attribute values. - -=item * Stream_Delimiter - -This option takes a string value. When this string is found alone on a line -while parsing from a stream, then the parse is ended as if it saw an end of -file. The intended use is with a stream of xml documents in a MIME multipart -format. The string should not contain a trailing newline. - -=item * ErrorContext - -When this option is defined, errors are reported in context. The value -of ErrorContext should be the number of lines to show on either side of -the line in which the error occurred. - -=item * ParseParamEnt - -Unless standalone is set to "yes" in the XML declaration, setting this to -a true value allows the external DTD to be read, and parameter entities -to be parsed and expanded. - -=item * Base - -The base to use for relative pathnames or URLs. This can also be done by -using the base method. - -=back - -=item setHandlers(TYPE, HANDLER [, TYPE, HANDLER [...]]) - -This method registers handlers for the various events. If no handlers are -registered, then a call to parsestring or parsefile will only determine if -the corresponding XML document is well formed (by returning without error.) -This may be called from within a handler, after the parse has started. - -Setting a handler to something that evaluates to false unsets that -handler. - -This method returns a list of type, handler pairs corresponding to the -input. The handlers returned are the ones that were in effect before the -call to setHandlers. - -The recognized events and the parameters passed to the corresponding -handlers are: - -=over 4 - -=item * Start (Parser, Element [, Attr, Val [,...]]) - -This event is generated when an XML start tag is recognized. Parser is -an XML::Parser::Expat instance. Element is the name of the XML element that -is opened with the start tag. The Attr & Val pairs are generated for each -attribute in the start tag. - -=item * End (Parser, Element) - -This event is generated when an XML end tag is recognized. Note that -an XML empty tag (<foo/>) generates both a start and an end event. - -There is always a lower level start and end handler installed that wrap -the corresponding callbacks. This is to handle the context mechanism. -A consequence of this is that the default handler (see below) will not -see a start tag or end tag unless the default_current method is called. - -=item * Char (Parser, String) - -This event is generated when non-markup is recognized. The non-markup -sequence of characters is in String. A single non-markup sequence of -characters may generate multiple calls to this handler. Whatever the -encoding of the string in the original document, this is given to the -handler in UTF-8. - -=item * Proc (Parser, Target, Data) - -This event is generated when a processing instruction is recognized. - -=item * Comment (Parser, String) - -This event is generated when a comment is recognized. - -=item * CdataStart (Parser) - -This is called at the start of a CDATA section. - -=item * CdataEnd (Parser) - -This is called at the end of a CDATA section. - -=item * Default (Parser, String) - -This is called for any characters that don't have a registered handler. -This includes both characters that are part of markup for which no -events are generated (markup declarations) and characters that -could generate events, but for which no handler has been registered. - -Whatever the encoding in the original document, the string is returned to -the handler in UTF-8. - -=item * Unparsed (Parser, Entity, Base, Sysid, Pubid, Notation) - -This is called for a declaration of an unparsed entity. Entity is the name -of the entity. Base is the base to be used for resolving a relative URI. -Sysid is the system id. Pubid is the public id. Notation is the notation -name. Base and Pubid may be undefined. - -=item * Notation (Parser, Notation, Base, Sysid, Pubid) - -This is called for a declaration of notation. Notation is the notation name. -Base is the base to be used for resolving a relative URI. Sysid is the system -id. Pubid is the public id. Base, Sysid, and Pubid may all be undefined. - -=item * ExternEnt (Parser, Base, Sysid, Pubid) - -This is called when an external entity is referenced. Base is the base to be -used for resolving a relative URI. Sysid is the system id. Pubid is the public -id. Base, and Pubid may be undefined. - -This handler should either return a string, which represents the contents of -the external entity, or return an open filehandle that can be read to obtain -the contents of the external entity, or return undef, which indicates the -external entity couldn't be found and will generate a parse error. - -If an open filehandle is returned, it must be returned as either a glob -(*FOO) or as a reference to a glob (e.g. an instance of IO::Handle). - -=item * ExternEntFin (Parser) - -This is called after an external entity has been parsed. It allows -applications to perform cleanup on actions performed in the above -ExternEnt handler. - -=item * Entity (Parser, Name, Val, Sysid, Pubid, Ndata, IsParam) - -This is called when an entity is declared. For internal entities, the Val -parameter will contain the value and the remaining three parameters will -be undefined. For external entities, the Val parameter -will be undefined, the Sysid parameter will have the system id, the Pubid -parameter will have the public id if it was provided (it will be undefined -otherwise), the Ndata parameter will contain the notation for unparsed -entities. If this is a parameter entity declaration, then the IsParam -parameter is true. - -Note that this handler and the Unparsed handler above overlap. If both are -set, then this handler will not be called for unparsed entities. - -=item * Element (Parser, Name, Model) - -The element handler is called when an element declaration is found. Name is -the element name, and Model is the content model as an -XML::Parser::ContentModel object. See L<"XML::Parser::ContentModel Methods"> -for methods available for this class. - -=item * Attlist (Parser, Elname, Attname, Type, Default, Fixed) - -This handler is called for each attribute in an ATTLIST declaration. -So an ATTLIST declaration that has multiple attributes -will generate multiple calls to this handler. The Elname parameter is the -name of the element with which the attribute is being associated. The Attname -parameter is the name of the attribute. Type is the attribute type, given as -a string. Default is the default value, which will either be "#REQUIRED", -"#IMPLIED" or a quoted string (i.e. the returned string will begin and end -with a quote character). If Fixed is true, then this is a fixed attribute. - -=item * Doctype (Parser, Name, Sysid, Pubid, Internal) - -This handler is called for DOCTYPE declarations. Name is the document type -name. Sysid is the system id of the document type, if it was provided, -otherwise it's undefined. Pubid is the public id of the document type, -which will be undefined if no public id was given. Internal will be -true or false, indicating whether or not the doctype declaration contains -an internal subset. - -=item * DoctypeFin (Parser) - -This handler is called after parsing of the DOCTYPE declaration has finished, -including any internal or external DTD declarations. - -=item * XMLDecl (Parser, Version, Encoding, Standalone) - -This handler is called for XML declarations. Version is a string containg -the version. Encoding is either undefined or contains an encoding string. -Standalone is either undefined, or true or false. Undefined indicates -that no standalone parameter was given in the XML declaration. True or -false indicates "yes" or "no" respectively. - -=back - -=item namespace(name) - -Return the URI of the namespace that the name belongs to. If the name doesn't -belong to any namespace, an undef is returned. This is only valid on names -received through the Start or End handlers from a single document, or through -a call to the generate_ns_name method. In other words, don't use names -generated from one instance of XML::Parser::Expat with other instances. - -=item eq_name(name1, name2) - -Return true if name1 and name2 are identical (i.e. same name and from -the same namespace.) This is only meaningful if both names were obtained -through the Start or End handlers from a single document, or through -a call to the generate_ns_name method. - -=item generate_ns_name(name, namespace) - -Return a name, associated with a given namespace, good for using with the -above 2 methods. The namespace argument should be the namespace URI, not -a prefix. - -=item new_ns_prefixes - -When called from a start tag handler, returns namespace prefixes declared -with this start tag. If called elsewere (or if there were no namespace -prefixes declared), it returns an empty list. Setting of the default -namespace is indicated with '#default' as a prefix. - -=item expand_ns_prefix(prefix) - -Return the uri to which the given prefix is currently bound. Returns -undef if the prefix isn't currently bound. Use '#default' to find the -current binding of the default namespace (if any). - -=item current_ns_prefixes - -Return a list of currently bound namespace prefixes. The order of the -the prefixes in the list has no meaning. If the default namespace is -currently bound, '#default' appears in the list. - -=item recognized_string - -Returns the string from the document that was recognized in order to call -the current handler. For instance, when called from a start handler, it -will give us the the start-tag string. The string is encoded in UTF-8. -This method doesn't return a meaningful string inside declaration handlers. - -=item original_string - -Returns the verbatim string from the document that was recognized in -order to call the current handler. The string is in the original document -encoding. This method doesn't return a meaningful string inside declaration -handlers. - -=item default_current - -When called from a handler, causes the sequence of characters that generated -the corresponding event to be sent to the default handler (if one is -registered). Use of this method is deprecated in favor the recognized_string -method, which you can use without installing a default handler. This -method doesn't deliver a meaningful string to the default handler when -called from inside declaration handlers. - -=item xpcroak(message) - -Concatenate onto the given message the current line number within the -XML document plus the message implied by ErrorContext. Then croak with -the formed message. - -=item xpcarp(message) - -Concatenate onto the given message the current line number within the -XML document plus the message implied by ErrorContext. Then carp with -the formed message. - -=item current_line - -Returns the line number of the current position of the parse. - -=item current_column - -Returns the column number of the current position of the parse. - -=item current_byte - -Returns the current position of the parse. - -=item base([NEWBASE]); - -Returns the current value of the base for resolving relative URIs. If -NEWBASE is supplied, changes the base to that value. - -=item context - -Returns a list of element names that represent open elements, with the -last one being the innermost. Inside start and end tag handlers, this -will be the tag of the parent element. - -=item current_element - -Returns the name of the innermost currently opened element. Inside -start or end handlers, returns the parent of the element associated -with those tags. - -=item in_element(NAME) - -Returns true if NAME is equal to the name of the innermost currently opened -element. If namespace processing is being used and you want to check -against a name that may be in a namespace, then use the generate_ns_name -method to create the NAME argument. - -=item within_element(NAME) - -Returns the number of times the given name appears in the context list. -If namespace processing is being used and you want to check -against a name that may be in a namespace, then use the generate_ns_name -method to create the NAME argument. - -=item depth - -Returns the size of the context list. - -=item element_index - -Returns an integer that is the depth-first visit order of the current -element. This will be zero outside of the root element. For example, -this will return 1 when called from the start handler for the root element -start tag. - -=item skip_until(INDEX) - -INDEX is an integer that represents an element index. When this method -is called, all handlers are suspended until the start tag for an element -that has an index number equal to INDEX is seen. If a start handler has -been set, then this is the first tag that the start handler will see -after skip_until has been called. - - -=item position_in_context(LINES) - -Returns a string that shows the current parse position. LINES should be -an integer >= 0 that represents the number of lines on either side of the -current parse line to place into the returned string. - -=item xml_escape(TEXT [, CHAR [, CHAR ...]]) - -Returns TEXT with markup characters turned into character entities. Any -additional characters provided as arguments are also turned into character -references where found in TEXT. - -=item parse (SOURCE) - -The SOURCE parameter should either be a string containing the whole XML -document, or it should be an open IO::Handle. Only a single document -may be parsed for a given instance of XML::Parser::Expat, so this will croak -if it's been called previously for this instance. - -=item parsestring(XML_DOC_STRING) - -Parses the given string as an XML document. Only a single document may be -parsed for a given instance of XML::Parser::Expat, so this will die if either -parsestring or parsefile has been called for this instance previously. - -This method is deprecated in favor of the parse method. - -=item parsefile(FILENAME) - -Parses the XML document in the given file. Will die if parsestring or -parsefile has been called previously for this instance. - -=item is_defaulted(ATTNAME) - -NO LONGER WORKS. To find out if an attribute is defaulted please use -the specified_attr method. - -=item specified_attr - -When the start handler receives lists of attributes and values, the -non-defaulted (i.e. explicitly specified) attributes occur in the list -first. This method returns the number of specified items in the list. -So if this number is equal to the length of the list, there were no -defaulted values. Otherwise the number points to the index of the -first defaulted attribute name. - -=item finish - -Unsets all handlers (including internal ones that set context), but expat -continues parsing to the end of the document or until it finds an error. -It should finish up a lot faster than with the handlers set. - -=item release - -There are data structures used by XML::Parser::Expat that have circular -references. This means that these structures will never be garbage -collected unless these references are explicitly broken. Calling this -method breaks those references (and makes the instance unusable.) - -Normally, higher level calls handle this for you, but if you are using -XML::Parser::Expat directly, then it's your responsibility to call it. - -=back - -=head2 XML::Parser::ContentModel Methods - -The element declaration handlers are passed objects of this class as the -content model of the element declaration. They also represent content -particles, components of a content model. - -When referred to as a string, these objects are automagicly converted to a -string representation of the model (or content particle). - -=over 4 - -=item isempty - -This method returns true if the object is "EMPTY", false otherwise. - -=item isany - -This method returns true if the object is "ANY", false otherwise. - -=item ismixed - -This method returns true if the object is "(#PCDATA)" or "(#PCDATA|...)*", -false otherwise. - -=item isname - -This method returns if the object is an element name. - -=item ischoice - -This method returns true if the object is a choice of content particles. - - -=item isseq - -This method returns true if the object is a sequence of content particles. - -=item quant - -This method returns undef or a string representing the quantifier -('?', '*', '+') associated with the model or particle. - -=item children - -This method returns undef or (for mixed, choice, and sequence types) -an array of component content particles. There will always be at least -one component for choices and sequences, but for a mixed content model -of pure PCDATA, "(#PCDATA)", then an undef is returned. - -=back - -=head2 XML::Parser::ExpatNB Methods - -The class XML::Parser::ExpatNB is a subclass of XML::Parser::Expat used -for non-blocking access to the expat library. It does not support the parse, -parsestring, or parsefile methods, but it does have these additional methods: - -=over 4 - -=item parse_more(DATA) - -Feed expat more text to munch on. - -=item parse_done - -Tell expat that it's gotten the whole document. - -=back - -=head1 FUNCTIONS - -=over 4 - -=item XML::Parser::Expat::load_encoding(ENCODING) - -Load an external encoding. ENCODING is either the name of an encoding or -the name of a file. The basename is converted to lowercase and a '.enc' -extension is appended unless there's one already there. Then, unless -it's an absolute pathname (i.e. begins with '/'), the first file by that -name discovered in the @Encoding_Path path list is used. - -The encoding in the file is loaded and kept in the %Encoding_Table -table. Earlier encodings of the same name are replaced. - -This function is automaticly called by expat when it encounters an encoding -it doesn't know about. Expat shouldn't call this twice for the same -encoding name. The only reason users should use this function is to -explicitly load an encoding not contained in the @Encoding_Path list. - -=back - -=head1 AUTHORS - -Larry Wall <F<larry@wall.org>> wrote version 1.0. - -Clark Cooper <F<coopercc@netheaven.com>> picked up support, changed the API -for this version (2.x), provided documentation, and added some standard -package features. - -=cut diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl deleted file mode 100644 index d0c940b1ac5..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl +++ /dev/null @@ -1,71 +0,0 @@ -# LWPExternEnt.pl -# -# Copyright (c) 2000 Clark Cooper -# All rights reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the same terms as Perl itself. - -package XML::Parser; - -use URI; -use URI::file; -use LWP; - -## -## Note that this external entity handler reads the entire entity into -## memory, so it will choke on huge ones. It would be really nice if -## LWP::UserAgent optionally returned us an IO::Handle. -## - -sub lwp_ext_ent_handler { - my ($xp, $base, $sys) = @_; # We don't use public id - - my $uri; - - if (defined $base) { - # Base may have been set by parsefile, which is agnostic about - # whether its a file or URI. - my $base_uri = new URI($base); - unless (defined $base_uri->scheme) { - $base_uri = URI->new_abs($base_uri, URI::file->cwd); - } - - $uri = URI->new_abs($sys, $base_uri); - } - else { - $uri = new URI($sys); - unless (defined $uri->scheme) { - $uri = URI->new_abs($uri, URI::file->cwd); - } - } - - my $ua = $xp->{_lwpagent}; - unless (defined $ua) { - $ua = $xp->{_lwpagent} = new LWP::UserAgent(); - $ua->env_proxy(); - } - - my $req = new HTTP::Request('GET', $uri); - - my $res = $ua->request($req); - if ($res->is_error) { - $xp->{ErrorMessage} .= "\n" . $res->status_line . " $uri"; - return undef; - } - - $xp->{_BaseStack} ||= []; - push(@{$xp->{_BaseStack}}, $base); - - $xp->base($uri); - - return $res->content; -} # End lwp_ext_ent_handler - -sub lwp_ext_ent_cleanup { - my ($xp) = @_; - - $xp->base(pop(@{$xp->{_BaseStack}})); -} # End lwp_ext_ent_cleanup - -1; diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm deleted file mode 100644 index 89fcd8b248b..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm +++ /dev/null @@ -1,52 +0,0 @@ -# $Id: Debug.pm,v 1.1 2003/07/27 16:07:49 matt Exp $ - -package XML::Parser::Style::Debug; -use strict; - -sub Start { - my $expat = shift; - my $tag = shift; - print STDERR "@{$expat->{Context}} \\\\ (@_)\n"; -} - -sub End { - my $expat = shift; - my $tag = shift; - print STDERR "@{$expat->{Context}} //\n"; -} - -sub Char { - my $expat = shift; - my $text = shift; - $text =~ s/([\x80-\xff])/sprintf "#x%X;", ord $1/eg; - $text =~ s/([\t\n])/sprintf "#%d;", ord $1/eg; - print STDERR "@{$expat->{Context}} || $text\n"; -} - -sub Proc { - my $expat = shift; - my $target = shift; - my $text = shift; - my @foo = @{$expat->{Context}}; - print STDERR "@foo $target($text)\n"; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Debug - Debug style for XML::Parser - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Debug'); - $p->parsefile('foo.xml'); - -=head1 DESCRIPTION - -This just prints out the document in outline form to STDERR. Nothing special is -returned by parse. - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm deleted file mode 100644 index 8603db05a39..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm +++ /dev/null @@ -1,78 +0,0 @@ -# $Id: Objects.pm,v 1.1 2003/08/18 20:20:51 matt Exp $ - -package XML::Parser::Style::Objects; -use strict; - -sub Init { - my $expat = shift; - $expat->{Lists} = []; - $expat->{Curlist} = $expat->{Tree} = []; -} - -sub Start { - my $expat = shift; - my $tag = shift; - my $newlist = [ ]; - my $class = "${$expat}{Pkg}::$tag"; - my $newobj = bless { @_, Kids => $newlist }, $class; - push @{ $expat->{Lists} }, $expat->{Curlist}; - push @{ $expat->{Curlist} }, $newobj; - $expat->{Curlist} = $newlist; -} - -sub End { - my $expat = shift; - my $tag = shift; - $expat->{Curlist} = pop @{ $expat->{Lists} }; -} - -sub Char { - my $expat = shift; - my $text = shift; - my $class = "${$expat}{Pkg}::Characters"; - my $clist = $expat->{Curlist}; - my $pos = $#$clist; - - if ($pos >= 0 and ref($clist->[$pos]) eq $class) { - $clist->[$pos]->{Text} .= $text; - } else { - push @$clist, bless { Text => $text }, $class; - } -} - -sub Final { - my $expat = shift; - delete $expat->{Curlist}; - delete $expat->{Lists}; - $expat->{Tree}; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Objects - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Objects', Pkg => 'MyNode'); - my $tree = $p->parsefile('foo.xml'); - -=head1 DESCRIPTION - -This module implements XML::Parser's Objects style parser. - -This is similar to the Tree style, except that a hash object is created for -each element. The corresponding object will be in the class whose name -is created by appending "::" and the element name to the package set with -the Pkg option. Non-markup text will be in the ::Characters class. The -contents of the corresponding object will be in an anonymous array that -is the value of the Kids property for that object. - -=head1 SEE ALSO - -L<XML::Parser::Style::Tree> - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm deleted file mode 100644 index 1e2e3f7183d..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm +++ /dev/null @@ -1,184 +0,0 @@ -# $Id: Stream.pm,v 1.1 2003/07/27 16:07:49 matt Exp $ - -package XML::Parser::Style::Stream; -use strict; - -# This style invented by Tim Bray <tbray@textuality.com> - -sub Init { - no strict 'refs'; - my $expat = shift; - $expat->{Text} = ''; - my $sub = $expat->{Pkg} ."::StartDocument"; - &$sub($expat) - if defined(&$sub); -} - -sub Start { - no strict 'refs'; - my $expat = shift; - my $type = shift; - - doText($expat); - $_ = "<$type"; - - %_ = @_; - while (@_) { - $_ .= ' ' . shift() . '="' . shift() . '"'; - } - $_ .= '>'; - - my $sub = $expat->{Pkg} . "::StartTag"; - if (defined(&$sub)) { - &$sub($expat, $type); - } else { - print; - } -} - -sub End { - no strict 'refs'; - my $expat = shift; - my $type = shift; - - # Set right context for Text handler - push(@{$expat->{Context}}, $type); - doText($expat); - pop(@{$expat->{Context}}); - - $_ = "</$type>"; - - my $sub = $expat->{Pkg} . "::EndTag"; - if (defined(&$sub)) { - &$sub($expat, $type); - } else { - print; - } -} - -sub Char { - my $expat = shift; - $expat->{Text} .= shift; -} - -sub Proc { - no strict 'refs'; - my $expat = shift; - my $target = shift; - my $text = shift; - - doText($expat); - - $_ = "<?$target $text?>"; - - my $sub = $expat->{Pkg} . "::PI"; - if (defined(&$sub)) { - &$sub($expat, $target, $text); - } else { - print; - } -} - -sub Final { - no strict 'refs'; - my $expat = shift; - my $sub = $expat->{Pkg} . "::EndDocument"; - &$sub($expat) - if defined(&$sub); -} - -sub doText { - no strict 'refs'; - my $expat = shift; - $_ = $expat->{Text}; - - if (length($_)) { - my $sub = $expat->{Pkg} . "::Text"; - if (defined(&$sub)) { - &$sub($expat); - } else { - print; - } - - $expat->{Text} = ''; - } -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Stream - Stream style for XML::Parser - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Stream', Pkg => 'MySubs'); - $p->parsefile('foo.xml'); - - { - package MySubs; - - sub StartTag { - my ($e, $name) = @_; - # do something with start tags - } - - sub EndTag { - my ($e, $name) = @_; - # do something with end tags - } - - sub Characters { - my ($e, $data) = @_; - # do something with text nodes - } - } - -=head1 DESCRIPTION - -This style uses the Pkg option to find subs in a given package to call for each event. -If none of the subs that this -style looks for is there, then the effect of parsing with this style is -to print a canonical copy of the document without comments or declarations. -All the subs receive as their 1st parameter the Expat instance for the -document they're parsing. - -It looks for the following routines: - -=over 4 - -=item * StartDocument - -Called at the start of the parse . - -=item * StartTag - -Called for every start tag with a second parameter of the element type. The $_ -variable will contain a copy of the tag and the %_ variable will contain -attribute values supplied for that element. - -=item * EndTag - -Called for every end tag with a second parameter of the element type. The $_ -variable will contain a copy of the end tag. - -=item * Text - -Called just before start or end tags with accumulated non-markup text in -the $_ variable. - -=item * PI - -Called for processing instructions. The $_ variable will contain a copy of -the PI and the target and data are sent as 2nd and 3rd parameters -respectively. - -=item * EndDocument - -Called at conclusion of the parse. - -=back - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm deleted file mode 100644 index 15a21439e8e..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm +++ /dev/null @@ -1,58 +0,0 @@ -# $Id: Subs.pm,v 1.1 2003/07/27 16:07:49 matt Exp $ - -package XML::Parser::Style::Subs; - -sub Start { - no strict 'refs'; - my $expat = shift; - my $tag = shift; - my $sub = $expat->{Pkg} . "::$tag"; - eval { &$sub($expat, $tag, @_) }; -} - -sub End { - no strict 'refs'; - my $expat = shift; - my $tag = shift; - my $sub = $expat->{Pkg} . "::${tag}_"; - eval { &$sub($expat, $tag) }; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Subs - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Subs', Pkg => 'MySubs'); - $p->parsefile('foo.xml'); - - { - package MySubs; - - sub foo { - # start of foo tag - } - - sub foo_ { - # end of foo tag - } - } - -=head1 DESCRIPTION - -Each time an element starts, a sub by that name in the package specified -by the Pkg option is called with the same parameters that the Start -handler gets called with. - -Each time an element ends, a sub with that name appended with an underscore -("_"), is called with the same parameters that the End handler gets called -with. - -Nothing special is returned by parse. - -=cut
\ No newline at end of file diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm deleted file mode 100644 index c0e69f131ce..00000000000 --- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm +++ /dev/null @@ -1,90 +0,0 @@ -# $Id: Tree.pm,v 1.2 2003/07/31 07:54:51 matt Exp $ - -package XML::Parser::Style::Tree; -$XML::Parser::Built_In_Styles{Tree} = 1; - -sub Init { - my $expat = shift; - $expat->{Lists} = []; - $expat->{Curlist} = $expat->{Tree} = []; -} - -sub Start { - my $expat = shift; - my $tag = shift; - my $newlist = [ { @_ } ]; - push @{ $expat->{Lists} }, $expat->{Curlist}; - push @{ $expat->{Curlist} }, $tag => $newlist; - $expat->{Curlist} = $newlist; -} - -sub End { - my $expat = shift; - my $tag = shift; - $expat->{Curlist} = pop @{ $expat->{Lists} }; -} - -sub Char { - my $expat = shift; - my $text = shift; - my $clist = $expat->{Curlist}; - my $pos = $#$clist; - - if ($pos > 0 and $clist->[$pos - 1] eq '0') { - $clist->[$pos] .= $text; - } else { - push @$clist, 0 => $text; - } -} - -sub Final { - my $expat = shift; - delete $expat->{Curlist}; - delete $expat->{Lists}; - $expat->{Tree}; -} - -1; -__END__ - -=head1 NAME - -XML::Parser::Style::Tree - -=head1 SYNOPSIS - - use XML::Parser; - my $p = XML::Parser->new(Style => 'Tree'); - my $tree = $p->parsefile('foo.xml'); - -=head1 DESCRIPTION - -This module implements XML::Parser's Tree style parser. - -When parsing a document, C<parse()> will return a parse tree for the -document. Each node in the tree -takes the form of a tag, content pair. Text nodes are represented with -a pseudo-tag of "0" and the string that is their content. For elements, -the content is an array reference. The first item in the array is a -(possibly empty) hash reference containing attributes. The remainder of -the array is a sequence of tag-content pairs representing the content -of the element. - -So for example the result of parsing: - - <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> - -would be: - Tag Content - ================================================================== - [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], - bar, [ {}, 0, "Howdy", ref, [{}]], - 0, "do" - ] - ] - -The root document "foo", has 3 children: a "head" element, a "bar" -element and the text "do". After the empty attribute hash, these are -represented in it's contents by 3 tag-content pairs. - -=cut |