import SOAP-WSDL 2.00.05 from CPAN

git-cpan-module:   SOAP-WSDL
git-cpan-version:  2.00.05
git-cpan-authorid: MKUTTER
git-cpan-file:     authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.05.tar.gz
This commit is contained in:
Martin Kutter
2009-12-12 19:48:45 -08:00
committed by Michael G. Schwern
parent c3e3d1908e
commit c2ac24dd0f
109 changed files with 725 additions and 2095 deletions
+9 -1
View File
@@ -6,7 +6,7 @@ use XML::Parser::Expat;
# TODO: convert to Class::Std::Fast based class - hash based classes suck.
use version; our $VERSION = qv('2.00.04');
use version; our $VERSION = qv('2.00.05');
sub new {
my ($class, $arg_ref) = @_;
@@ -35,17 +35,23 @@ sub get_uri { return $_[0]->{ uri }; }
sub set_user_agent { $_[0]->{ user_agent } = $_[1]; }
sub get_user_agent { return $_[0]->{ user_agent }; }
# Mark a URI as "already parsed"
sub set_parsed {
my ($self, $uri) = @_;
$self->{ parsed }->{ $uri } = 1;
return;
}
# returns true if a specific URI has already been parsed
sub is_parsed {
my ($self, $uri) = @_;
return exists $self->{ parsed }->{ $uri };
}
# parse a URI. This is the preferred parsing method for WSDL files, as it's
# the only one allowing automatic import resolution
sub parse_uri {
my $self = shift;
my $uri = shift;
@@ -74,6 +80,7 @@ sub parse {
$_[0]->{ parser }->release();
};
$_[0]->{ parser }->xpcroak( $@ ) if $@;
delete $_[0]->{ parser };
return $_[0]->{ data };
}
@@ -83,6 +90,7 @@ sub parsefile {
$_[0]->{ parser }->release();
};
$_[0]->{ parser }->xpcroak( $@ ) if $@;
delete $_[0]->{ parser };
return $_[0]->{ data };
}
+1 -1
View File
@@ -4,7 +4,7 @@ use strict;
use warnings;
use base qw(SOAP::WSDL::Expat::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.05');
sub _initialize {
my ($self, $parser) = @_;
+24 -20
View File
@@ -1,19 +1,20 @@
#!/usr/bin/perl
package SOAP::WSDL::Expat::MessageParser;
use strict;
use warnings;
use Carp qw(croak confess);
use version; our $VERSION = qv('2.00.03');
use strict; use warnings;
use SOAP::WSDL::XSD::Typelib::Builtin;
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
use base qw(SOAP::WSDL::Expat::Base);
require Class::Std::Fast;
BEGIN { require Class::Std::Fast };
use version; our $VERSION = qv('2.00.05');
# GLOBALS
my $OBJECT_CACHE_REF = Class::Std::Fast::OBJECT_CACHE_REF();
# keep track of classes loaded
my %LOADED_OF = ();
sub new {
@@ -46,7 +47,10 @@ sub class_resolver {
sub load_classes {
my $self = shift;
for (values %{ $self->{ class_resolver }->get_typemap }) {
return if $LOADED_OF{ $self->{ class_resolver } };
# requires sorting to make sub-packages load after their parent
for (sort values %{ $self->{ class_resolver }->get_typemap }) {
no strict qw(refs);
my $class = $_;
@@ -54,9 +58,10 @@ sub load_classes {
next if $class eq '__SKIP__';
next if defined *{ "$class\::" }; # check if namespace exists
# Require takes a bareword or a file name - we have to take
# the filname road here...
$class =~s{ :: }{/}xmsg;
$class .= '.pm';
require $class;
require "$class.pm"; ## no critic (RequireBarewordIncludes)
}
$LOADED_OF{ $self->{ class_resolver } } = 1;
}
@@ -106,16 +111,12 @@ sub _initialize {
: ();
# use "globals" for speed
my ($_prefix, $_method,
$_class, $_leaf) = ();
my ($_prefix, $_method, $_class, $_leaf) = ();
my $char_handler = sub {
return if (!$_leaf); # we only want characters in leaf nodes
$characters .= $_[1];
# if $_[1] =~m{ [^\s] }xms;
return;
return if (!$_leaf); # we only want characters in leaf nodes
$characters .= $_[1]; # add to characters
return; # return void
};
no strict qw(refs);
@@ -194,6 +195,9 @@ sub _initialize {
}
}
$depth++;
# TODO: Skip content of anyType / any stuff
return;
},
@@ -319,10 +323,10 @@ the same terms as perl itself
=head1 Repository information
$Id: MessageParser.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: MessageParser.pm 728 2008-07-13 19:28:50Z kutterma $
$LastChangedDate: 2008-05-18 22:17:56 +0200 (So, 18 Mai 2008) $
$LastChangedRevision: 677 $
$LastChangedDate: 2008-07-13 21:28:50 +0200 (So, 13 Jul 2008) $
$LastChangedRevision: 728 $
$LastChangedBy: kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
+3 -3
View File
@@ -6,7 +6,7 @@ use XML::Parser::Expat;
use SOAP::WSDL::Expat::MessageParser;
use base qw(SOAP::WSDL::Expat::MessageParser);
use version; our $VERSION = qv('2.00.04');
use version; our $VERSION = qv('2.00.05');
sub parse_start {
my $self = shift;
@@ -69,9 +69,9 @@ the same terms as perl itself
=head1 REPOSITORY INFORMATION
$Rev: 701 $
$Rev: 728 $
$LastChangedBy: kutterma $
$Id: MessageStreamParser.pm 701 2008-06-05 19:19:16Z kutterma $
$Id: MessageStreamParser.pm 728 2008-07-13 19:28:50Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
=cut
+22 -8
View File
@@ -5,7 +5,17 @@ use Carp;
use SOAP::WSDL::TypeLookup;
use base qw(SOAP::WSDL::Expat::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.05');
#
# Import child elements of a WSDL / XML Schema tree into the current tree
#
# Set the targetNamespace of the imported nodes to $import_namespace
#
# SYNOPSIS
#
# $self->_import_children($name, $imported, $imported, $import_namespace)
#
sub _import_children {
my ($self, $name, $imported, $importer, $import_namespace) = @_;
@@ -140,6 +150,8 @@ sub _initialize {
# TODO skip non-XML Schema namespace tags
$parser->setHandlers(
Start => sub {
# handle attrs as list - expat uses dual-vars for looking
# up namespace information, and hash keys don't allow dual vars...
my ($parser, $localname, @attrs) = @_;
$characters = q{};
@@ -174,9 +186,7 @@ sub _initialize {
# remember element for stepping back
push @{ $list }, $current;
}
else {
$self->{ data } = $obj;
}
# set new element (step down)
$current = $obj;
}
@@ -228,6 +238,11 @@ sub _initialize {
$localname
) || {};
if (! defined $list->[-1]) {
$self->{ data } = $current;
return;
}
return if not ($action->{ type });
if ( $action->{ type } eq 'CLASS' ) {
$current = pop @{ $list };
@@ -275,7 +290,6 @@ sub _fixup_attrs {
} $parser->new_ns_prefixes();
push @attrs_from, map {
$_ =
{
Name => defined $parser->namespace($_)
? $parser->namespace($_) . '|' . $_
@@ -322,10 +336,10 @@ the same terms as perl itself
=head1 Repository information
$Id: WSDLParser.pm 688 2008-05-23 21:01:54Z kutterma $
$Id: WSDLParser.pm 728 2008-07-13 19:28:50Z kutterma $
$LastChangedDate: 2008-05-23 23:01:54 +0200 (Fr, 23 Mai 2008) $
$LastChangedRevision: 688 $
$LastChangedDate: 2008-07-13 21:28:50 +0200 (So, 13 Jul 2008) $
$LastChangedRevision: 728 $
$LastChangedBy: kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/WSDLParser.pm $