File Coverage

blib/lib/SOAP/WSDL/TypeLookup.pm
Criterion Covered Total %
statement 6 8 75.0
branch n/a
condition n/a
subroutine 2 3 66.6
pod 0 1 0.0
total 8 12 66.6


line stmt bran cond sub pod time code
1             package SOAP::WSDL::TypeLookup;
2 13     13   46 use strict;
  13         16  
  13         349  
3 13     13   49 use warnings;
  13         15  
  13         4245  
4              
5             our $VERSION = 3.003;
6              
7             my %TYPE_FROM = (
8             # wsdl:
9             'http://schemas.xmlsoap.org/wsdl/' => {
10             'import' => {
11             type => 'HANDLER',
12             method => 'wsdl_import',
13             },
14             binding => {
15             type => 'CLASS',
16             class => 'SOAP::WSDL::Binding',
17             },
18             definitions => {
19             type => 'CLASS',
20             class => 'SOAP::WSDL::Definitions',
21             },
22             portType => {
23             type => 'CLASS',
24             class => 'SOAP::WSDL::PortType',
25             },
26             message => {
27             type => 'CLASS',
28             class => 'SOAP::WSDL::Message',
29             },
30             part => {
31             type => 'CLASS',
32             class => 'SOAP::WSDL::Part',
33             },
34             service => {
35             type => 'CLASS',
36             class => 'SOAP::WSDL::Service',
37             },
38             port => {
39             type => 'CLASS',
40             class => 'SOAP::WSDL::Port',
41             },
42             operation => {
43             type => 'CLASS',
44             class => 'SOAP::WSDL::Operation',
45             },
46             input => {
47             type => 'CLASS',
48             class => 'SOAP::WSDL::OpMessage',
49             },
50             output => {
51             type => 'CLASS',
52             class => 'SOAP::WSDL::OpMessage',
53             },
54             fault => {
55             type => 'CLASS',
56             class => 'SOAP::WSDL::OpMessage',
57             },
58             types => {
59             type => 'CLASS',
60             class => 'SOAP::WSDL::Types',
61             },
62             documentation => {
63             type => 'CONTENT',
64             method => 'set_documentation',
65             }
66             },
67             # soap:
68             'http://schemas.xmlsoap.org/wsdl/soap/' => {
69             operation => {
70             type => 'CLASS',
71             class => 'SOAP::WSDL::SOAP::Operation',
72             },
73             binding => {
74             type => 'PARENT',
75             },
76             body => {
77             type => 'CLASS',
78             class => 'SOAP::WSDL::SOAP::Body',
79             },
80             header => {
81             type => 'CLASS',
82             class => 'SOAP::WSDL::SOAP::Header',
83             },
84             address => {
85             type => 'CLASS',
86             class => 'SOAP::WSDL::SOAP::Address',
87             }
88             },
89             'http://www.w3.org/2001/XMLSchema' => {
90             'import' => {
91             type => 'HANDLER',
92             method => 'xml_schema_import',
93             },
94             schema => {
95             type => 'CLASS',
96             class => 'SOAP::WSDL::XSD::Schema',
97             },
98             attribute => {
99             type => 'CLASS',
100             class => 'SOAP::WSDL::XSD::Attribute',
101             },
102             attributeGroup => {
103             type => 'CLASS',
104             class => 'SOAP::WSDL::XSD::AttributeGroup',
105             },
106             key => {
107             type => 'SKIP', # not implemented yet
108             },
109             keyref => {
110             type => 'SKIP', # not implemented yet
111             },
112             unique => {
113             type => 'SKIP', # not implemented yet
114             },
115             notation => {
116             type => 'SKIP', # not implemented yet
117             },
118             annotation => {
119             type => 'CLASS', # not implemented yet
120             class => 'SOAP::WSDL::XSD::Annotation',
121             },
122             documentation => {
123             type => 'CONTENT',
124             method => 'set_documentation',
125             },
126             appinfo => {
127             type => 'SKIP', # not implemented yet
128             },
129             description => {
130             type => 'SKIP', # not implemented yet
131             },
132             element => {
133             type => 'CLASS',
134             class => 'SOAP::WSDL::XSD::Element',
135             },
136             simpleType => {
137             type => 'CLASS',
138             class => 'SOAP::WSDL::XSD::SimpleType',
139             },
140             complexType => {
141             type => 'CLASS',
142             class => 'SOAP::WSDL::XSD::ComplexType',
143             },
144             simpleContent => {
145             type => 'METHOD',
146             method => 'set_contentModel',
147             value => 'simpleContent'
148             },
149             complexContent => {
150             type => 'METHOD',
151             method => 'set_contentModel',
152             value => 'complexContent'
153             },
154             restriction => {
155             type => 'METHOD',
156             method => 'set_restriction',
157             },
158             extension => {
159             type => 'METHOD',
160             method => 'set_extension',
161             },
162             list => {
163             type => 'METHOD',
164             method => 'set_list',
165             },
166             union => {
167             type => 'METHOD',
168             method => 'set_union',
169             },
170             enumeration => {
171             type => 'CLASS',
172             class => 'SOAP::WSDL::XSD::Enumeration',
173             },
174             group => {
175             type => 'CLASS',
176             class => 'SOAP::WSDL::XSD::Group',
177             },
178             all => {
179             type => 'METHOD',
180             method => 'set_variety',
181             value => 'all',
182             },
183             choice => {
184             type => 'METHOD',
185             method => 'set_variety',
186             value => 'choice',
187             },
188             sequence => {
189             type => 'METHOD',
190             method => 'set_variety',
191             value => 'sequence',
192             },
193             value => {
194             type => 'SKIP',
195             },
196             minExclusive => {
197             type => 'CLASS',
198             class => 'SOAP::WSDL::XSD::MinExclusive',
199             },
200             maxExclusive => {
201             type => 'CLASS',
202             class => 'SOAP::WSDL::XSD::MaxExclusive',
203             },
204             minInclusive => {
205             type => 'CLASS',
206             class => 'SOAP::WSDL::XSD::MinInclusive',
207             },
208             maxInclusive => {
209             type => 'CLASS',
210             class => 'SOAP::WSDL::XSD::MaxInclusive',
211             },
212             maxLength => {
213             type => 'CLASS',
214             class => 'SOAP::WSDL::XSD::MaxLength',
215             },
216             minLength => {
217             type => 'CLASS',
218             class => 'SOAP::WSDL::XSD::MinLength',
219             },
220             totalDigits => {
221             type => 'CLASS',
222             class => 'SOAP::WSDL::XSD::TotalDigits',
223             },
224             fractionDigits => {
225             type => 'CLASS',
226             class => 'SOAP::WSDL::XSD::FractionDigits',
227             },
228             },
229             );
230              
231             $TYPE_FROM{ 'http://www.w3.org/2000/10/XMLSchema' } = $TYPE_FROM{ 'http://www.w3.org/2001/XMLSchema' };
232              
233             sub lookup {
234 0     0 0   my ($self, $namespace, $name) = @_;
235 0           return $TYPE_FROM{ $namespace }->{ $name };
236             }
237              
238             1;