1package SOAP::WSDL::TypeLookup; 2use strict; 3use warnings; 4 5our $VERSION = 3.004; 6 7my %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 233sub lookup { 234 my ($self, $namespace, $name) = @_; 235 return $TYPE_FROM{ $namespace }->{ $name }; 236} 237 2381;