rtiss_soap4r 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/wsdl2ruby.rb +139 -0
- data/bin/xsd2ruby.rb +91 -0
- data/lib/soap/attachment.rb +109 -0
- data/lib/soap/attrproxy.rb +35 -0
- data/lib/soap/baseData.rb +1095 -0
- data/lib/soap/element.rb +278 -0
- data/lib/soap/encodingstyle/aspDotNetHandler.rb +208 -0
- data/lib/soap/encodingstyle/handler.rb +121 -0
- data/lib/soap/encodingstyle/literalHandler.rb +196 -0
- data/lib/soap/encodingstyle/soapHandler.rb +560 -0
- data/lib/soap/filter/filterchain.rb +52 -0
- data/lib/soap/filter/handler.rb +32 -0
- data/lib/soap/filter/streamhandler.rb +30 -0
- data/lib/soap/filter.rb +14 -0
- data/lib/soap/generator.rb +299 -0
- data/lib/soap/header/handler.rb +62 -0
- data/lib/soap/header/handlerset.rb +71 -0
- data/lib/soap/header/mappinghandler.rb +48 -0
- data/lib/soap/header/simplehandler.rb +45 -0
- data/lib/soap/httpconfigloader.rb +140 -0
- data/lib/soap/mapping/encodedregistry.rb +539 -0
- data/lib/soap/mapping/factory.rb +389 -0
- data/lib/soap/mapping/literalregistry.rb +392 -0
- data/lib/soap/mapping/mapping.rb +577 -0
- data/lib/soap/mapping/registry.rb +296 -0
- data/lib/soap/mapping/rubytypeFactory.rb +446 -0
- data/lib/soap/mapping/schemadefinition.rb +171 -0
- data/lib/soap/mapping/typeMap.rb +107 -0
- data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
- data/lib/soap/mapping/wsdlliteralregistry.rb +249 -0
- data/lib/soap/mapping.rb +13 -0
- data/lib/soap/marshal.rb +60 -0
- data/lib/soap/mimemessage.rb +243 -0
- data/lib/soap/nestedexception.rb +43 -0
- data/lib/soap/netHttpClient.rb +242 -0
- data/lib/soap/ns.rb +39 -0
- data/lib/soap/parser.rb +253 -0
- data/lib/soap/processor.rb +67 -0
- data/lib/soap/property.rb +340 -0
- data/lib/soap/proxy.rb +15 -0
- data/lib/soap/rpc/cgistub.rb +248 -0
- data/lib/soap/rpc/driver.rb +222 -0
- data/lib/soap/rpc/element.rb +375 -0
- data/lib/soap/rpc/httpserver.rb +143 -0
- data/lib/soap/rpc/methodDef.rb +69 -0
- data/lib/soap/rpc/proxy.rb +573 -0
- data/lib/soap/rpc/router.rb +663 -0
- data/lib/soap/rpc/rpc.rb +26 -0
- data/lib/soap/rpc/soaplet.rb +201 -0
- data/lib/soap/rpc/standaloneServer.rb +44 -0
- data/lib/soap/soap.rb +154 -0
- data/lib/soap/streamHandler.rb +306 -0
- data/lib/soap/version.rb +9 -0
- data/lib/soap/wsdlDriver.rb +165 -0
- data/lib/wsdl/binding.rb +66 -0
- data/lib/wsdl/data.rb +65 -0
- data/lib/wsdl/definitions.rb +237 -0
- data/lib/wsdl/documentation.rb +33 -0
- data/lib/wsdl/import.rb +81 -0
- data/lib/wsdl/importer.rb +39 -0
- data/lib/wsdl/info.rb +51 -0
- data/lib/wsdl/message.rb +55 -0
- data/lib/wsdl/operation.rb +152 -0
- data/lib/wsdl/operationBinding.rb +241 -0
- data/lib/wsdl/param.rb +94 -0
- data/lib/wsdl/parser.rb +165 -0
- data/lib/wsdl/part.rb +53 -0
- data/lib/wsdl/port.rb +67 -0
- data/lib/wsdl/portType.rb +76 -0
- data/lib/wsdl/service.rb +62 -0
- data/lib/wsdl/soap/address.rb +41 -0
- data/lib/wsdl/soap/binding.rb +50 -0
- data/lib/wsdl/soap/body.rb +59 -0
- data/lib/wsdl/soap/cgiStubCreator.rb +93 -0
- data/lib/wsdl/soap/classDefCreator.rb +434 -0
- data/lib/wsdl/soap/classDefCreatorSupport.rb +241 -0
- data/lib/wsdl/soap/classNameCreator.rb +55 -0
- data/lib/wsdl/soap/clientSkeltonCreator.rb +107 -0
- data/lib/wsdl/soap/complexType.rb +174 -0
- data/lib/wsdl/soap/data.rb +43 -0
- data/lib/wsdl/soap/definitions.rb +201 -0
- data/lib/wsdl/soap/driverCreator.rb +121 -0
- data/lib/wsdl/soap/element.rb +34 -0
- data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +74 -0
- data/lib/wsdl/soap/fault.rb +57 -0
- data/lib/wsdl/soap/header.rb +87 -0
- data/lib/wsdl/soap/headerfault.rb +57 -0
- data/lib/wsdl/soap/literalMappingRegistryCreator.rb +116 -0
- data/lib/wsdl/soap/mappingRegistryCreator.rb +59 -0
- data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +377 -0
- data/lib/wsdl/soap/methodDefCreator.rb +200 -0
- data/lib/wsdl/soap/operation.rb +113 -0
- data/lib/wsdl/soap/servantSkeltonCreator.rb +92 -0
- data/lib/wsdl/soap/servletStubCreator.rb +105 -0
- data/lib/wsdl/soap/standaloneServerStubCreator.rb +101 -0
- data/lib/wsdl/soap/wsdl2ruby.rb +226 -0
- data/lib/wsdl/types.rb +45 -0
- data/lib/wsdl/wsdl.rb +25 -0
- data/lib/wsdl/xmlSchema/all.rb +25 -0
- data/lib/wsdl/xmlSchema/annotation.rb +35 -0
- data/lib/wsdl/xmlSchema/any.rb +62 -0
- data/lib/wsdl/xmlSchema/anyAttribute.rb +49 -0
- data/lib/wsdl/xmlSchema/attribute.rb +105 -0
- data/lib/wsdl/xmlSchema/attributeGroup.rb +69 -0
- data/lib/wsdl/xmlSchema/choice.rb +59 -0
- data/lib/wsdl/xmlSchema/complexContent.rb +98 -0
- data/lib/wsdl/xmlSchema/complexExtension.rb +120 -0
- data/lib/wsdl/xmlSchema/complexRestriction.rb +105 -0
- data/lib/wsdl/xmlSchema/complexType.rb +194 -0
- data/lib/wsdl/xmlSchema/content.rb +96 -0
- data/lib/wsdl/xmlSchema/data.rb +117 -0
- data/lib/wsdl/xmlSchema/element.rb +154 -0
- data/lib/wsdl/xmlSchema/enumeration.rb +37 -0
- data/lib/wsdl/xmlSchema/fractiondigits.rb +38 -0
- data/lib/wsdl/xmlSchema/group.rb +101 -0
- data/lib/wsdl/xmlSchema/import.rb +54 -0
- data/lib/wsdl/xmlSchema/importHandler.rb +46 -0
- data/lib/wsdl/xmlSchema/importer.rb +103 -0
- data/lib/wsdl/xmlSchema/include.rb +49 -0
- data/lib/wsdl/xmlSchema/length.rb +38 -0
- data/lib/wsdl/xmlSchema/list.rb +49 -0
- data/lib/wsdl/xmlSchema/maxexclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/maxinclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/maxlength.rb +38 -0
- data/lib/wsdl/xmlSchema/minexclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/mininclusive.rb +38 -0
- data/lib/wsdl/xmlSchema/minlength.rb +38 -0
- data/lib/wsdl/xmlSchema/parser.rb +168 -0
- data/lib/wsdl/xmlSchema/pattern.rb +37 -0
- data/lib/wsdl/xmlSchema/ref.rb +34 -0
- data/lib/wsdl/xmlSchema/schema.rb +179 -0
- data/lib/wsdl/xmlSchema/sequence.rb +55 -0
- data/lib/wsdl/xmlSchema/simpleContent.rb +70 -0
- data/lib/wsdl/xmlSchema/simpleExtension.rb +63 -0
- data/lib/wsdl/xmlSchema/simpleRestriction.rb +133 -0
- data/lib/wsdl/xmlSchema/simpleType.rb +88 -0
- data/lib/wsdl/xmlSchema/totaldigits.rb +38 -0
- data/lib/wsdl/xmlSchema/union.rb +36 -0
- data/lib/wsdl/xmlSchema/unique.rb +35 -0
- data/lib/wsdl/xmlSchema/whitespace.rb +38 -0
- data/lib/wsdl/xmlSchema/xsd2ruby.rb +176 -0
- data/lib/xsd/charset.rb +190 -0
- data/lib/xsd/codegen/classdef.rb +209 -0
- data/lib/xsd/codegen/commentdef.rb +35 -0
- data/lib/xsd/codegen/gensupport.rb +277 -0
- data/lib/xsd/codegen/methoddef.rb +71 -0
- data/lib/xsd/codegen/moduledef.rb +209 -0
- data/lib/xsd/codegen.rb +13 -0
- data/lib/xsd/datatypes.rb +1466 -0
- data/lib/xsd/datatypes1999.rb +21 -0
- data/lib/xsd/iconvcharset.rb +34 -0
- data/lib/xsd/mapping.rb +69 -0
- data/lib/xsd/namedelements.rb +133 -0
- data/lib/xsd/ns.rb +183 -0
- data/lib/xsd/qname.rb +80 -0
- data/lib/xsd/xmlparser/libxmlparser.rb +116 -0
- data/lib/xsd/xmlparser/parser.rb +101 -0
- data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
- data/lib/xsd/xmlparser/xmlparser.rb +51 -0
- data/lib/xsd/xmlparser/xmlscanner.rb +150 -0
- data/lib/xsd/xmlparser.rb +77 -0
- data/test/16runner.rb +69 -0
- data/test/helper.rb +7 -0
- data/test/interopR2/README.txt +2 -0
- data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
- data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
- data/test/interopR2/base.rb +289 -0
- data/test/interopR2/client.NetRemoting.rb +18 -0
- data/test/interopR2/client.rb +1235 -0
- data/test/interopR2/client4S4C.rb +16 -0
- data/test/interopR2/client4S4C2.rb +15 -0
- data/test/interopR2/clientASP.NET.rb +18 -0
- data/test/interopR2/clientApacheAxis.rb +17 -0
- data/test/interopR2/clientApacheSOAP.rb +18 -0
- data/test/interopR2/clientBEAWebLogic.rb +18 -0
- data/test/interopR2/clientBase.rb +1968 -0
- data/test/interopR2/clientCapeConnect.rb +19 -0
- data/test/interopR2/clientDelphi.rb +20 -0
- data/test/interopR2/clientEasySoap.rb +15 -0
- data/test/interopR2/clientFrontier.rb +26 -0
- data/test/interopR2/clientGLUE.rb +33 -0
- data/test/interopR2/clientHP.rb +14 -0
- data/test/interopR2/clientJAX-RPC.rb +20 -0
- data/test/interopR2/clientJSOAP.rb +15 -0
- data/test/interopR2/clientKafkaXSLT.rb +16 -0
- data/test/interopR2/clientMSSOAPToolkit2.0.rb +18 -0
- data/test/interopR2/clientMSSOAPToolkit3.0.rb +18 -0
- data/test/interopR2/clientNuSOAP.rb +20 -0
- data/test/interopR2/clientNuWave.rb +16 -0
- data/test/interopR2/clientOpenLink.rb +16 -0
- data/test/interopR2/clientOracle.rb +16 -0
- data/test/interopR2/clientPEAR.rb +19 -0
- data/test/interopR2/clientPhalanx.rb +19 -0
- data/test/interopR2/clientSIMACE.rb +19 -0
- data/test/interopR2/clientSOAP4R.rb +19 -0
- data/test/interopR2/clientSOAP__Lite.rb +15 -0
- data/test/interopR2/clientSQLData.rb +19 -0
- data/test/interopR2/clientSilverStream.rb +18 -0
- data/test/interopR2/clientSpray2001.rb +18 -0
- data/test/interopR2/clientSun.rb +20 -0
- data/test/interopR2/clientVWOpentalkSoap.rb +20 -0
- data/test/interopR2/clientWASP.rb +20 -0
- data/test/interopR2/clientWASPC.rb +19 -0
- data/test/interopR2/clientWebMethods.rb +16 -0
- data/test/interopR2/clientWhiteMesa.rb +29 -0
- data/test/interopR2/clientWingfoot.rb +16 -0
- data/test/interopR2/clientXMLBus.rb +20 -0
- data/test/interopR2/clientXMLRPC-EPI.rb +18 -0
- data/test/interopR2/clientXSOAP.rb +15 -0
- data/test/interopR2/clientZSI.rb +20 -0
- data/test/interopR2/clienteSOAP.rb +19 -0
- data/test/interopR2/clientgSOAP.rb +19 -0
- data/test/interopR2/clientkSOAP.rb +18 -0
- data/test/interopR2/iSimonReg.rb +113 -0
- data/test/interopR2/interopResultBase.rb +115 -0
- data/test/interopR2/interopService.rb +248 -0
- data/test/interopR2/rwikiInteropService.rb +106 -0
- data/test/interopR2/server.cgi +271 -0
- data/test/interopR2/server.rb +276 -0
- data/test/interopR2/simonReg.rb +124 -0
- data/test/interopR2/test.sh +49 -0
- data/test/interopR4/client.rb +113 -0
- data/test/runner.rb +8 -0
- data/test/sm11/classDef.rb +157 -0
- data/test/sm11/client.rb +543 -0
- data/test/sm11/driver.rb +184 -0
- data/test/sm11/servant.rb +1068 -0
- data/test/sm11/server.rb +26 -0
- data/test/soap/asp.net/hello.wsdl +96 -0
- data/test/soap/asp.net/test_aspdotnet.rb +124 -0
- data/test/soap/auth/htdigest +2 -0
- data/test/soap/auth/htpasswd +2 -0
- data/test/soap/auth/test_basic.rb +118 -0
- data/test/soap/auth/test_digest.rb +119 -0
- data/test/soap/calc/calc.rb +18 -0
- data/test/soap/calc/calc2.rb +30 -0
- data/test/soap/calc/server.cgi +16 -0
- data/test/soap/calc/server.rb +18 -0
- data/test/soap/calc/server2.rb +21 -0
- data/test/soap/calc/test_calc.rb +53 -0
- data/test/soap/calc/test_calc2.rb +57 -0
- data/test/soap/calc/test_calc_cgi.rb +72 -0
- data/test/soap/case/test_mapping.rb +58 -0
- data/test/soap/fault/test_customfault.rb +61 -0
- data/test/soap/fault/test_fault.rb +47 -0
- data/test/soap/fault/test_soaparray.rb +36 -0
- data/test/soap/filter/test_filter.rb +147 -0
- data/test/soap/header/server.cgi +121 -0
- data/test/soap/header/test_authheader.rb +241 -0
- data/test/soap/header/test_authheader_cgi.rb +122 -0
- data/test/soap/header/test_simplehandler.rb +117 -0
- data/test/soap/helloworld/hw_s.rb +17 -0
- data/test/soap/helloworld/test_helloworld.rb +45 -0
- data/test/soap/htpasswd +2 -0
- data/test/soap/literalArrayMapping/amazonEc.rb +4779 -0
- data/test/soap/literalArrayMapping/amazonEcDriver.rb +173 -0
- data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
- data/test/soap/literalArrayMapping/test_definedarray.rb +35 -0
- data/test/soap/marshal/marshaltestlib.rb +498 -0
- data/test/soap/marshal/test_digraph.rb +57 -0
- data/test/soap/marshal/test_marshal.rb +28 -0
- data/test/soap/marshal/test_struct.rb +48 -0
- data/test/soap/ssl/README +1 -0
- data/test/soap/ssl/ca.cert +23 -0
- data/test/soap/ssl/client.cert +19 -0
- data/test/soap/ssl/client.key +15 -0
- data/test/soap/ssl/server.cert +19 -0
- data/test/soap/ssl/server.key +15 -0
- data/test/soap/ssl/sslsvr.rb +59 -0
- data/test/soap/ssl/subca.cert +21 -0
- data/test/soap/ssl/test_ssl.rb +236 -0
- data/test/soap/struct/test_struct.rb +71 -0
- data/test/soap/styleuse/client.rb +21 -0
- data/test/soap/styleuse/server.rb +87 -0
- data/test/soap/swa/test_file.rb +76 -0
- data/test/soap/test_basetype.rb +1091 -0
- data/test/soap/test_cookie.rb +113 -0
- data/test/soap/test_custom_ns.rb +106 -0
- data/test/soap/test_custommap.rb +111 -0
- data/test/soap/test_empty.rb +106 -0
- data/test/soap/test_envelopenamespace.rb +86 -0
- data/test/soap/test_extraattr.rb +55 -0
- data/test/soap/test_generator.rb +32 -0
- data/test/soap/test_httpconfigloader.rb +72 -0
- data/test/soap/test_mapping.rb +132 -0
- data/test/soap/test_nestedexception.rb +71 -0
- data/test/soap/test_nil.rb +71 -0
- data/test/soap/test_no_indent.rb +89 -0
- data/test/soap/test_property.rb +429 -0
- data/test/soap/test_response_as_xml.rb +118 -0
- data/test/soap/test_soapelement.rb +139 -0
- data/test/soap/test_streamhandler.rb +271 -0
- data/test/soap/test_styleuse.rb +327 -0
- data/test/soap/wsdlDriver/README.txt +2 -0
- data/test/soap/wsdlDriver/calc.wsdl +126 -0
- data/test/soap/wsdlDriver/document.wsdl +54 -0
- data/test/soap/wsdlDriver/echo_version.rb +30 -0
- data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
- data/test/soap/wsdlDriver/test_calc.rb +72 -0
- data/test/soap/wsdlDriver/test_document.rb +72 -0
- data/test/soap/wsdlDriver/test_simpletype.rb +82 -0
- data/test/testutil.rb +55 -0
- data/test/wsdl/abstract/abstract.wsdl +176 -0
- data/test/wsdl/abstract/test_abstract.rb +160 -0
- data/test/wsdl/anonymous/expectedClassDef.rb +129 -0
- data/test/wsdl/anonymous/expectedDriver.rb +60 -0
- data/test/wsdl/anonymous/expectedMappingRegistry.rb +177 -0
- data/test/wsdl/anonymous/lp.wsdl +147 -0
- data/test/wsdl/anonymous/test_anonymous.rb +131 -0
- data/test/wsdl/any/any.wsdl +114 -0
- data/test/wsdl/any/expectedDriver.rb +69 -0
- data/test/wsdl/any/expectedEcho.rb +58 -0
- data/test/wsdl/any/expectedMappingRegistry.rb +64 -0
- data/test/wsdl/any/expectedService.rb +70 -0
- data/test/wsdl/any/test_any.rb +194 -0
- data/test/wsdl/axisArray/axisArray.wsdl +87 -0
- data/test/wsdl/axisArray/test_axisarray.rb +125 -0
- data/test/wsdl/choice/choice.wsdl +167 -0
- data/test/wsdl/choice/test_choice.rb +311 -0
- data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
- data/test/wsdl/complexcontent/test_echo.rb +91 -0
- data/test/wsdl/datetime/DatetimeService.rb +45 -0
- data/test/wsdl/datetime/datetime.rb +0 -0
- data/test/wsdl/datetime/datetime.wsdl +45 -0
- data/test/wsdl/datetime/datetimeServant.rb +23 -0
- data/test/wsdl/datetime/test_datetime.rb +88 -0
- data/test/wsdl/document/array/double.wsdl +161 -0
- data/test/wsdl/document/array/test_array.rb +202 -0
- data/test/wsdl/document/document.wsdl +76 -0
- data/test/wsdl/document/number.wsdl +54 -0
- data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
- data/test/wsdl/document/test_nosoapaction.rb +103 -0
- data/test/wsdl/document/test_number.rb +93 -0
- data/test/wsdl/document/test_rpc.rb +356 -0
- data/test/wsdl/emptycomplextype.wsdl +31 -0
- data/test/wsdl/fault/fault.wsdl +79 -0
- data/test/wsdl/fault/multifault.wsdl +96 -0
- data/test/wsdl/fault/test_fault.rb +120 -0
- data/test/wsdl/fault/test_multifault.rb +135 -0
- data/test/wsdl/group/expectedClassdef.rb +59 -0
- data/test/wsdl/group/expectedDriver.rb +52 -0
- data/test/wsdl/group/expectedMappingRegistry.rb +68 -0
- data/test/wsdl/group/group.wsdl +88 -0
- data/test/wsdl/group/test_rpc.rb +146 -0
- data/test/wsdl/list/list.wsdl +93 -0
- data/test/wsdl/list/test_list.rb +125 -0
- data/test/wsdl/map/map.wsdl +92 -0
- data/test/wsdl/map/map.xml +43 -0
- data/test/wsdl/map/test_map.rb +100 -0
- data/test/wsdl/marshal/person.wsdl +21 -0
- data/test/wsdl/marshal/person_org.rb +24 -0
- data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
- data/test/wsdl/multiplefault.wsdl +75 -0
- data/test/wsdl/oneway/oneway.wsdl +36 -0
- data/test/wsdl/oneway/test_oneway.rb +109 -0
- data/test/wsdl/overload/expectedClient.rb +38 -0
- data/test/wsdl/overload/expectedDriver.rb +62 -0
- data/test/wsdl/overload/expectedServant.rb +36 -0
- data/test/wsdl/overload/overload.wsdl +70 -0
- data/test/wsdl/overload/test_overload.rb +132 -0
- data/test/wsdl/qualified/lp.wsdl +47 -0
- data/test/wsdl/qualified/lp.xsd +26 -0
- data/test/wsdl/qualified/np.wsdl +51 -0
- data/test/wsdl/qualified/test_qualified.rb +138 -0
- data/test/wsdl/qualified/test_unqualified.rb +139 -0
- data/test/wsdl/raa/RAAService.rb +126 -0
- data/test/wsdl/raa/README.txt +8 -0
- data/test/wsdl/raa/expectedClassDef.rb +101 -0
- data/test/wsdl/raa/expectedDriver.rb +97 -0
- data/test/wsdl/raa/expectedMappingRegistry.rb +122 -0
- data/test/wsdl/raa/raa.wsdl +264 -0
- data/test/wsdl/raa/test_raa.rb +127 -0
- data/test/wsdl/ref/expectedDriver.rb +52 -0
- data/test/wsdl/ref/expectedProduct.rb +244 -0
- data/test/wsdl/ref/product.wsdl +147 -0
- data/test/wsdl/ref/test_ref.rb +269 -0
- data/test/wsdl/rpc/rpc.wsdl +109 -0
- data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
- data/test/wsdl/rpc/test_rpc.rb +177 -0
- data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
- data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
- data/test/wsdl/simplecontent/test_simplecontent.rb +103 -0
- data/test/wsdl/simpletype/rpc/expectedClient.rb +35 -0
- data/test/wsdl/simpletype/rpc/expectedDriver.rb +59 -0
- data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +37 -0
- data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +58 -0
- data/test/wsdl/simpletype/rpc/expectedServant.rb +33 -0
- data/test/wsdl/simpletype/rpc/expectedService.rb +56 -0
- data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
- data/test/wsdl/simpletype/rpc/test_rpc.rb +53 -0
- data/test/wsdl/simpletype/simpletype.wsdl +114 -0
- data/test/wsdl/simpletype/test_simpletype.rb +93 -0
- data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
- data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
- data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +22 -0
- data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +35 -0
- data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +59 -0
- data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +37 -0
- data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +33 -0
- data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +49 -0
- data/test/wsdl/soap/wsdl2ruby/expectedService.rb +56 -0
- data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
- data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +38 -0
- data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
- data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
- data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
- data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +84 -0
- data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +103 -0
- data/test/wsdl/soaptype/soaptype.wsdl +61 -0
- data/test/wsdl/soaptype/test_soaptype.rb +179 -0
- data/test/wsdl/test_emptycomplextype.rb +22 -0
- data/test/wsdl/test_fault.rb +51 -0
- data/test/wsdl/test_multiplefault.rb +42 -0
- data/test/xsd/codegen/test_classdef.rb +245 -0
- data/test/xsd/noencoding.xml +4 -0
- data/test/xsd/test_noencoding.rb +33 -0
- data/test/xsd/test_ns.rb +42 -0
- data/test/xsd/test_xmlschemaparser.rb +23 -0
- data/test/xsd/test_xsd.rb +1639 -0
- data/test/xsd/xmllang.xml +43 -0
- data/test/xsd/xmlschema.xml +12 -0
- data/test/xsd/xsd2ruby/expected_mysample.rb +66 -0
- data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +12 -0
- data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +52 -0
- data/test/xsd/xsd2ruby/section.xsd +49 -0
- data/test/xsd/xsd2ruby/test_xsd2ruby.rb +91 -0
- metadata +489 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - WSDL XML Instance parser library.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'xsd/qname'
|
|
11
|
+
require 'xsd/ns'
|
|
12
|
+
require 'xsd/charset'
|
|
13
|
+
require 'xsd/datatypes'
|
|
14
|
+
require 'xsd/xmlparser'
|
|
15
|
+
require 'wsdl/xmlSchema/data'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
module WSDL
|
|
19
|
+
module XMLSchema
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class Parser
|
|
23
|
+
include XSD
|
|
24
|
+
|
|
25
|
+
class ParseError < Error; end
|
|
26
|
+
class FormatDecodeError < ParseError; end
|
|
27
|
+
class UnknownElementError < FormatDecodeError; end
|
|
28
|
+
class UnknownAttributeError < FormatDecodeError; end
|
|
29
|
+
class UnexpectedElementError < FormatDecodeError; end
|
|
30
|
+
class ElementConstraintError < FormatDecodeError; end
|
|
31
|
+
class AttributeConstraintError < FormatDecodeError; end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
class ParseFrame
|
|
36
|
+
attr_reader :ns
|
|
37
|
+
attr_reader :name
|
|
38
|
+
attr_accessor :node
|
|
39
|
+
|
|
40
|
+
private
|
|
41
|
+
|
|
42
|
+
def initialize(ns, name, node)
|
|
43
|
+
@ns = ns
|
|
44
|
+
@name = name
|
|
45
|
+
@node = node
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
public
|
|
50
|
+
|
|
51
|
+
def initialize(opt = {})
|
|
52
|
+
@parser = XSD::XMLParser.create_parser(self, opt)
|
|
53
|
+
@parsestack = nil
|
|
54
|
+
@lastnode = nil
|
|
55
|
+
@ignored = {}
|
|
56
|
+
@location = opt[:location]
|
|
57
|
+
@originalroot = opt[:originalroot]
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def parse(string_or_readable)
|
|
61
|
+
@parsestack = []
|
|
62
|
+
@lastnode = nil
|
|
63
|
+
@textbuf = ''
|
|
64
|
+
@parser.do_parse(string_or_readable)
|
|
65
|
+
@lastnode
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def charset
|
|
69
|
+
@parser.charset
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def start_element(name, attrs)
|
|
73
|
+
lastframe = @parsestack.last
|
|
74
|
+
ns = parent = nil
|
|
75
|
+
if lastframe
|
|
76
|
+
ns = lastframe.ns
|
|
77
|
+
parent = lastframe.node
|
|
78
|
+
else
|
|
79
|
+
ns = XSD::NS.new
|
|
80
|
+
parent = nil
|
|
81
|
+
end
|
|
82
|
+
# ns might be the same
|
|
83
|
+
ns, attrs = XSD::XMLParser.filter_ns(ns, attrs)
|
|
84
|
+
node = decode_tag(ns, name, attrs, parent)
|
|
85
|
+
@parsestack << ParseFrame.new(ns, name, node)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def characters(text)
|
|
89
|
+
lastframe = @parsestack.last
|
|
90
|
+
if lastframe
|
|
91
|
+
# Need not to be cloned because character does not have attr.
|
|
92
|
+
ns = lastframe.ns
|
|
93
|
+
decode_text(ns, text)
|
|
94
|
+
else
|
|
95
|
+
p text if $DEBUG
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def end_element(name)
|
|
100
|
+
lastframe = @parsestack.pop
|
|
101
|
+
unless name == lastframe.name
|
|
102
|
+
raise UnexpectedElementError.new("closing element name '#{name}' does not match with opening element '#{lastframe.name}'")
|
|
103
|
+
end
|
|
104
|
+
decode_tag_end(lastframe.ns, lastframe.node)
|
|
105
|
+
@lastnode = lastframe.node
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
private
|
|
109
|
+
|
|
110
|
+
def decode_tag(ns, name, attrs, parent)
|
|
111
|
+
o = nil
|
|
112
|
+
elename = ns.parse(name)
|
|
113
|
+
if !parent
|
|
114
|
+
if elename == SchemaName
|
|
115
|
+
o = Schema.parse_element(elename)
|
|
116
|
+
o.location = @location
|
|
117
|
+
else
|
|
118
|
+
raise UnknownElementError.new("unknown element: #{elename}")
|
|
119
|
+
end
|
|
120
|
+
o.root = @originalroot if @originalroot # o.root = o otherwise
|
|
121
|
+
else
|
|
122
|
+
if elename == AnnotationName
|
|
123
|
+
# only the first annotation element is allowed for each element.
|
|
124
|
+
o = Annotation.new
|
|
125
|
+
else
|
|
126
|
+
o = parent.parse_element(elename)
|
|
127
|
+
end
|
|
128
|
+
if o.nil?
|
|
129
|
+
unless @ignored.key?(elename)
|
|
130
|
+
warn("ignored element: #{elename} of #{parent.class}")
|
|
131
|
+
@ignored[elename] = elename
|
|
132
|
+
end
|
|
133
|
+
o = Documentation.new # which accepts any element.
|
|
134
|
+
end
|
|
135
|
+
# node could be a pseudo element. pseudo element has its own parent.
|
|
136
|
+
o.root = parent.root
|
|
137
|
+
o.parent = parent if o.parent.nil?
|
|
138
|
+
end
|
|
139
|
+
attrs.each do |key, value|
|
|
140
|
+
attr_ele = ns.parse(key, true)
|
|
141
|
+
value_ele = ns.parse(value, false)
|
|
142
|
+
value_ele.source = value # for recovery; value may not be a QName
|
|
143
|
+
if attr_ele == IdAttrName
|
|
144
|
+
o.id = value_ele
|
|
145
|
+
else
|
|
146
|
+
if o.parse_attr(attr_ele, value_ele).nil?
|
|
147
|
+
unless @ignored.key?(attr_ele)
|
|
148
|
+
warn("ignored attr: #{attr_ele}")
|
|
149
|
+
@ignored[attr_ele] = attr_ele
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
o
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def decode_tag_end(ns, node)
|
|
158
|
+
node.parse_epilogue
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def decode_text(ns, text)
|
|
162
|
+
@textbuf << text
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
end
|
|
168
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - XMLSchema pattern definition for WSDL.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'wsdl/info'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module WSDL
|
|
14
|
+
module XMLSchema
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Pattern < Info
|
|
18
|
+
def initialize
|
|
19
|
+
super
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def parse_element(element)
|
|
23
|
+
nil
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def parse_attr(attr, value)
|
|
27
|
+
case attr
|
|
28
|
+
when ValueAttrName
|
|
29
|
+
parent.pattern = /\A#{value.source}\z/n
|
|
30
|
+
value.source
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - XMLSchema ref support.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
module WSDL
|
|
11
|
+
module XMLSchema
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module Ref
|
|
15
|
+
def self.included(klass)
|
|
16
|
+
klass.extend(RefClassSupport)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
module RefClassSupport
|
|
20
|
+
def attr_reader_ref(symbol)
|
|
21
|
+
name = symbol.to_s
|
|
22
|
+
define_method(name) {
|
|
23
|
+
instance_variable_get("@#{name}") ||
|
|
24
|
+
(refelement ? refelement.__send__(name) : nil)
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
attr_accessor :ref
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - XMLSchema schema definition for WSDL.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'wsdl/info'
|
|
11
|
+
require 'xsd/namedelements'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module WSDL
|
|
15
|
+
module XMLSchema
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Schema < Info
|
|
19
|
+
attr_reader :targetnamespace # required
|
|
20
|
+
attr_reader :complextypes
|
|
21
|
+
attr_reader :simpletypes
|
|
22
|
+
attr_reader :elements
|
|
23
|
+
attr_reader :attributes
|
|
24
|
+
attr_reader :modelgroups
|
|
25
|
+
attr_reader :attributegroups
|
|
26
|
+
attr_reader :imports
|
|
27
|
+
attr_accessor :attributeformdefault
|
|
28
|
+
attr_accessor :elementformdefault
|
|
29
|
+
attr_accessor :version
|
|
30
|
+
|
|
31
|
+
attr_reader :importedschema
|
|
32
|
+
|
|
33
|
+
def initialize
|
|
34
|
+
super
|
|
35
|
+
@targetnamespace = nil
|
|
36
|
+
@complextypes = XSD::NamedElements.new
|
|
37
|
+
@simpletypes = XSD::NamedElements.new
|
|
38
|
+
@elements = XSD::NamedElements.new
|
|
39
|
+
@attributes = XSD::NamedElements.new
|
|
40
|
+
@modelgroups = XSD::NamedElements.new
|
|
41
|
+
@attributegroups = XSD::NamedElements.new
|
|
42
|
+
@imports = []
|
|
43
|
+
@attributeformdefault = "unqualified"
|
|
44
|
+
@elementformdefault = "unqualified"
|
|
45
|
+
@importedschema = {}
|
|
46
|
+
@location = nil
|
|
47
|
+
@root = self
|
|
48
|
+
@version = nil
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def location
|
|
52
|
+
@location || (root.nil? ? nil : root.location)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def location=(location)
|
|
56
|
+
@location = location
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def parse_element(element)
|
|
60
|
+
case element
|
|
61
|
+
when ImportName
|
|
62
|
+
o = Import.new
|
|
63
|
+
@imports << o
|
|
64
|
+
o
|
|
65
|
+
when IncludeName
|
|
66
|
+
o = Include.new
|
|
67
|
+
@imports << o
|
|
68
|
+
o
|
|
69
|
+
when ComplexTypeName
|
|
70
|
+
o = ComplexType.new
|
|
71
|
+
@complextypes << o
|
|
72
|
+
o
|
|
73
|
+
when SimpleTypeName
|
|
74
|
+
o = SimpleType.new
|
|
75
|
+
@simpletypes << o
|
|
76
|
+
o
|
|
77
|
+
when ElementName
|
|
78
|
+
o = Element.new
|
|
79
|
+
o.form = 'qualified' # root element is qualified
|
|
80
|
+
@elements << o
|
|
81
|
+
o
|
|
82
|
+
when AttributeName
|
|
83
|
+
o = Attribute.new
|
|
84
|
+
@attributes << o
|
|
85
|
+
o
|
|
86
|
+
when GroupName
|
|
87
|
+
o = Group.new
|
|
88
|
+
@modelgroups << o
|
|
89
|
+
o
|
|
90
|
+
when AttributeGroupName
|
|
91
|
+
o = AttributeGroup.new
|
|
92
|
+
@attributegroups << o
|
|
93
|
+
o
|
|
94
|
+
else
|
|
95
|
+
nil
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def parse_attr(attr, value)
|
|
100
|
+
case attr
|
|
101
|
+
when TargetNamespaceAttrName
|
|
102
|
+
@targetnamespace = value.source
|
|
103
|
+
when AttributeFormDefaultAttrName
|
|
104
|
+
@attributeformdefault = value.source
|
|
105
|
+
when ElementFormDefaultAttrName
|
|
106
|
+
@elementformdefault = value.source
|
|
107
|
+
when VersionAttrName
|
|
108
|
+
@version = value.source
|
|
109
|
+
else
|
|
110
|
+
nil
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def collect_attributes
|
|
115
|
+
result = XSD::NamedElements.new
|
|
116
|
+
result.concat(@attributes)
|
|
117
|
+
@imports.each do |import|
|
|
118
|
+
result.concat(import.content.collect_attributes) if import.content
|
|
119
|
+
end
|
|
120
|
+
result
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def collect_modelgroups
|
|
124
|
+
result = XSD::NamedElements.new
|
|
125
|
+
result.concat(@modelgroups)
|
|
126
|
+
@imports.each do |import|
|
|
127
|
+
result.concat(import.content.collect_modelgroups) if import.content
|
|
128
|
+
end
|
|
129
|
+
result
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def collect_attributegroups
|
|
133
|
+
result = XSD::NamedElements.new
|
|
134
|
+
result.concat(@attributegroups)
|
|
135
|
+
@imports.each do |import|
|
|
136
|
+
result.concat(import.content.collect_attributegroups) if import.content
|
|
137
|
+
end
|
|
138
|
+
result
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def collect_elements
|
|
142
|
+
result = XSD::NamedElements.new
|
|
143
|
+
result.concat(@elements)
|
|
144
|
+
@imports.each do |import|
|
|
145
|
+
result.concat(import.content.collect_elements) if import.content
|
|
146
|
+
end
|
|
147
|
+
result
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def collect_complextypes
|
|
151
|
+
result = XSD::NamedElements.new
|
|
152
|
+
result.concat(@complextypes)
|
|
153
|
+
@imports.each do |import|
|
|
154
|
+
result.concat(import.content.collect_complextypes) if import.content
|
|
155
|
+
end
|
|
156
|
+
result
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def collect_simpletypes
|
|
160
|
+
result = XSD::NamedElements.new
|
|
161
|
+
result.concat(@simpletypes)
|
|
162
|
+
@imports.each do |import|
|
|
163
|
+
result.concat(import.content.collect_simpletypes) if import.content
|
|
164
|
+
end
|
|
165
|
+
result
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def self.parse_element(element)
|
|
169
|
+
if element == SchemaName
|
|
170
|
+
Schema.new
|
|
171
|
+
else
|
|
172
|
+
nil
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
end
|
|
179
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - XMLSchema complexType definition for WSDL.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'wsdl/xmlSchema/content'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module WSDL
|
|
14
|
+
module XMLSchema
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Sequence < Content
|
|
18
|
+
attr_reader :any
|
|
19
|
+
|
|
20
|
+
def initialize
|
|
21
|
+
super()
|
|
22
|
+
@any = nil
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def have_any?
|
|
26
|
+
!!@any
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def parse_element(element)
|
|
30
|
+
case element
|
|
31
|
+
when SequenceName
|
|
32
|
+
o = Sequence.new
|
|
33
|
+
@elements << o
|
|
34
|
+
o
|
|
35
|
+
when ChoiceName
|
|
36
|
+
o = Choice.new
|
|
37
|
+
@elements << o
|
|
38
|
+
o
|
|
39
|
+
when GroupName
|
|
40
|
+
o = Group.new
|
|
41
|
+
@elements << o
|
|
42
|
+
o
|
|
43
|
+
when AnyName
|
|
44
|
+
@any = Any.new
|
|
45
|
+
@elements << @any
|
|
46
|
+
@any
|
|
47
|
+
else
|
|
48
|
+
super(element)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - XMLSchema simpleContent definition for WSDL.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'wsdl/info'
|
|
11
|
+
require 'xsd/namedelements'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module WSDL
|
|
15
|
+
module XMLSchema
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class SimpleContent < Info
|
|
19
|
+
attr_reader :restriction
|
|
20
|
+
attr_reader :extension
|
|
21
|
+
|
|
22
|
+
def check_lexical_format(value)
|
|
23
|
+
check(value)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def initialize
|
|
27
|
+
super
|
|
28
|
+
@restriction = nil
|
|
29
|
+
@extension = nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def base
|
|
33
|
+
content.base
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def attributes
|
|
37
|
+
content.attributes
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def targetnamespace
|
|
41
|
+
parent.targetnamespace
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def parse_element(element)
|
|
45
|
+
case element
|
|
46
|
+
when RestrictionName
|
|
47
|
+
@restriction = SimpleRestriction.new
|
|
48
|
+
@restriction
|
|
49
|
+
when ExtensionName
|
|
50
|
+
@extension = SimpleExtension.new
|
|
51
|
+
@extension
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
|
|
57
|
+
def content
|
|
58
|
+
@restriction || @extension
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def check(value)
|
|
62
|
+
unless content.valid?(value)
|
|
63
|
+
raise XSD::ValueSpaceError.new("#{@name}: cannot accept '#{value}'")
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# encoding: ASCII-8BIT
|
|
2
|
+
# WSDL4R - XMLSchema simpleType extension definition for WSDL.
|
|
3
|
+
# Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
4
|
+
|
|
5
|
+
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
6
|
+
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
7
|
+
# either the dual license version in 2003, or any later version.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'wsdl/info'
|
|
11
|
+
require 'xsd/namedelements'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module WSDL
|
|
15
|
+
module XMLSchema
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class SimpleExtension < Info
|
|
19
|
+
attr_reader :base
|
|
20
|
+
attr_reader :attributes
|
|
21
|
+
|
|
22
|
+
def initialize
|
|
23
|
+
super
|
|
24
|
+
@base = nil
|
|
25
|
+
@attributes = XSD::NamedElements.new
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def targetnamespace
|
|
29
|
+
parent.targetnamespace
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def valid?(value)
|
|
33
|
+
true
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def parse_element(element)
|
|
37
|
+
case element
|
|
38
|
+
when AttributeName
|
|
39
|
+
o = Attribute.new
|
|
40
|
+
@attributes << o
|
|
41
|
+
o
|
|
42
|
+
when AttributeGroupName
|
|
43
|
+
o = AttributeGroup.new
|
|
44
|
+
@attributes << o
|
|
45
|
+
o
|
|
46
|
+
when AnyAttributeName
|
|
47
|
+
o = AnyAttribute.new
|
|
48
|
+
@attributes << o
|
|
49
|
+
o
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def parse_attr(attr, value)
|
|
54
|
+
case attr
|
|
55
|
+
when BaseAttrName
|
|
56
|
+
@base = value
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
end
|