wsdl-mapper 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (617) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +21 -0
  3. data/.gitignore +13 -0
  4. data/.rubocop.yml +1156 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/.yardopts +3 -0
  8. data/Gemfile +4 -0
  9. data/Guardfile +49 -0
  10. data/LICENSE +21 -0
  11. data/README.md +76 -0
  12. data/Rakefile +18 -0
  13. data/bin/wsdl-mapper +7 -0
  14. data/doc/WsdlMapper.html +129 -0
  15. data/doc/WsdlMapper/Cli.html +124 -0
  16. data/doc/WsdlMapper/Cli/Cli.html +132 -0
  17. data/doc/WsdlMapper/Cli/Generate.html +482 -0
  18. data/doc/WsdlMapper/CoreExt.html +115 -0
  19. data/doc/WsdlMapper/CoreExt/TimeDuration.html +1476 -0
  20. data/doc/WsdlMapper/D10rGeneration.html +117 -0
  21. data/doc/WsdlMapper/D10rGeneration/D10rGenerator.html +473 -0
  22. data/doc/WsdlMapper/D10rGeneration/Facade.html +208 -0
  23. data/doc/WsdlMapper/Deserializers.html +119 -0
  24. data/doc/WsdlMapper/Deserializers/AttrMapping.html +617 -0
  25. data/doc/WsdlMapper/Deserializers/ClassMapping.html +1157 -0
  26. data/doc/WsdlMapper/Deserializers/ClassMapping/Delegate.html +303 -0
  27. data/doc/WsdlMapper/Deserializers/Deserializer.html +760 -0
  28. data/doc/WsdlMapper/Deserializers/ElementDirectory.html +554 -0
  29. data/doc/WsdlMapper/Deserializers/ElementDirectory/ElementItem.html +541 -0
  30. data/doc/WsdlMapper/Deserializers/Errors.html +115 -0
  31. data/doc/WsdlMapper/Deserializers/Errors/UnknownAttributeError.html +147 -0
  32. data/doc/WsdlMapper/Deserializers/Errors/UnknownElementError.html +147 -0
  33. data/doc/WsdlMapper/Deserializers/Errors/UnknownError.html +415 -0
  34. data/doc/WsdlMapper/Deserializers/Errors/UnknownTypeError.html +147 -0
  35. data/doc/WsdlMapper/Deserializers/Frame.html +1038 -0
  36. data/doc/WsdlMapper/Deserializers/LazyLoadingDeserializer.html +287 -0
  37. data/doc/WsdlMapper/Deserializers/PropMapping.html +365 -0
  38. data/doc/WsdlMapper/Deserializers/SaxDocument.html +773 -0
  39. data/doc/WsdlMapper/Deserializers/SoapArrayMapping.html +452 -0
  40. data/doc/WsdlMapper/Deserializers/TypeDirectory.html +386 -0
  41. data/doc/WsdlMapper/Dom.html +123 -0
  42. data/doc/WsdlMapper/Dom/Attribute.html +1156 -0
  43. data/doc/WsdlMapper/Dom/Attribute/Ref.html +222 -0
  44. data/doc/WsdlMapper/Dom/Bounds.html +472 -0
  45. data/doc/WsdlMapper/Dom/Builder.html +696 -0
  46. data/doc/WsdlMapper/Dom/BuiltinType.html +246 -0
  47. data/doc/WsdlMapper/Dom/ComplexType.html +1448 -0
  48. data/doc/WsdlMapper/Dom/Directory.html +735 -0
  49. data/doc/WsdlMapper/Dom/Documentation.html +428 -0
  50. data/doc/WsdlMapper/Dom/Element.html +486 -0
  51. data/doc/WsdlMapper/Dom/EnumerationValue.html +213 -0
  52. data/doc/WsdlMapper/Dom/Name.html +908 -0
  53. data/doc/WsdlMapper/Dom/Namespaces.html +618 -0
  54. data/doc/WsdlMapper/Dom/Property.html +1372 -0
  55. data/doc/WsdlMapper/Dom/Property/Ref.html +724 -0
  56. data/doc/WsdlMapper/Dom/Schema.html +1480 -0
  57. data/doc/WsdlMapper/Dom/ShallowSchema.html +499 -0
  58. data/doc/WsdlMapper/Dom/SimpleType.html +1254 -0
  59. data/doc/WsdlMapper/Dom/SoapEncodingType.html +177 -0
  60. data/doc/WsdlMapper/Dom/TypeBase.html +605 -0
  61. data/doc/WsdlMapper/Dom/Validator.html +334 -0
  62. data/doc/WsdlMapper/Dom/Validator/Error.html +352 -0
  63. data/doc/WsdlMapper/DomGeneration.html +117 -0
  64. data/doc/WsdlMapper/DomGeneration/DefaultClassGenerator.html +251 -0
  65. data/doc/WsdlMapper/DomGeneration/DefaultCtrGenerator.html +404 -0
  66. data/doc/WsdlMapper/DomGeneration/DefaultEnumGenerator.html +321 -0
  67. data/doc/WsdlMapper/DomGeneration/DefaultValueDefaultsGenerator.html +368 -0
  68. data/doc/WsdlMapper/DomGeneration/DefaultValueGenerator.html +811 -0
  69. data/doc/WsdlMapper/DomGeneration/DefaultWrappingTypeGenerator.html +249 -0
  70. data/doc/WsdlMapper/DomGeneration/DocumentedClassGenerator.html +165 -0
  71. data/doc/WsdlMapper/DomGeneration/DocumentedCtrGenerator.html +336 -0
  72. data/doc/WsdlMapper/DomGeneration/DocumentedEnumGenerator.html +171 -0
  73. data/doc/WsdlMapper/DomGeneration/DocumentedSchemaGenerator.html +327 -0
  74. data/doc/WsdlMapper/DomGeneration/DocumentedWrappingTypeGenerator.html +165 -0
  75. data/doc/WsdlMapper/DomGeneration/Facade.html +260 -0
  76. data/doc/WsdlMapper/DomGeneration/GeneratorBase.html +234 -0
  77. data/doc/WsdlMapper/DomGeneration/NullCtrGenerator.html +356 -0
  78. data/doc/WsdlMapper/DomGeneration/SchemaGenerator.html +1407 -0
  79. data/doc/WsdlMapper/DomParsing.html +119 -0
  80. data/doc/WsdlMapper/DomParsing/AbstractResolver.html +228 -0
  81. data/doc/WsdlMapper/DomParsing/AnnotationParser.html +331 -0
  82. data/doc/WsdlMapper/DomParsing/AttributeParser.html +395 -0
  83. data/doc/WsdlMapper/DomParsing/ComplexTypeParser.html +1267 -0
  84. data/doc/WsdlMapper/DomParsing/DefaultResolver.html +278 -0
  85. data/doc/WsdlMapper/DomParsing/ElementParser.html +303 -0
  86. data/doc/WsdlMapper/DomParsing/ImportParser.html +341 -0
  87. data/doc/WsdlMapper/DomParsing/Linker.html +292 -0
  88. data/doc/WsdlMapper/DomParsing/LocalFileResolver.html +270 -0
  89. data/doc/WsdlMapper/DomParsing/Parser.html +1009 -0
  90. data/doc/WsdlMapper/DomParsing/Parser/InvalidNsException.html +131 -0
  91. data/doc/WsdlMapper/DomParsing/Parser/InvalidRootException.html +131 -0
  92. data/doc/WsdlMapper/DomParsing/Parser/ParserException.html +127 -0
  93. data/doc/WsdlMapper/DomParsing/ParserBase.html +190 -0
  94. data/doc/WsdlMapper/DomParsing/SimpleTypeParser.html +275 -0
  95. data/doc/WsdlMapper/DomParsing/UrlResolver.html +199 -0
  96. data/doc/WsdlMapper/DomParsing/Xsd.html +279 -0
  97. data/doc/WsdlMapper/Generation.html +121 -0
  98. data/doc/WsdlMapper/Generation/AbstractFormatter.html +2143 -0
  99. data/doc/WsdlMapper/Generation/Base.html +707 -0
  100. data/doc/WsdlMapper/Generation/Context.html +430 -0
  101. data/doc/WsdlMapper/Generation/DefaultFormatter.html +1803 -0
  102. data/doc/WsdlMapper/Generation/DefaultModuleGenerator.html +295 -0
  103. data/doc/WsdlMapper/Generation/Facade.html +379 -0
  104. data/doc/WsdlMapper/Generation/Result.html +749 -0
  105. data/doc/WsdlMapper/Generation/Result/ModuleTreeNode.html +432 -0
  106. data/doc/WsdlMapper/Generation/TypeToGenerate.html +352 -0
  107. data/doc/WsdlMapper/Generation/YardDocFormatter.html +902 -0
  108. data/doc/WsdlMapper/Naming.html +119 -0
  109. data/doc/WsdlMapper/Naming/AbstractNamer.html +890 -0
  110. data/doc/WsdlMapper/Naming/AbstractServiceNamer.html +2148 -0
  111. data/doc/WsdlMapper/Naming/DefaultNamer.html +1512 -0
  112. data/doc/WsdlMapper/Naming/DefaultNamer/InlineType.html +218 -0
  113. data/doc/WsdlMapper/Naming/DefaultServiceNamer.html +1605 -0
  114. data/doc/WsdlMapper/Naming/EnumerationValueName.html +397 -0
  115. data/doc/WsdlMapper/Naming/Inflector.html +408 -0
  116. data/doc/WsdlMapper/Naming/NamerBase.html +373 -0
  117. data/doc/WsdlMapper/Naming/PropertyName.html +397 -0
  118. data/doc/WsdlMapper/Naming/SeparatingNamer.html +376 -0
  119. data/doc/WsdlMapper/Naming/TypeName.html +1040 -0
  120. data/doc/WsdlMapper/Parsing.html +119 -0
  121. data/doc/WsdlMapper/Parsing/Base.html +359 -0
  122. data/doc/WsdlMapper/Parsing/Logging.html +305 -0
  123. data/doc/WsdlMapper/Parsing/Logging/LogMsg.html +264 -0
  124. data/doc/WsdlMapper/Runtime.html +119 -0
  125. data/doc/WsdlMapper/Runtime/Api.html +628 -0
  126. data/doc/WsdlMapper/Runtime/AsyncHttpBackend.html +674 -0
  127. data/doc/WsdlMapper/Runtime/BackendBase.html +351 -0
  128. data/doc/WsdlMapper/Runtime/Body.html +209 -0
  129. data/doc/WsdlMapper/Runtime/Errors.html +119 -0
  130. data/doc/WsdlMapper/Runtime/Errors/Error.html +289 -0
  131. data/doc/WsdlMapper/Runtime/Errors/HTTPError.html +370 -0
  132. data/doc/WsdlMapper/Runtime/Errors/SoapFault.html +298 -0
  133. data/doc/WsdlMapper/Runtime/Errors/TransportError.html +298 -0
  134. data/doc/WsdlMapper/Runtime/Header.html +120 -0
  135. data/doc/WsdlMapper/Runtime/InputS8r.html +139 -0
  136. data/doc/WsdlMapper/Runtime/Message.html +488 -0
  137. data/doc/WsdlMapper/Runtime/MiddlewareStack.html +1266 -0
  138. data/doc/WsdlMapper/Runtime/Middlewares.html +149 -0
  139. data/doc/WsdlMapper/Runtime/Middlewares/AbstractLogger.html +206 -0
  140. data/doc/WsdlMapper/Runtime/Middlewares/AsyncDispatcher.html +270 -0
  141. data/doc/WsdlMapper/Runtime/Middlewares/AsyncMessageFactory.html +205 -0
  142. data/doc/WsdlMapper/Runtime/Middlewares/AsyncRequestFactory.html +205 -0
  143. data/doc/WsdlMapper/Runtime/Middlewares/AsyncRequestLogger.html +224 -0
  144. data/doc/WsdlMapper/Runtime/Middlewares/AsyncResponseFactory.html +205 -0
  145. data/doc/WsdlMapper/Runtime/Middlewares/AsyncResponseLogger.html +224 -0
  146. data/doc/WsdlMapper/Runtime/Middlewares/Noop.html +189 -0
  147. data/doc/WsdlMapper/Runtime/Middlewares/SimpleDispatcher.html +628 -0
  148. data/doc/WsdlMapper/Runtime/Middlewares/SimpleMessageFactory.html +263 -0
  149. data/doc/WsdlMapper/Runtime/Middlewares/SimpleRequestFactory.html +254 -0
  150. data/doc/WsdlMapper/Runtime/Middlewares/SimpleRequestLogger.html +222 -0
  151. data/doc/WsdlMapper/Runtime/Middlewares/SimpleResponseFactory.html +250 -0
  152. data/doc/WsdlMapper/Runtime/Middlewares/SimpleResponseLogger.html +218 -0
  153. data/doc/WsdlMapper/Runtime/Operation.html +1231 -0
  154. data/doc/WsdlMapper/Runtime/OutputS8r.html +139 -0
  155. data/doc/WsdlMapper/Runtime/Port.html +504 -0
  156. data/doc/WsdlMapper/Runtime/Proxy.html +228 -0
  157. data/doc/WsdlMapper/Runtime/Request.html +736 -0
  158. data/doc/WsdlMapper/Runtime/Response.html +585 -0
  159. data/doc/WsdlMapper/Runtime/S8rBase.html +753 -0
  160. data/doc/WsdlMapper/Runtime/Service.html +396 -0
  161. data/doc/WsdlMapper/Runtime/SimpleHttpBackend.html +260 -0
  162. data/doc/WsdlMapper/Runtime/SimplerInspect.html +205 -0
  163. data/doc/WsdlMapper/S8rGeneration.html +117 -0
  164. data/doc/WsdlMapper/S8rGeneration/Facade.html +208 -0
  165. data/doc/WsdlMapper/S8rGeneration/S8rGenerator.html +415 -0
  166. data/doc/WsdlMapper/Serializers.html +117 -0
  167. data/doc/WsdlMapper/Serializers/AbstractResolver.html +224 -0
  168. data/doc/WsdlMapper/Serializers/SerializerCore.html +710 -0
  169. data/doc/WsdlMapper/Serializers/SerializerFactory.html +326 -0
  170. data/doc/WsdlMapper/Serializers/TypeDirectory.html +556 -0
  171. data/doc/WsdlMapper/Serializers/TypeDirectory/TypeItem.html +388 -0
  172. data/doc/WsdlMapper/SvcDesc.html +158 -0
  173. data/doc/WsdlMapper/SvcDesc/Envelope.html +348 -0
  174. data/doc/WsdlMapper/SvcDesc/Fault.html +580 -0
  175. data/doc/WsdlMapper/SvcDesc/Wsdl11.html +121 -0
  176. data/doc/WsdlMapper/SvcDesc/Wsdl11/Base.html +352 -0
  177. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding.html +873 -0
  178. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Body.html +708 -0
  179. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Fault.html +358 -0
  180. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Header.html +408 -0
  181. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/HeaderBase.html +775 -0
  182. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/HeaderFault.html +138 -0
  183. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/InputOutput.html +539 -0
  184. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Operation.html +727 -0
  185. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/SoapFault.html +387 -0
  186. data/doc/WsdlMapper/SvcDesc/Wsdl11/Description.html +1272 -0
  187. data/doc/WsdlMapper/SvcDesc/Wsdl11/Message.html +467 -0
  188. data/doc/WsdlMapper/SvcDesc/Wsdl11/Message/Part.html +426 -0
  189. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType.html +499 -0
  190. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType/InputOutput.html +290 -0
  191. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType/Operation.html +659 -0
  192. data/doc/WsdlMapper/SvcDesc/Wsdl11/Service.html +335 -0
  193. data/doc/WsdlMapper/SvcDesc/Wsdl11/Service/Port.html +358 -0
  194. data/doc/WsdlMapper/SvcDescParsing.html +119 -0
  195. data/doc/WsdlMapper/SvcDescParsing/BindingParser.html +1271 -0
  196. data/doc/WsdlMapper/SvcDescParsing/Linker.html +308 -0
  197. data/doc/WsdlMapper/SvcDescParsing/MessageParser.html +419 -0
  198. data/doc/WsdlMapper/SvcDescParsing/Parser.html +972 -0
  199. data/doc/WsdlMapper/SvcDescParsing/ParserBase.html +215 -0
  200. data/doc/WsdlMapper/SvcDescParsing/PortTypeParser.html +757 -0
  201. data/doc/WsdlMapper/SvcDescParsing/ServiceParser.html +541 -0
  202. data/doc/WsdlMapper/SvcDescParsing/Soap.html +162 -0
  203. data/doc/WsdlMapper/SvcDescParsing/SoapEnc.html +137 -0
  204. data/doc/WsdlMapper/SvcDescParsing/SoapHttp.html +127 -0
  205. data/doc/WsdlMapper/SvcDescParsing/TypesParser.html +397 -0
  206. data/doc/WsdlMapper/SvcDescParsing/Wsdl11.html +201 -0
  207. data/doc/WsdlMapper/SvcGeneration.html +117 -0
  208. data/doc/WsdlMapper/SvcGeneration/DocumentedOperationGenerator.html +828 -0
  209. data/doc/WsdlMapper/SvcGeneration/DocumentedPortGenerator.html +256 -0
  210. data/doc/WsdlMapper/SvcGeneration/DocumentedProxyGenerator.html +332 -0
  211. data/doc/WsdlMapper/SvcGeneration/DocumentedServiceGenerator.html +258 -0
  212. data/doc/WsdlMapper/SvcGeneration/DocumentedSvcGenerator.html +331 -0
  213. data/doc/WsdlMapper/SvcGeneration/Facade.html +814 -0
  214. data/doc/WsdlMapper/SvcGeneration/GeneratorBase.html +239 -0
  215. data/doc/WsdlMapper/SvcGeneration/GeneratorBase/HeaderToGenerate.html +123 -0
  216. data/doc/WsdlMapper/SvcGeneration/GeneratorBase/PartToGenerate.html +123 -0
  217. data/doc/WsdlMapper/SvcGeneration/OperationD10rGenerator.html +1327 -0
  218. data/doc/WsdlMapper/SvcGeneration/OperationGenerator.html +1487 -0
  219. data/doc/WsdlMapper/SvcGeneration/OperationGeneratorBase.html +162 -0
  220. data/doc/WsdlMapper/SvcGeneration/OperationS8rGenerator.html +2247 -0
  221. data/doc/WsdlMapper/SvcGeneration/PortGenerator.html +453 -0
  222. data/doc/WsdlMapper/SvcGeneration/ProxyGenerator.html +487 -0
  223. data/doc/WsdlMapper/SvcGeneration/ServiceGenerator.html +437 -0
  224. data/doc/WsdlMapper/SvcGeneration/SvcGenerator.html +2055 -0
  225. data/doc/WsdlMapper/SvcGeneration/TypeToGenerate.html +388 -0
  226. data/doc/WsdlMapper/TypeMapping.html +543 -0
  227. data/doc/WsdlMapper/TypeMapping/Base.html +706 -0
  228. data/doc/WsdlMapper/TypeMapping/DateParts.html +209 -0
  229. data/doc/WsdlMapper/TypeMapping/DateParts/Base.html +265 -0
  230. data/doc/WsdlMapper/TypeMapping/MappingSet.html +770 -0
  231. data/doc/WsdlMapperTesting.html +119 -0
  232. data/doc/WsdlMapperTesting/FakeD10r.html +310 -0
  233. data/doc/WsdlMapperTesting/FakeOperation.html +706 -0
  234. data/doc/WsdlMapperTesting/FakeS8r.html +310 -0
  235. data/doc/WsdlMapperTesting/GenerationTest.html +646 -0
  236. data/doc/WsdlMapperTesting/ImplementationTest.html +221 -0
  237. data/doc/WsdlMapperTesting/Middlewares.html +117 -0
  238. data/doc/WsdlMapperTesting/Middlewares/FakeDispatcher.html +310 -0
  239. data/doc/WsdlMapperTesting/Middlewares/FakeMessageFactory.html +414 -0
  240. data/doc/WsdlMapperTesting/Middlewares/FakeRequestFactory.html +271 -0
  241. data/doc/WsdlMapperTesting/Middlewares/FakeResponseFactory.html +271 -0
  242. data/doc/WsdlMapperTesting/SchemaTest.html +209 -0
  243. data/doc/WsdlMapperTesting/StubConnection.html +547 -0
  244. data/doc/WsdlMapperTesting/Test.html +200 -0
  245. data/doc/WsdlMapperTesting/TestHelper.html +394 -0
  246. data/doc/WsdlMapperTesting/TmpPath.html +364 -0
  247. data/doc/WsdlMapperTesting/Vcr.html +196 -0
  248. data/doc/_index.html +1913 -0
  249. data/doc/class_list.html +58 -0
  250. data/doc/concepts/wrapping_types.md +3 -0
  251. data/doc/css/common.css +1 -0
  252. data/doc/css/full_list.css +57 -0
  253. data/doc/css/style.css +339 -0
  254. data/doc/diag/async_backend.gliffy +1 -0
  255. data/doc/diag/async_backend.png +0 -0
  256. data/doc/diag/simple_http_backend.gliffy +1 -0
  257. data/doc/diag/simple_http_backend.md +1 -0
  258. data/doc/diag/simple_http_backend.png +0 -0
  259. data/doc/file.README.html +151 -0
  260. data/doc/file_list.html +60 -0
  261. data/doc/frames.html +26 -0
  262. data/doc/index.html +151 -0
  263. data/doc/js/app.js +219 -0
  264. data/doc/js/full_list.js +181 -0
  265. data/doc/js/jquery.js +4 -0
  266. data/doc/method_list.html +6561 -0
  267. data/doc/top-level-namespace.html +112 -0
  268. data/examples/blz_service/.gitignore +3 -0
  269. data/examples/blz_service/Gemfile +4 -0
  270. data/examples/blz_service/README.md +11 -0
  271. data/examples/blz_service/blz_service.wsdl +86 -0
  272. data/examples/blz_service/example.rb +28 -0
  273. data/examples/calculator/.gitignore +3 -0
  274. data/examples/calculator/Gemfile +4 -0
  275. data/examples/calculator/README.md +11 -0
  276. data/examples/calculator/calculator.wsdl +196 -0
  277. data/examples/calculator/example.rb +25 -0
  278. data/lib/wsdl-mapper.rb +1 -0
  279. data/lib/wsdl_mapper.rb +4 -0
  280. data/lib/wsdl_mapper/cli/cli.rb +90 -0
  281. data/lib/wsdl_mapper/core_ext/time_duration.rb +112 -0
  282. data/lib/wsdl_mapper/d10r_generation/d10r_generator.rb +195 -0
  283. data/lib/wsdl_mapper/d10r_generation/facade.rb +12 -0
  284. data/lib/wsdl_mapper/deserializers/attr_mapping.rb +21 -0
  285. data/lib/wsdl_mapper/deserializers/class_mapping.rb +122 -0
  286. data/lib/wsdl_mapper/deserializers/deserializer.rb +83 -0
  287. data/lib/wsdl_mapper/deserializers/element_directory.rb +66 -0
  288. data/lib/wsdl_mapper/deserializers/errors.rb +28 -0
  289. data/lib/wsdl_mapper/deserializers/frame.rb +31 -0
  290. data/lib/wsdl_mapper/deserializers/lazy_loading_deserializer.rb +39 -0
  291. data/lib/wsdl_mapper/deserializers/prop_mapping.rb +26 -0
  292. data/lib/wsdl_mapper/deserializers/sax_document.rb +156 -0
  293. data/lib/wsdl_mapper/deserializers/soap_array_mapping.rb +34 -0
  294. data/lib/wsdl_mapper/deserializers/type_directory.rb +39 -0
  295. data/lib/wsdl_mapper/dom/attribute.rb +42 -0
  296. data/lib/wsdl_mapper/dom/bounds.rb +15 -0
  297. data/lib/wsdl_mapper/dom/builder.rb +77 -0
  298. data/lib/wsdl_mapper/dom/builtin_type.rb +17 -0
  299. data/lib/wsdl_mapper/dom/complex_type.rb +63 -0
  300. data/lib/wsdl_mapper/dom/directory.rb +74 -0
  301. data/lib/wsdl_mapper/dom/documentation.rb +16 -0
  302. data/lib/wsdl_mapper/dom/element.rb +15 -0
  303. data/lib/wsdl_mapper/dom/enumeration_value.rb +11 -0
  304. data/lib/wsdl_mapper/dom/name.rb +69 -0
  305. data/lib/wsdl_mapper/dom/namespaces.rb +88 -0
  306. data/lib/wsdl_mapper/dom/property.rb +56 -0
  307. data/lib/wsdl_mapper/dom/schema.rb +120 -0
  308. data/lib/wsdl_mapper/dom/shallow_schema.rb +34 -0
  309. data/lib/wsdl_mapper/dom/simple_type.rb +28 -0
  310. data/lib/wsdl_mapper/dom/soap_encoding_type.rb +13 -0
  311. data/lib/wsdl_mapper/dom/type_base.rb +31 -0
  312. data/lib/wsdl_mapper/dom/validator.rb +36 -0
  313. data/lib/wsdl_mapper/dom_generation/default_class_generator.rb +78 -0
  314. data/lib/wsdl_mapper/dom_generation/default_ctr_generator.rb +99 -0
  315. data/lib/wsdl_mapper/dom_generation/default_enum_generator.rb +59 -0
  316. data/lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb +52 -0
  317. data/lib/wsdl_mapper/dom_generation/default_value_generator.rb +82 -0
  318. data/lib/wsdl_mapper/dom_generation/default_wrapping_type_generator.rb +44 -0
  319. data/lib/wsdl_mapper/dom_generation/documented_class_generator.rb +58 -0
  320. data/lib/wsdl_mapper/dom_generation/documented_ctr_generator.rb +54 -0
  321. data/lib/wsdl_mapper/dom_generation/documented_enum_generator.rb +30 -0
  322. data/lib/wsdl_mapper/dom_generation/documented_schema_generator.rb +51 -0
  323. data/lib/wsdl_mapper/dom_generation/documented_wrapping_type_generator.rb +17 -0
  324. data/lib/wsdl_mapper/dom_generation/facade.rb +18 -0
  325. data/lib/wsdl_mapper/dom_generation/generator_base.rb +66 -0
  326. data/lib/wsdl_mapper/dom_generation/null_ctr_generator.rb +20 -0
  327. data/lib/wsdl_mapper/dom_generation/schema_generator.rb +134 -0
  328. data/lib/wsdl_mapper/dom_parsing/abstract_resolver.rb +10 -0
  329. data/lib/wsdl_mapper/dom_parsing/annotation_parser.rb +25 -0
  330. data/lib/wsdl_mapper/dom_parsing/attribute_parser.rb +47 -0
  331. data/lib/wsdl_mapper/dom_parsing/complex_type_parser.rb +213 -0
  332. data/lib/wsdl_mapper/dom_parsing/default_resolver.rb +30 -0
  333. data/lib/wsdl_mapper/dom_parsing/element_parser.rb +43 -0
  334. data/lib/wsdl_mapper/dom_parsing/import_parser.rb +31 -0
  335. data/lib/wsdl_mapper/dom_parsing/linker.rb +108 -0
  336. data/lib/wsdl_mapper/dom_parsing/local_file_resolver.rb +19 -0
  337. data/lib/wsdl_mapper/dom_parsing/parser.rb +127 -0
  338. data/lib/wsdl_mapper/dom_parsing/parser_base.rb +41 -0
  339. data/lib/wsdl_mapper/dom_parsing/simple_type_parser.rb +99 -0
  340. data/lib/wsdl_mapper/dom_parsing/url_resolver.rb +16 -0
  341. data/lib/wsdl_mapper/dom_parsing/xsd.rb +47 -0
  342. data/lib/wsdl_mapper/generation/abstract_formatter.rb +115 -0
  343. data/lib/wsdl_mapper/generation/base.rb +69 -0
  344. data/lib/wsdl_mapper/generation/context.rb +35 -0
  345. data/lib/wsdl_mapper/generation/default_formatter.rb +237 -0
  346. data/lib/wsdl_mapper/generation/default_module_generator.rb +32 -0
  347. data/lib/wsdl_mapper/generation/facade.rb +59 -0
  348. data/lib/wsdl_mapper/generation/result.rb +61 -0
  349. data/lib/wsdl_mapper/generation/type_to_generate.rb +12 -0
  350. data/lib/wsdl_mapper/generation/yard_doc_formatter.rb +105 -0
  351. data/lib/wsdl_mapper/naming/abstract_namer.rb +53 -0
  352. data/lib/wsdl_mapper/naming/abstract_service_namer.rb +115 -0
  353. data/lib/wsdl_mapper/naming/default_namer.rb +183 -0
  354. data/lib/wsdl_mapper/naming/default_service_namer.rb +147 -0
  355. data/lib/wsdl_mapper/naming/enumeration_value_name.rb +16 -0
  356. data/lib/wsdl_mapper/naming/inflector.rb +42 -0
  357. data/lib/wsdl_mapper/naming/namer_base.rb +115 -0
  358. data/lib/wsdl_mapper/naming/property_name.rb +16 -0
  359. data/lib/wsdl_mapper/naming/separating_namer.rb +122 -0
  360. data/lib/wsdl_mapper/naming/type_name.rb +77 -0
  361. data/lib/wsdl_mapper/parsing/base.rb +148 -0
  362. data/lib/wsdl_mapper/parsing/logging.rb +33 -0
  363. data/lib/wsdl_mapper/runtime.rb +4 -0
  364. data/lib/wsdl_mapper/runtime/api.rb +42 -0
  365. data/lib/wsdl_mapper/runtime/async_http_backend.rb +72 -0
  366. data/lib/wsdl_mapper/runtime/backend_base.rb +21 -0
  367. data/lib/wsdl_mapper/runtime/body.rb +10 -0
  368. data/lib/wsdl_mapper/runtime/errors.rb +42 -0
  369. data/lib/wsdl_mapper/runtime/header.rb +6 -0
  370. data/lib/wsdl_mapper/runtime/input_s8r.rb +8 -0
  371. data/lib/wsdl_mapper/runtime/message.rb +23 -0
  372. data/lib/wsdl_mapper/runtime/middleware_stack.rb +104 -0
  373. data/lib/wsdl_mapper/runtime/middlewares.rb +19 -0
  374. data/lib/wsdl_mapper/runtime/middlewares/abstract_logger.rb +19 -0
  375. data/lib/wsdl_mapper/runtime/middlewares/async_dispatcher.rb +21 -0
  376. data/lib/wsdl_mapper/runtime/middlewares/async_message_factory.rb +17 -0
  377. data/lib/wsdl_mapper/runtime/middlewares/async_request_factory.rb +17 -0
  378. data/lib/wsdl_mapper/runtime/middlewares/async_request_logger.rb +17 -0
  379. data/lib/wsdl_mapper/runtime/middlewares/async_response_factory.rb +17 -0
  380. data/lib/wsdl_mapper/runtime/middlewares/async_response_logger.rb +17 -0
  381. data/lib/wsdl_mapper/runtime/middlewares/noop.rb +11 -0
  382. data/lib/wsdl_mapper/runtime/middlewares/simple_dispatcher.rb +69 -0
  383. data/lib/wsdl_mapper/runtime/middlewares/simple_message_factory.rb +19 -0
  384. data/lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb +37 -0
  385. data/lib/wsdl_mapper/runtime/middlewares/simple_request_logger.rb +18 -0
  386. data/lib/wsdl_mapper/runtime/middlewares/simple_response_factory.rb +26 -0
  387. data/lib/wsdl_mapper/runtime/middlewares/simple_response_logger.rb +16 -0
  388. data/lib/wsdl_mapper/runtime/operation.rb +90 -0
  389. data/lib/wsdl_mapper/runtime/output_s8r.rb +9 -0
  390. data/lib/wsdl_mapper/runtime/port.rb +30 -0
  391. data/lib/wsdl_mapper/runtime/proxy.rb +12 -0
  392. data/lib/wsdl_mapper/runtime/request.rb +35 -0
  393. data/lib/wsdl_mapper/runtime/response.rb +27 -0
  394. data/lib/wsdl_mapper/runtime/s8r_base.rb +57 -0
  395. data/lib/wsdl_mapper/runtime/service.rb +25 -0
  396. data/lib/wsdl_mapper/runtime/simple_http_backend.rb +34 -0
  397. data/lib/wsdl_mapper/runtime/simpler_inspect.rb +19 -0
  398. data/lib/wsdl_mapper/s8r_generation/facade.rb +12 -0
  399. data/lib/wsdl_mapper/s8r_generation/s8r_generator.rb +276 -0
  400. data/lib/wsdl_mapper/serializers/abstract_resolver.rb +11 -0
  401. data/lib/wsdl_mapper/serializers/serializer_core.rb +111 -0
  402. data/lib/wsdl_mapper/serializers/serializer_factory.rb +27 -0
  403. data/lib/wsdl_mapper/serializers/type_directory.rb +75 -0
  404. data/lib/wsdl_mapper/svc_desc/envelope.rb +12 -0
  405. data/lib/wsdl_mapper/svc_desc/fault.rb +27 -0
  406. data/lib/wsdl_mapper/svc_desc/soap_element_directory.rb +13 -0
  407. data/lib/wsdl_mapper/svc_desc/soap_type_directory.rb +21 -0
  408. data/lib/wsdl_mapper/svc_desc/wsdl11/base.rb +16 -0
  409. data/lib/wsdl_mapper/svc_desc/wsdl11/binding.rb +148 -0
  410. data/lib/wsdl_mapper/svc_desc/wsdl11/description.rb +86 -0
  411. data/lib/wsdl_mapper/svc_desc/wsdl11/message.rb +32 -0
  412. data/lib/wsdl_mapper/svc_desc/wsdl11/port_type.rb +63 -0
  413. data/lib/wsdl_mapper/svc_desc/wsdl11/service.rb +27 -0
  414. data/lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb +198 -0
  415. data/lib/wsdl_mapper/svc_desc_parsing/http.rb +14 -0
  416. data/lib/wsdl_mapper/svc_desc_parsing/linker.rb +126 -0
  417. data/lib/wsdl_mapper/svc_desc_parsing/message_parser.rb +42 -0
  418. data/lib/wsdl_mapper/svc_desc_parsing/parser.rb +94 -0
  419. data/lib/wsdl_mapper/svc_desc_parsing/parser_base.rb +24 -0
  420. data/lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb +101 -0
  421. data/lib/wsdl_mapper/svc_desc_parsing/service_parser.rb +66 -0
  422. data/lib/wsdl_mapper/svc_desc_parsing/soap.rb +18 -0
  423. data/lib/wsdl_mapper/svc_desc_parsing/soap12.rb +18 -0
  424. data/lib/wsdl_mapper/svc_desc_parsing/soap_enc.rb +13 -0
  425. data/lib/wsdl_mapper/svc_desc_parsing/soap_http.rb +11 -0
  426. data/lib/wsdl_mapper/svc_desc_parsing/types_parser.rb +31 -0
  427. data/lib/wsdl_mapper/svc_desc_parsing/wsdl11.rb +27 -0
  428. data/lib/wsdl_mapper/svc_generation/documented_operation_generator.rb +104 -0
  429. data/lib/wsdl_mapper/svc_generation/documented_port_generator.rb +19 -0
  430. data/lib/wsdl_mapper/svc_generation/documented_proxy_generator.rb +36 -0
  431. data/lib/wsdl_mapper/svc_generation/documented_service_generator.rb +20 -0
  432. data/lib/wsdl_mapper/svc_generation/documented_svc_generator.rb +38 -0
  433. data/lib/wsdl_mapper/svc_generation/facade.rb +78 -0
  434. data/lib/wsdl_mapper/svc_generation/generator_base.rb +111 -0
  435. data/lib/wsdl_mapper/svc_generation/operation_d10r_generator.rb +171 -0
  436. data/lib/wsdl_mapper/svc_generation/operation_generator.rb +217 -0
  437. data/lib/wsdl_mapper/svc_generation/operation_generator_base.rb +8 -0
  438. data/lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb +260 -0
  439. data/lib/wsdl_mapper/svc_generation/port_generator.rb +56 -0
  440. data/lib/wsdl_mapper/svc_generation/proxy_generator.rb +51 -0
  441. data/lib/wsdl_mapper/svc_generation/service_generator.rb +49 -0
  442. data/lib/wsdl_mapper/svc_generation/svc_generator.rb +172 -0
  443. data/lib/wsdl_mapper/svc_generation/type_to_generate.rb +6 -0
  444. data/lib/wsdl_mapper/type_mapping.rb +21 -0
  445. data/lib/wsdl_mapper/type_mapping/base.rb +48 -0
  446. data/lib/wsdl_mapper/type_mapping/base64_binary.rb +31 -0
  447. data/lib/wsdl_mapper/type_mapping/boolean.rb +31 -0
  448. data/lib/wsdl_mapper/type_mapping/date.rb +28 -0
  449. data/lib/wsdl_mapper/type_mapping/date_parts.rb +92 -0
  450. data/lib/wsdl_mapper/type_mapping/date_time.rb +28 -0
  451. data/lib/wsdl_mapper/type_mapping/decimal.rb +30 -0
  452. data/lib/wsdl_mapper/type_mapping/duration.rb +115 -0
  453. data/lib/wsdl_mapper/type_mapping/float.rb +30 -0
  454. data/lib/wsdl_mapper/type_mapping/hex_binary.rb +30 -0
  455. data/lib/wsdl_mapper/type_mapping/integer.rb +36 -0
  456. data/lib/wsdl_mapper/type_mapping/mapping_set.rb +64 -0
  457. data/lib/wsdl_mapper/type_mapping/string.rb +38 -0
  458. data/lib/wsdl_mapper/type_mapping/time.rb +29 -0
  459. data/lib/wsdl_mapper/type_mapping/uri.rb +35 -0
  460. data/lib/wsdl_mapper/version.rb +3 -0
  461. data/lib/wsdl_mapper_testing/fake_d10r.rb +15 -0
  462. data/lib/wsdl_mapper_testing/fake_operation.rb +33 -0
  463. data/lib/wsdl_mapper_testing/fake_s8r.rb +15 -0
  464. data/lib/wsdl_mapper_testing/generation_test.rb +47 -0
  465. data/lib/wsdl_mapper_testing/implementation_test.rb +17 -0
  466. data/lib/wsdl_mapper_testing/middlewares/fake_dispatcher.rb +17 -0
  467. data/lib/wsdl_mapper_testing/middlewares/fake_message_factory.rb +23 -0
  468. data/lib/wsdl_mapper_testing/middlewares/fake_request_factory.rb +20 -0
  469. data/lib/wsdl_mapper_testing/middlewares/fake_response_factory.rb +20 -0
  470. data/lib/wsdl_mapper_testing/schema_test.rb +9 -0
  471. data/lib/wsdl_mapper_testing/stub_connection.rb +52 -0
  472. data/lib/wsdl_mapper_testing/test.rb +9 -0
  473. data/lib/wsdl_mapper_testing/test_helper.rb +29 -0
  474. data/lib/wsdl_mapper_testing/tmp_path.rb +20 -0
  475. data/lib/wsdl_mapper_testing/vcr.rb +19 -0
  476. data/test/compatibility/dom_compatibility_test.rb +56 -0
  477. data/test/compatibility/svc_compatibility_test.rb +47 -0
  478. data/test/fixtures/address_type_enumeration.xsd +9 -0
  479. data/test/fixtures/address_type_enumeration_with_documentation.xsd +16 -0
  480. data/test/fixtures/address_type_enumeration_with_value_documentation.xsd +21 -0
  481. data/test/fixtures/attachment_type_for_import.xsd +9 -0
  482. data/test/fixtures/basic_credentials_type.xsd +9 -0
  483. data/test/fixtures/basic_note_inline_type.xsd +13 -0
  484. data/test/fixtures/basic_note_type.xsd +11 -0
  485. data/test/fixtures/basic_note_type_and_fancy_note_type_extension.xsd +21 -0
  486. data/test/fixtures/basic_note_type_and_fancy_note_type_extension_with_namespace.xsd +21 -0
  487. data/test/fixtures/basic_note_type_with_an_invalid_root_node.xsd +11 -0
  488. data/test/fixtures/basic_note_type_with_attachments.xsd +12 -0
  489. data/test/fixtures/basic_note_type_with_attachments_simple_type.xsd +16 -0
  490. data/test/fixtures/basic_note_type_with_attribute.xsd +12 -0
  491. data/test/fixtures/basic_note_type_with_boolean_property.xsd +12 -0
  492. data/test/fixtures/basic_note_type_with_boolean_property_and_documentation.xsd +24 -0
  493. data/test/fixtures/basic_note_type_with_complex_attachments.xsd +22 -0
  494. data/test/fixtures/basic_note_type_with_date.xsd +12 -0
  495. data/test/fixtures/basic_note_type_with_defaults.xsd +12 -0
  496. data/test/fixtures/basic_note_type_with_documentation_and_bounds.xsd +19 -0
  497. data/test/fixtures/basic_note_type_with_element.xsd +12 -0
  498. data/test/fixtures/basic_note_type_with_element_inline_complex_type.xsd +13 -0
  499. data/test/fixtures/basic_note_type_with_import.xsd +13 -0
  500. data/test/fixtures/basic_note_type_with_inline_complex_type.xsd +20 -0
  501. data/test/fixtures/basic_note_type_with_inline_simple_type.xsd +17 -0
  502. data/test/fixtures/basic_note_type_with_invalid_xsd_namespace.xsd +11 -0
  503. data/test/fixtures/basic_note_type_with_missing_xsd_namespace.xsd +11 -0
  504. data/test/fixtures/basic_note_type_with_property_and_attribute.xsd +15 -0
  505. data/test/fixtures/basic_note_type_with_property_and_attribute_documentation.xsd +30 -0
  506. data/test/fixtures/basic_note_type_with_ref_attribute.xsd +13 -0
  507. data/test/fixtures/basic_note_type_with_referenced_simple_email_address_type.xsd +15 -0
  508. data/test/fixtures/basic_note_type_with_soap_array.xsd +26 -0
  509. data/test/fixtures/basic_note_type_with_soap_array_builtin.xsd +20 -0
  510. data/test/fixtures/basic_note_type_with_soap_array_simple.xsd +25 -0
  511. data/test/fixtures/basic_note_type_with_target_namespace.xsd +11 -0
  512. data/test/fixtures/basic_order_type_with_referenced_address_type_enum.xsd +17 -0
  513. data/test/fixtures/basic_order_type_with_required_address_type_enum.xsd +17 -0
  514. data/test/fixtures/element_inline_simple_type.xsd +8 -0
  515. data/test/fixtures/empty_note_type.xsd +8 -0
  516. data/test/fixtures/empty_note_type_with_multiline_documentation.xsd +13 -0
  517. data/test/fixtures/empty_note_type_with_target_namespace.xsd +7 -0
  518. data/test/fixtures/empty_note_with_documentaion_and_target_namespace.xsd +12 -0
  519. data/test/fixtures/ms_cust_order_example.xsd +77 -0
  520. data/test/fixtures/services/cdiscount.wsdl +4034 -0
  521. data/test/fixtures/services/ebaySvc.wsdl +144554 -0
  522. data/test/fixtures/services/ebaySvc.xsd +140654 -0
  523. data/test/fixtures/services/magento_v2.wsdl +5477 -0
  524. data/test/fixtures/services/magento_v2.xsd +2152 -0
  525. data/test/fixtures/services/plenty_114.wsdl +11954 -0
  526. data/test/fixtures/services/plenty_114.xsd +7948 -0
  527. data/test/fixtures/services/tb-cat_1_2_import.xsd +1769 -0
  528. data/test/fixtures/services/tb-stock_all_in_one.xsd +936 -0
  529. data/test/fixtures/simple_email_address_type.xsd +6 -0
  530. data/test/fixtures/simple_email_address_type_with_documentation.xsd +11 -0
  531. data/test/fixtures/simple_money_type_with_currency_attribute.xsd +10 -0
  532. data/test/fixtures/super_fancy_note_type.xsd +31 -0
  533. data/test/fixtures/w3_example.xsd +15 -0
  534. data/test/fixtures/wsdls/price_service.wsdl +88 -0
  535. data/test/fixtures/wsdls/price_service_doc_encoded.wsdl +87 -0
  536. data/test/fixtures/wsdls/price_service_doc_literal.wsdl +89 -0
  537. data/test/fixtures/wsdls/price_service_doc_literal2.wsdl +88 -0
  538. data/test/fixtures/wsdls/price_service_doc_literal_type.wsdl +84 -0
  539. data/test/fixtures/wsdls/price_service_rpc_encoded.wsdl +85 -0
  540. data/test/fixtures/wsdls/price_service_rpc_encoded2.wsdl +86 -0
  541. data/test/fixtures/wsdls/price_service_rpc_literal.wsdl +88 -0
  542. data/test/fixtures/wsdls/price_service_rpc_literal2.wsdl +86 -0
  543. data/test/fixtures/wsdls/simple_service.wsdl +93 -0
  544. data/test/fixtures/wsdls/simple_service_with_overload.wsdl +123 -0
  545. data/test/fixtures/wsdls/w3_example.wsdl +64 -0
  546. data/test/test_helper.rb +29 -0
  547. data/test/wsdl_mapper/cli/cli_test.rb +10 -0
  548. data/test/wsdl_mapper/core_ext/time_duration_test.rb +82 -0
  549. data/test/wsdl_mapper/d10r_generation/d10r_generator_test.rb +227 -0
  550. data/test/wsdl_mapper/deserializers/benchmark_test.rb +906 -0
  551. data/test/wsdl_mapper/deserializers/deserializer_integration_test.rb +115 -0
  552. data/test/wsdl_mapper/deserializers/deserializer_test.rb +343 -0
  553. data/test/wsdl_mapper/deserializers/deserializer_with_ns_test.rb +188 -0
  554. data/test/wsdl_mapper/deserializers/operation_deserializer_test.rb +342 -0
  555. data/test/wsdl_mapper/dom/builtin_type_test.rb +25 -0
  556. data/test/wsdl_mapper/dom/enumeration_value_test.rb +14 -0
  557. data/test/wsdl_mapper/dom/name_test.rb +31 -0
  558. data/test/wsdl_mapper/dom/namespaces_test.rb +96 -0
  559. data/test/wsdl_mapper/dom/simple_type_test.rb +26 -0
  560. data/test/wsdl_mapper/dom/validator_test.rb +30 -0
  561. data/test/wsdl_mapper/dom_generation/default_class_generator_test.rb +213 -0
  562. data/test/wsdl_mapper/dom_generation/default_ctr_generator_test.rb +166 -0
  563. data/test/wsdl_mapper/dom_generation/default_enum_generator_test.rb +35 -0
  564. data/test/wsdl_mapper/dom_generation/default_value_generator_test.rb +72 -0
  565. data/test/wsdl_mapper/dom_generation/default_wrapping_type_generator_test.rb +65 -0
  566. data/test/wsdl_mapper/dom_generation/documented_class_generator_test.rb +151 -0
  567. data/test/wsdl_mapper/dom_generation/documented_ctr_generator_test.rb +84 -0
  568. data/test/wsdl_mapper/dom_generation/documented_enum_generator_test.rb +66 -0
  569. data/test/wsdl_mapper/dom_generation/documented_schema_generator_test.rb +73 -0
  570. data/test/wsdl_mapper/dom_generation/documented_wrapping_type_generator_test.rb +34 -0
  571. data/test/wsdl_mapper/dom_generation/schema_generator_test.rb +53 -0
  572. data/test/wsdl_mapper/dom_parsing/parser_test.rb +300 -0
  573. data/test/wsdl_mapper/generation/default_formatter_test.rb +104 -0
  574. data/test/wsdl_mapper/naming/default_namer_test.rb +127 -0
  575. data/test/wsdl_mapper/naming/default_service_namer_test.rb +15 -0
  576. data/test/wsdl_mapper/naming/inflector_test.rb +37 -0
  577. data/test/wsdl_mapper/naming/separating_namer_test.rb +53 -0
  578. data/test/wsdl_mapper/naming/type_name_test.rb +50 -0
  579. data/test/wsdl_mapper/runtime/async_http_backend_test.rb +57 -0
  580. data/test/wsdl_mapper/runtime/middleware_stack_test.rb +130 -0
  581. data/test/wsdl_mapper/runtime/middlewares/simple_dispatcher_test.rb +45 -0
  582. data/test/wsdl_mapper/runtime/operation_test.rb +79 -0
  583. data/test/wsdl_mapper/runtime/simple_http_backend_test.rb +49 -0
  584. data/test/wsdl_mapper/s8r_generation/s8r_generator_test.rb +450 -0
  585. data/test/wsdl_mapper/serializers/serializer_core_test.rb +293 -0
  586. data/test/wsdl_mapper/serializers/serializer_factory_test.rb +46 -0
  587. data/test/wsdl_mapper/serializers/type_directory_test.rb +31 -0
  588. data/test/wsdl_mapper/svc_desc_parsing/parser_test.rb +269 -0
  589. data/test/wsdl_mapper/svc_generation/documented_operation_generator_test.rb +226 -0
  590. data/test/wsdl_mapper/svc_generation/documented_port_generator_test.rb +46 -0
  591. data/test/wsdl_mapper/svc_generation/documented_service_generator_test.rb +42 -0
  592. data/test/wsdl_mapper/svc_generation/documented_svc_generator_test.rb +41 -0
  593. data/test/wsdl_mapper/svc_generation/operation_d10r_generator_test.rb +134 -0
  594. data/test/wsdl_mapper/svc_generation/operation_generator_test.rb +261 -0
  595. data/test/wsdl_mapper/svc_generation/operation_s8r_generator_test.rb +165 -0
  596. data/test/wsdl_mapper/svc_generation/port_generator_test.rb +43 -0
  597. data/test/wsdl_mapper/svc_generation/proxy_generator_test.rb +40 -0
  598. data/test/wsdl_mapper/svc_generation/service_generator_test.rb +38 -0
  599. data/test/wsdl_mapper/svc_generation/svc_generator_test.rb +38 -0
  600. data/test/wsdl_mapper/type_mapping/base64_binary_test.rb +27 -0
  601. data/test/wsdl_mapper/type_mapping/base_test.rb +37 -0
  602. data/test/wsdl_mapper/type_mapping/boolean_test.rb +25 -0
  603. data/test/wsdl_mapper/type_mapping/date_parts_test.rb +81 -0
  604. data/test/wsdl_mapper/type_mapping/date_test.rb +23 -0
  605. data/test/wsdl_mapper/type_mapping/date_time_test.rb +23 -0
  606. data/test/wsdl_mapper/type_mapping/decimal_test.rb +21 -0
  607. data/test/wsdl_mapper/type_mapping/duration_test.rb +34 -0
  608. data/test/wsdl_mapper/type_mapping/float_test.rb +27 -0
  609. data/test/wsdl_mapper/type_mapping/hex_binary_test.rb +27 -0
  610. data/test/wsdl_mapper/type_mapping/integer_test.rb +36 -0
  611. data/test/wsdl_mapper/type_mapping/string_test.rb +24 -0
  612. data/test/wsdl_mapper/type_mapping/time_test.rb +29 -0
  613. data/test/wsdl_mapper/type_mapping/uri_test.rb +28 -0
  614. data/test/wsdl_mapper/type_mapping_test.rb +70 -0
  615. data/test/wsdl_mapper_testing/stub_connection_test.rb +55 -0
  616. data/wsdl-mapper.gemspec +39 -0
  617. metadata +1038 -0
@@ -0,0 +1,1769 @@
1
+ <?xml version="1.0"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3
+ <!--
4
+ File generated with xsd-all-in-oneify, don't edit this file.
5
+ -->
6
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
7
+ schemaLocation="http://www.w3.org/2001/xml.xsd" />
8
+
9
+ <!--
10
+ begin: tb-cat_1_2.xsd
11
+ -->
12
+
13
+
14
+ <!--
15
+ Copyright (C) 2012 by Tradebyte Software GmbH
16
+ Written by Stefan Siegl <stefan.siegl@tradebyte.de>
17
+
18
+ All rights reserved.
19
+ -->
20
+
21
+
22
+ <!--
23
+ begin: tb-base.xsd
24
+ -->
25
+
26
+
27
+ <!--
28
+ Copyright (C) 2010, 2011, 2012 by Tradebyte Software GmbH
29
+ Written by Stefan Siegl <stefan.siegl@tradebyte.de>
30
+
31
+ All rights reserved.
32
+ -->
33
+
34
+ <xs:complexType name="typeOrder">
35
+ <xs:sequence>
36
+ <xs:element name="ORDER_DATA" type="typeOrderData" />
37
+ <xs:element name="REPLACE_RESERVATIONS" minOccurs="0">
38
+ <xs:complexType>
39
+ <xs:sequence>
40
+ <xs:element name="RESERVATION" maxOccurs="unbounded">
41
+ <xs:complexType>
42
+ <xs:attribute name="identifier" use="required" type="typeIdentifier" />
43
+ <xs:attribute name="key" use="required" type="xs:string" />
44
+ </xs:complexType>
45
+ </xs:element>
46
+ </xs:sequence>
47
+ </xs:complexType>
48
+ </xs:element>
49
+ <xs:element name="SELL_TO" type="typeCustomer" minOccurs="0" />
50
+ <xs:element name="SHIP_TO" type="typeCustomer" />
51
+ <xs:element name="SHIPMENT" type="typeShipment" minOccurs="0" />
52
+ <xs:element name="PAYMENT" type="typePayment" minOccurs="0" />
53
+ <xs:element name="USERDEFINED" type="typeUSERDEFINED" minOccurs="0" />
54
+ <xs:element name="REFERENCES" type="typeReferences" minOccurs="0" />
55
+ <xs:element name="HISTORY" minOccurs="0">
56
+ <xs:complexType>
57
+ <xs:sequence>
58
+ <xs:element name="EVENT" type="typeHistoryEvent" maxOccurs="unbounded" />
59
+ </xs:sequence>
60
+ </xs:complexType>
61
+ </xs:element>
62
+ <xs:element name="SERVICES" minOccurs="0">
63
+ <xs:complexType>
64
+ <xs:sequence>
65
+ <xs:element name="SERVICE" type="typeService" maxOccurs="unbounded" />
66
+ </xs:sequence>
67
+ </xs:complexType>
68
+ </xs:element>
69
+ <xs:element name="ITEMS">
70
+ <xs:complexType>
71
+ <xs:sequence>
72
+ <xs:element name="ITEM" type="typeItem" maxOccurs="unbounded" />
73
+ </xs:sequence>
74
+ </xs:complexType>
75
+ </xs:element>
76
+ </xs:sequence>
77
+ </xs:complexType>
78
+
79
+ <xs:complexType name="typeOrderData">
80
+ <xs:sequence>
81
+ <xs:element name="ORDER_DATE" type="xs:date" />
82
+ <xs:element name="TB_ID" type="xs:positiveInteger" minOccurs="0" />
83
+ <xs:element name="CHANNEL_SIGN" type="typeChannelSign" minOccurs="0" />
84
+ <xs:element name="CHANNEL_ID" type="type50StringNotNull" />
85
+ <xs:element name="CHANNEL_NO" type="type50StringNotNull" minOccurs="0" />
86
+ <xs:element name="BILL_NO" type="type50StringNotNull" minOccurs="0" />
87
+ <xs:element name="PAID" minOccurs="0">
88
+ <xs:simpleType>
89
+ <xs:restriction base="xs:integer">
90
+ <xs:minInclusive value="0" />
91
+ <xs:maxInclusive value="2" />
92
+ </xs:restriction>
93
+ </xs:simpleType>
94
+ </xs:element>
95
+ <xs:choice>
96
+ <xs:element name="APPROVED" type="xs:boolean" />
97
+ <xs:element name="WITHDRAWN" type="typeOne" />
98
+ </xs:choice>
99
+ <xs:element name="DOCUMENT_URL" minOccurs="0" maxOccurs="unbounded">
100
+ <xs:complexType>
101
+ <xs:simpleContent>
102
+ <xs:extension base="type255StringNotNull">
103
+ <xs:attribute name="type" use="optional" type="type50StringNotNull" />
104
+ <xs:attribute name="origname" use="optional" type="type100StringNotNull" />
105
+ <xs:attribute name="servlet" use="optional" type="xs:boolean" />
106
+ </xs:extension>
107
+ </xs:simpleContent>
108
+ </xs:complexType>
109
+ </xs:element>
110
+ <xs:element name="CUSTOMER_COMMENT" type="xs:string" minOccurs="0" />
111
+ <xs:element name="SIGNGROUPS" type="typeSigngroups" minOccurs="0" />
112
+ <xs:element name="ITEM_COUNT" type="xs:positiveInteger" />
113
+ <xs:element name="TOTAL_ITEM_AMOUNT" type="typeNonNegativeDecimalWithCurrencyAttribute" />
114
+ <xs:element name="DATE_CREATED" type="xs:dateTime" minOccurs="0" />
115
+ </xs:sequence>
116
+ </xs:complexType>
117
+
118
+ <xs:complexType name="typeCustomer">
119
+ <xs:sequence>
120
+ <xs:element name="TB_ID" type="xs:positiveInteger" minOccurs="0" />
121
+ <xs:element name="CHANNEL_NO" type="type100StringNotNull" minOccurs="0" />
122
+ <xs:element name="TITLE" type="type20StringNotNull" minOccurs="0" />
123
+ <xs:choice>
124
+ <xs:sequence>
125
+ <xs:element name="FIRSTNAME" type="type50String" />
126
+ <xs:element name="LASTNAME" type="type50String" />
127
+ <xs:element name="NAME" type="type100StringNotNull" minOccurs="0" />
128
+ </xs:sequence>
129
+ <xs:element name="NAME" type="type100StringNotNull" />
130
+ </xs:choice>
131
+ <xs:element name="NAME_EXTENSION" type="type100String" minOccurs="0" />
132
+ <xs:element name="STREET_NO" type="type100String" />
133
+ <xs:element name="STREET_EXTENSION" type="type100String" minOccurs="0" />
134
+ <xs:element name="ZIP" type="type10String" />
135
+ <xs:element name="CITY" type="type50String" />
136
+ <xs:element name="COUNTRY" type="type2String" />
137
+ <xs:element name="PHONE_PRIVATE" type="type50StringNotNull" minOccurs="0" />
138
+ <xs:element name="PHONE_OFFICE" type="type50StringNotNull" minOccurs="0" />
139
+ <xs:element name="PHONE_MOBILE" type="type50StringNotNull" minOccurs="0" />
140
+ <xs:element name="EMAIL" type="type80StringNotNull" minOccurs="0" />
141
+ <xs:element name="BIRTHDAY" type="xs:date" minOccurs="0" />
142
+ <xs:element name="VAT_ID" type="type20StringNotNull" minOccurs="0" />
143
+ </xs:sequence>
144
+ </xs:complexType>
145
+
146
+ <xs:complexType name="typeShipment">
147
+ <xs:sequence>
148
+ <xs:element name="CARRIER_PARCEL_TYPE" type="xs:string" minOccurs="0" />
149
+ <xs:element name="IDCODE_SHIP" type="type30StringNotNull" minOccurs="0" maxOccurs="unbounded" />
150
+ <xs:element name="IDCODE_RETURN" type="type30StringNotNull" minOccurs="0" maxOccurs="unbounded" />
151
+ <xs:element name="ROUTING_CODE" type="type20StringNotNull" minOccurs="0" />
152
+ <xs:element name="PRICE" type="typeNonNegativeDecimalWithCurrencyAttribute" minOccurs="0" />
153
+ <xs:element name="IS_EXPRESS" type="typeBoolString" minOccurs="0"/>
154
+ </xs:sequence>
155
+ </xs:complexType>
156
+
157
+ <xs:complexType name="typePayment">
158
+ <xs:sequence>
159
+ <xs:element name="TYPE" type="type50StringNotNull" minOccurs="0" />
160
+ <xs:element name="CODE" type="xs:string" minOccurs="0">
161
+ <xs:annotation>
162
+ <xs:documentation>Deprecated, use TYPE.</xs:documentation>
163
+ </xs:annotation>
164
+ </xs:element>
165
+
166
+ <xs:element name="COSTS" type="typeNonNegativeDecimalWithCurrencyAttribute" minOccurs="0" />
167
+
168
+ <xs:element name="PAYMENT_TRANSACTION_ID" type="type50StringNotNull" minOccurs="0" />
169
+ <xs:element name="REFERENCE_NO" type="type50StringNotNull" minOccurs="0">
170
+ <xs:annotation>
171
+ <xs:documentation>Deprecated, use PAYMENT_TRANSACTION_ID.</xs:documentation>
172
+ </xs:annotation>
173
+ </xs:element>
174
+
175
+ <xs:element name="PAYMENT_TRANSACTION_NR" type="type50StringNotNull" minOccurs="0" />
176
+ <xs:element name="PAYMENT_TRANSACTION_NAME" type="type100StringNotNull" minOccurs="0" />
177
+
178
+ <xs:element name="PAYMENT_DATA" type="xs:string" minOccurs="0" />
179
+ <xs:element name="PRICE" type="typeNonNegativeDecimalWithCurrencyAttribute" minOccurs="0">
180
+ <xs:annotation>
181
+ <xs:documentation>Deprecated, use COSTS.</xs:documentation>
182
+ </xs:annotation>
183
+ </xs:element>
184
+
185
+ <xs:element name="DIRECTDEBIT" minOccurs="0">
186
+ <xs:complexType>
187
+ <xs:sequence>
188
+ <xs:element name="ACCOUNTNAME" type="type50StringNotNull" minOccurs="0" />
189
+ <xs:element name="ACCOUNTNR" type="type50StringNotNull" minOccurs="0" />
190
+ <xs:element name="BANKNAME" type="type50StringNotNull" minOccurs="0" />
191
+ <xs:element name="BANKCODE" type="type50StringNotNull" minOccurs="0" />
192
+ <xs:element name="IBAN" type="type50StringNotNull" minOccurs="0" />
193
+ <xs:element name="BIC" type="type20StringNotNull" minOccurs="0" />
194
+ </xs:sequence>
195
+ </xs:complexType>
196
+ </xs:element>
197
+ </xs:sequence>
198
+ </xs:complexType>
199
+
200
+ <xs:complexType name="typeReferences">
201
+ <xs:sequence>
202
+ <xs:element name="REFERENCE" maxOccurs="unbounded">
203
+ <xs:complexType>
204
+ <xs:sequence>
205
+ <xs:element name="TB_ID" type="xs:positiveInteger" minOccurs="1" />
206
+ </xs:sequence>
207
+ <xs:attribute name="type" use="required">
208
+ <xs:simpleType>
209
+ <xs:restriction base="xs:string">
210
+ <xs:enumeration value="in" />
211
+ <xs:enumeration value="out" />
212
+ </xs:restriction>
213
+ </xs:simpleType>
214
+ </xs:attribute>
215
+ </xs:complexType>
216
+ </xs:element>
217
+ </xs:sequence>
218
+ </xs:complexType>
219
+
220
+ <xs:complexType name="typeUSERDEFINED">
221
+ <xs:sequence>
222
+ <xs:element name="VALUE" minOccurs="0" maxOccurs="unbounded">
223
+ <xs:complexType>
224
+ <xs:simpleContent>
225
+ <xs:extension base="xs:anySimpleType">
226
+ <xs:attribute name="key" use="required" type="xs:string" />
227
+ <xs:attribute name="type" use="required" type="xs:QName" />
228
+ </xs:extension>
229
+ </xs:simpleContent>
230
+ </xs:complexType>
231
+ </xs:element>
232
+ </xs:sequence>
233
+ </xs:complexType>
234
+
235
+ <xs:complexType name="typeService">
236
+ <xs:sequence>
237
+ <xs:element name="CODE" type="xs:string" />
238
+ <xs:element name="DESC" type="type100StringNotNull" />
239
+ <xs:element name="PRICE" type="typeDecimalWithCurrencyAttribute"/>
240
+ </xs:sequence>
241
+ </xs:complexType>
242
+
243
+ <xs:complexType name="typeItem">
244
+ <xs:sequence>
245
+ <xs:element name="TB_ID" type="xs:positiveInteger" minOccurs="0" />
246
+ <xs:element name="CHANNEL_ID" type="type50StringNotNull" />
247
+ <xs:element name="SKU" type="type50StringNotNull" />
248
+ <xs:element name="CHANNEL_SKU" type="type50StringNotNull" minOccurs="0" />
249
+ <xs:element name="EAN" type="typeEAN" minOccurs="0" />
250
+ <xs:element name="QUANTITY" type="xs:positiveInteger" />
251
+ <xs:element name="BILLING_TEXT" type="type255StringNotNull" minOccurs="0" />
252
+ <xs:element name="TRANSFER_PRICE" type="typeDecimalWithCurrencyAttribute" minOccurs="0" />
253
+ <xs:element name="ITEM_PRICE" type="typeNonNegativeDecimalWithCurrencyAttribute" />
254
+ <xs:element name="DELIVERY_TIME" type="xs:positiveInteger" minOccurs="0" />
255
+ <xs:element name="DATE_CREATED" type="xs:dateTime" minOccurs="0" />
256
+
257
+ <xs:element name="SERVICES" minOccurs="0">
258
+ <xs:complexType>
259
+ <xs:sequence>
260
+ <xs:element name="SERVICE" type="typeService" maxOccurs="unbounded" />
261
+ </xs:sequence>
262
+ </xs:complexType>
263
+ </xs:element>
264
+ </xs:sequence>
265
+ </xs:complexType>
266
+
267
+ <xs:complexType name="typeHistoryEvent">
268
+ <xs:sequence>
269
+ <xs:element name="EVENT_ID" type="xs:positiveInteger" />
270
+ <xs:element name="EVENT_TYPE" type="enumHistoryEventType" />
271
+ <xs:element name="DATE_CREATED" type="xs:dateTime" />
272
+ </xs:sequence>
273
+ </xs:complexType>
274
+
275
+ <xs:complexType name="typeMessage">
276
+ <xs:sequence>
277
+ <xs:element name="MESSAGE_ID" type="xs:positiveInteger" minOccurs="0" />
278
+ <xs:element name="MESSAGE_TYPE" type="enumMessageType" />
279
+ <xs:element name="TB_ORDER_ID" type="xs:positiveInteger" />
280
+ <xs:element name="TB_ORDER_ITEM_ID" type="xs:positiveInteger" minOccurs="0" />
281
+ <xs:element name="SKU" type="type50StringNotNull" minOccurs="0" />
282
+ <xs:element name="CHANNEL_SIGN" type="typeChannelSign" minOccurs="0" />
283
+ <xs:element name="CHANNEL_ORDER_ID" type="type50StringNotNull" minOccurs="0" />
284
+ <xs:element name="CHANNEL_ORDER_ITEM_ID" type="type50StringNotNull" minOccurs="0" />
285
+ <xs:element name="CHANNEL_SKU" type="type50StringNotNull" minOccurs="0" />
286
+ <xs:element name="QUANTITY" type="xs:positiveInteger" />
287
+ <xs:element name="CARRIER_PARCEL_TYPE" type="type50StringNotNull" minOccurs="0" />
288
+ <xs:sequence minOccurs="0">
289
+ <xs:element name="IDCODE" type="type50StringNotNull"/>
290
+ <xs:element name="IDCODE_RETURN_PROPOSAL" type="type50StringNotNull" minOccurs="0">
291
+ <xs:annotation>
292
+ <xs:documentation>Voraussichtlicher Shipcode des Retourenpakets. Nur zu liefern bei Versandmeldungen. Der verwendete Shipcode bei Retourenmeldung ist in IDCODE zu liefern.</xs:documentation>
293
+ </xs:annotation>
294
+ </xs:element>
295
+ </xs:sequence>
296
+ <xs:element name="DEDUCTION" type="typeNonNegativeDecimalWithCurrencyAttribute" minOccurs="0">
297
+ </xs:element>
298
+ <xs:element name="COMMENT" type="xs:string" minOccurs="0" />
299
+ <xs:element name="RETURN_CAUSE" type="type50StringNotNull" minOccurs="0" />
300
+ <xs:element name="RETURN_STATE" type="type50StringNotNull" minOccurs="0" />
301
+ <xs:element name="SERVICE" type="typeService" minOccurs="0" />
302
+ <xs:element name="EST_SHIP_DATE" type="xs:date" minOccurs="0" />
303
+ <xs:element name="PROCESSED" type="xs:boolean" minOccurs="0" />
304
+ <xs:element name="EXPORTED" type="xs:boolean" minOccurs="0" />
305
+ <xs:element name="DATE_CREATED" type="xs:dateTime" minOccurs="0" />
306
+ </xs:sequence>
307
+
308
+ <xs:anyAttribute namespace="##other" processContents="skip" />
309
+ </xs:complexType>
310
+
311
+ <xs:complexType name="typeMessageList">
312
+ <xs:sequence>
313
+ <xs:element name="MESSAGE" type="typeMessage" minOccurs="0" maxOccurs="unbounded" />
314
+ </xs:sequence>
315
+ </xs:complexType>
316
+
317
+ <xs:complexType name="typeMediaRef">
318
+ <xs:simpleContent>
319
+ <xs:extension base="xs:string">
320
+ <xs:attribute name="type" use="required" type="xs:string" />
321
+ <xs:attribute name="sort" use="required" type="xs:integer" />
322
+ <xs:attribute name="origname" use="optional" type="xs:string" />
323
+ </xs:extension>
324
+ </xs:simpleContent>
325
+ </xs:complexType>
326
+
327
+ <xs:complexType name="typeSigngroups">
328
+ <xs:sequence>
329
+ <xs:element name="SIGNGROUP" maxOccurs="unbounded">
330
+ <xs:complexType>
331
+ <xs:sequence>
332
+ <xs:element name="SIGN" maxOccurs="unbounded">
333
+ <xs:complexType>
334
+ <xs:simpleContent>
335
+ <xs:extension base="xs:string">
336
+ <xs:attribute name="identifier" use="required" type="typeIdentifier" />
337
+ <xs:attribute name="key" use="required" type="xs:string" />
338
+ </xs:extension>
339
+ </xs:simpleContent>
340
+ </xs:complexType>
341
+ </xs:element>
342
+ </xs:sequence>
343
+ <xs:attribute name="identifier" use="required" type="typeIdentifier" />
344
+ <xs:attribute name="key" use="required" type="xs:string" />
345
+ </xs:complexType>
346
+ </xs:element>
347
+ </xs:sequence>
348
+ </xs:complexType>
349
+
350
+ <xs:complexType name="typeStringWithKey">
351
+ <xs:simpleContent>
352
+ <xs:extension base="xs:string">
353
+ <xs:attribute name="identifier" use="required" type="typeIdentifier" />
354
+ <xs:attribute name="key" use="required" type="xs:string" />
355
+ <xs:attribute name="name" use="optional" type="xs:string" />
356
+ </xs:extension>
357
+ </xs:simpleContent>
358
+ </xs:complexType>
359
+
360
+ <xs:simpleType name="type2StringFix">
361
+ <xs:restriction base="xs:normalizedString">
362
+ <xs:minLength value="2"/>
363
+ <xs:maxLength value="2"/>
364
+ </xs:restriction>
365
+ </xs:simpleType>
366
+
367
+ <xs:simpleType name="type3StringFix">
368
+ <xs:restriction base="xs:normalizedString">
369
+ <xs:minLength value="3"/>
370
+ <xs:maxLength value="3"/>
371
+ </xs:restriction>
372
+ </xs:simpleType>
373
+
374
+ <xs:complexType name="typeDecimalWithCurrencyAttribute">
375
+ <xs:simpleContent>
376
+ <xs:extension base="xs:decimal">
377
+ <xs:attribute name="currency" use="optional" type="type3StringFix"/>
378
+ </xs:extension>
379
+ </xs:simpleContent>
380
+ </xs:complexType>
381
+
382
+ <xs:complexType name="typeNonNegativeDecimalWithCurrencyAttribute">
383
+ <xs:simpleContent>
384
+ <xs:extension base="typeNonNegativeDecimal">
385
+ <xs:attribute name="currency" use="optional" type="type3StringFix"/>
386
+ </xs:extension>
387
+ </xs:simpleContent>
388
+ </xs:complexType>
389
+
390
+ <xs:simpleType name="type2String">
391
+ <xs:restriction base="xs:normalizedString">
392
+ <xs:minLength value="0"/>
393
+ <xs:maxLength value="2"/>
394
+ </xs:restriction>
395
+ </xs:simpleType>
396
+
397
+ <xs:simpleType name="type5StringNotNull">
398
+ <xs:restriction base="xs:normalizedString">
399
+ <xs:minLength value="1"/>
400
+ <xs:maxLength value="5"/>
401
+ </xs:restriction>
402
+ </xs:simpleType>
403
+
404
+ <xs:simpleType name="type10String">
405
+ <xs:restriction base="xs:normalizedString">
406
+ <xs:minLength value="0"/>
407
+ <xs:maxLength value="10"/>
408
+ </xs:restriction>
409
+ </xs:simpleType>
410
+
411
+ <xs:simpleType name="type10StringNotNull">
412
+ <xs:restriction base="xs:normalizedString">
413
+ <xs:minLength value="1"/>
414
+ <xs:maxLength value="10"/>
415
+ </xs:restriction>
416
+ </xs:simpleType>
417
+
418
+ <xs:simpleType name="type20StringNotNull">
419
+ <xs:restriction base="xs:normalizedString">
420
+ <xs:minLength value="1"/>
421
+ <xs:maxLength value="20"/>
422
+ </xs:restriction>
423
+ </xs:simpleType>
424
+
425
+ <xs:simpleType name="type30StringNotNull">
426
+ <xs:restriction base="xs:normalizedString">
427
+ <xs:minLength value="1"/>
428
+ <xs:maxLength value="30"/>
429
+ </xs:restriction>
430
+ </xs:simpleType>
431
+
432
+ <xs:simpleType name="type50String">
433
+ <xs:restriction base="xs:normalizedString">
434
+ <xs:minLength value="0"/>
435
+ <xs:maxLength value="50"/>
436
+ </xs:restriction>
437
+ </xs:simpleType>
438
+
439
+ <xs:simpleType name="type50StringNotNull">
440
+ <xs:restriction base="xs:normalizedString">
441
+ <xs:minLength value="1"/>
442
+ <xs:maxLength value="50"/>
443
+ </xs:restriction>
444
+ </xs:simpleType>
445
+
446
+ <xs:simpleType name="type80StringNotNull">
447
+ <xs:restriction base="xs:normalizedString">
448
+ <xs:minLength value="1"/>
449
+ <xs:maxLength value="80"/>
450
+ </xs:restriction>
451
+ </xs:simpleType>
452
+
453
+ <xs:simpleType name="type100String">
454
+ <xs:restriction base="xs:normalizedString">
455
+ <xs:minLength value="0"/>
456
+ <xs:maxLength value="100"/>
457
+ </xs:restriction>
458
+ </xs:simpleType>
459
+
460
+ <xs:simpleType name="type100StringNotNull">
461
+ <xs:restriction base="xs:normalizedString">
462
+ <xs:minLength value="1"/>
463
+ <xs:maxLength value="100"/>
464
+ </xs:restriction>
465
+ </xs:simpleType>
466
+
467
+ <xs:simpleType name="type200StringNotNull">
468
+ <xs:restriction base="xs:normalizedString">
469
+ <xs:minLength value="1"/>
470
+ <xs:maxLength value="200"/>
471
+ </xs:restriction>
472
+ </xs:simpleType>
473
+
474
+ <xs:simpleType name="type300StringNotNull">
475
+ <xs:restriction base="xs:normalizedString">
476
+ <xs:minLength value="1"/>
477
+ <xs:maxLength value="300"/>
478
+ </xs:restriction>
479
+ </xs:simpleType>
480
+
481
+ <xs:simpleType name="type255String">
482
+ <xs:restriction base="xs:normalizedString">
483
+ <xs:minLength value="0"/>
484
+ <xs:maxLength value="255"/>
485
+ </xs:restriction>
486
+ </xs:simpleType>
487
+
488
+ <xs:simpleType name="type255StringNotNull">
489
+ <xs:restriction base="xs:normalizedString">
490
+ <xs:minLength value="1"/>
491
+ <xs:maxLength value="255"/>
492
+ </xs:restriction>
493
+ </xs:simpleType>
494
+
495
+ <xs:simpleType name="typeNonNegativeInteger">
496
+ <xs:restriction base="xs:integer">
497
+ <xs:minInclusive value="0" />
498
+ </xs:restriction>
499
+ </xs:simpleType>
500
+
501
+ <xs:simpleType name="typeNonNegativeDecimal">
502
+ <xs:restriction base="xs:decimal">
503
+ <xs:totalDigits value="12" />
504
+ <xs:fractionDigits value="2" fixed="true" />
505
+ <xs:minInclusive value="0.00" />
506
+ </xs:restriction>
507
+ </xs:simpleType>
508
+
509
+ <xs:simpleType name="typeEAN">
510
+ <xs:restriction base="xs:integer">
511
+ <xs:totalDigits value="13" fixed="true" />
512
+ </xs:restriction>
513
+ </xs:simpleType>
514
+
515
+ <xs:simpleType name="enumChannelSign">
516
+ <xs:restriction base="xs:string">
517
+ <xs:enumeration value="NDE" />
518
+ <xs:enumeration value="NAT" />
519
+ <xs:enumeration value="NCH" />
520
+ <xs:enumeration value="OTDE" />
521
+ <xs:enumeration value="PODE" />
522
+ <xs:enumeration value="AMDE" />
523
+ </xs:restriction>
524
+ </xs:simpleType>
525
+
526
+ <xs:simpleType name="enumPaymentType">
527
+ <xs:restriction base="xs:string">
528
+ <xs:enumeration value="CREDIT_CARD" />
529
+ <xs:enumeration value="CASH_IN_ADVANCE" />
530
+ <xs:enumeration value="CASH_ON_DELIVERY" />
531
+ <xs:enumeration value="INVOICE" />
532
+ <xs:enumeration value="OTHER" />
533
+ </xs:restriction>
534
+ </xs:simpleType>
535
+
536
+ <xs:simpleType name="enumMessageType">
537
+ <xs:restriction base="xs:string">
538
+ <xs:enumeration value="SHIP" />
539
+ <xs:enumeration value="NO_INVENTORY" />
540
+ <xs:enumeration value="CUST_CANCEL" />
541
+ <xs:enumeration value="RETURN" />
542
+ <xs:enumeration value="DEDUCT_SHIPPING_COSTS" />
543
+ <xs:enumeration value="DEDUCT_SERVICE_PRICE" />
544
+ <xs:enumeration value="ORDER_ACKNOWLEDGE" />
545
+ <xs:enumeration value="DEDUCT_PAYMENT_COSTS" />
546
+ <xs:enumeration value="PAYMENT_STATE_OPEN" />
547
+ <xs:enumeration value="PAYMENT_STATE_PAID" />
548
+ <xs:enumeration value="PAYMENT_STATE_SHORTFALL" />
549
+ <xs:enumeration value="REFUND" />
550
+ </xs:restriction>
551
+ </xs:simpleType>
552
+
553
+ <xs:simpleType name="enumHistoryEventType">
554
+ <xs:restriction base="xs:string">
555
+ <xs:enumeration value="CUSTOMER_CHANGE_SELLTO" />
556
+ <xs:enumeration value="CUSTOMER_CHANGE_SHIPTO" />
557
+ <xs:enumeration value="MESSAGE_CREATED" />
558
+ <xs:enumeration value="MESSAGE_DELETED" />
559
+ <xs:enumeration value="ORDER_APPROVED" />
560
+ <xs:enumeration value="ORDER_CHANGE" />
561
+ <xs:enumeration value="ORDER_CHANGE_ROUTING_CODE" />
562
+ <xs:enumeration value="ORDER_CREATED" />
563
+ <xs:enumeration value="ORDER_EXPORTED" />
564
+ <xs:enumeration value="ORDER_EXPORT_CLEARED" />
565
+ <xs:enumeration value="ORDER_SEEN" />
566
+ <xs:enumeration value="ORDER_WITHDRAWN" />
567
+ <xs:enumeration value="ORDER_WITHDRAWN_OUTDATED" />
568
+ <xs:enumeration value="PAYMENT_STATE_OPEN" />
569
+ <xs:enumeration value="PAYMENT_STATE_PAID" />
570
+ <xs:enumeration value="PAYMENT_STATE_PARTIAL" />
571
+ <xs:enumeration value="PAYMENT_STATE_SHORTFALL" />
572
+ <xs:enumeration value="PRINT_DELIVERY_NOTE" />
573
+ <xs:enumeration value="PRINT_ORDER_SHEET" />
574
+ </xs:restriction>
575
+ </xs:simpleType>
576
+
577
+ <xs:simpleType name="enumOrderState">
578
+ <xs:restriction base="xs:string">
579
+ <xs:enumeration value="OPEN" />
580
+ <xs:enumeration value="PARTIAL" />
581
+ <xs:enumeration value="CLOSED" />
582
+ </xs:restriction>
583
+ </xs:simpleType>
584
+
585
+ <xs:simpleType name="typeChannelSign">
586
+ <xs:restriction base="xs:string">
587
+ <xs:maxLength value="12"/>
588
+ <xs:pattern value="[A-Za-z][A-za-z0-9]+"/>
589
+ </xs:restriction>
590
+ </xs:simpleType>
591
+
592
+ <xs:simpleType name="typeBoolString">
593
+ <xs:restriction base="xs:string">
594
+ <xs:maxLength value="1"/>
595
+ <xs:enumeration value="0"/>
596
+ <xs:enumeration value="1"/>
597
+ </xs:restriction>
598
+ </xs:simpleType>
599
+
600
+ <xs:simpleType name="typeTaxCode">
601
+ <xs:restriction base="xs:string">
602
+ <xs:maxLength value="1"/>
603
+ <xs:enumeration value="1"/>
604
+ <xs:enumeration value="2"/>
605
+ <xs:enumeration value="3"/>
606
+ </xs:restriction>
607
+ </xs:simpleType>
608
+
609
+ <xs:complexType name="typeAttributeBase">
610
+ <xs:choice>
611
+
612
+ <!-- key based -->
613
+ <xs:sequence>
614
+ <xs:element name="KEY" type="xs:string" />
615
+ <xs:element name="NAME" type="xs:string" />
616
+ </xs:sequence>
617
+
618
+ <!-- name based -->
619
+ <xs:sequence>
620
+ <xs:element name="NAME" type="xs:string" />
621
+ </xs:sequence>
622
+ </xs:choice>
623
+ </xs:complexType>
624
+
625
+ <xs:complexType name="typeAttributeBaseAlwaysID">
626
+ <xs:choice>
627
+ <!-- ID based -->
628
+ <xs:sequence>
629
+ <xs:element name="ID" type="typeNonNegativeInteger" />
630
+ <xs:element name="KEY" type="xs:string" minOccurs="0" />
631
+ <xs:element name="NAME" type="xs:string" />
632
+ </xs:sequence>
633
+
634
+ <!-- key based -->
635
+ <xs:sequence>
636
+ <xs:element name="KEY" type="xs:string" />
637
+ <xs:element name="NAME" type="xs:string" />
638
+ </xs:sequence>
639
+
640
+ <!-- name based -->
641
+ <xs:sequence>
642
+ <xs:element name="NAME" type="xs:string" />
643
+ </xs:sequence>
644
+ </xs:choice>
645
+ </xs:complexType>
646
+
647
+ <xs:complexType name="typeIdentifierKey100Name300">
648
+ <xs:attribute name="identifier" type="typeIdentifier" use="required"/>
649
+ <xs:attribute name="key" type="type100StringNotNull" use="required"/>
650
+ <xs:attribute name="name" type="type300StringNotNull" use="optional"/>
651
+ </xs:complexType>
652
+
653
+ <xs:complexType name="typeIdentifierKeyName">
654
+ <xs:attribute name="identifier" type="typeIdentifier" use="required"/>
655
+ <xs:attribute name="key" type="type50StringNotNull" use="required"/>
656
+ <xs:attribute name="name" type="type100StringNotNull" use="optional"/>
657
+ </xs:complexType>
658
+
659
+ <xs:simpleType name="typeIdentifier">
660
+ <xs:restriction base="xs:string">
661
+ <xs:enumeration value="key"/>
662
+ <xs:enumeration value="name"/>
663
+ </xs:restriction>
664
+ </xs:simpleType>
665
+
666
+ <xs:simpleType name="typeIdentifierAlwaysID">
667
+ <xs:restriction base="xs:string">
668
+ <xs:enumeration value="id"/>
669
+ <xs:enumeration value="key"/>
670
+ <xs:enumeration value="name"/>
671
+ </xs:restriction>
672
+ </xs:simpleType>
673
+
674
+ <xs:complexType name="typeUnixTimestamp">
675
+ <xs:simpleContent>
676
+ <xs:extension base="xs:positiveInteger">
677
+ <xs:attribute name="type" use="required">
678
+ <xs:simpleType>
679
+ <xs:restriction base="xs:string">
680
+ <xs:enumeration value="unix_timestamp"/>
681
+ </xs:restriction>
682
+ </xs:simpleType>
683
+ </xs:attribute>
684
+ </xs:extension>
685
+ </xs:simpleContent>
686
+ </xs:complexType>
687
+
688
+ <xs:simpleType name="typeOne">
689
+ <xs:restriction base="xs:positiveInteger">
690
+ <xs:enumeration value="1" />
691
+ </xs:restriction>
692
+ </xs:simpleType>
693
+
694
+ <xs:simpleType name="typeCurrency">
695
+ <xs:restriction base="xs:string">
696
+ <xs:enumeration value="ADP"/>
697
+ <xs:enumeration value="AED"/>
698
+ <xs:enumeration value="AFA"/>
699
+ <xs:enumeration value="ALL"/>
700
+ <xs:enumeration value="ANG"/>
701
+ <xs:enumeration value="AOK"/>
702
+ <xs:enumeration value="ARA"/>
703
+ <xs:enumeration value="ATS"/>
704
+ <xs:enumeration value="AUD"/>
705
+ <xs:enumeration value="AWG"/>
706
+ <xs:enumeration value="BBD"/>
707
+ <xs:enumeration value="BDT"/>
708
+ <xs:enumeration value="BEF"/>
709
+ <xs:enumeration value="BGL"/>
710
+ <xs:enumeration value="BHD"/>
711
+ <xs:enumeration value="BIF"/>
712
+ <xs:enumeration value="BMD"/>
713
+ <xs:enumeration value="BND"/>
714
+ <xs:enumeration value="BOB"/>
715
+ <xs:enumeration value="BRC"/>
716
+ <xs:enumeration value="BSD"/>
717
+ <xs:enumeration value="BTN"/>
718
+ <xs:enumeration value="BUK"/>
719
+ <xs:enumeration value="BWP"/>
720
+ <xs:enumeration value="BZD"/>
721
+ <xs:enumeration value="CAD"/>
722
+ <xs:enumeration value="CHF"/>
723
+ <xs:enumeration value="CLF"/>
724
+ <xs:enumeration value="CLP"/>
725
+ <xs:enumeration value="CNY"/>
726
+ <xs:enumeration value="COP"/>
727
+ <xs:enumeration value="CRC"/>
728
+ <xs:enumeration value="CSK"/>
729
+ <xs:enumeration value="CUP"/>
730
+ <xs:enumeration value="CVE"/>
731
+ <xs:enumeration value="CYP"/>
732
+ <xs:enumeration value="DDM"/>
733
+ <xs:enumeration value="DEM"/>
734
+ <xs:enumeration value="DJF"/>
735
+ <xs:enumeration value="DKK"/>
736
+ <xs:enumeration value="DOP"/>
737
+ <xs:enumeration value="DZD"/>
738
+ <xs:enumeration value="ECS"/>
739
+ <xs:enumeration value="EGP"/>
740
+ <xs:enumeration value="ESP"/>
741
+ <xs:enumeration value="ETB"/>
742
+ <xs:enumeration value="EUR"/>
743
+ <xs:enumeration value="FIM"/>
744
+ <xs:enumeration value="FJD"/>
745
+ <xs:enumeration value="FKP"/>
746
+ <xs:enumeration value="FRF"/>
747
+ <xs:enumeration value="GBP"/>
748
+ <xs:enumeration value="GHC"/>
749
+ <xs:enumeration value="GIP"/>
750
+ <xs:enumeration value="GMD"/>
751
+ <xs:enumeration value="GNF"/>
752
+ <xs:enumeration value="GRD"/>
753
+ <xs:enumeration value="GTQ"/>
754
+ <xs:enumeration value="GWP"/>
755
+ <xs:enumeration value="GYD"/>
756
+ <xs:enumeration value="HKD"/>
757
+ <xs:enumeration value="HNL"/>
758
+ <xs:enumeration value="HTG"/>
759
+ <xs:enumeration value="HUF"/>
760
+ <xs:enumeration value="IDR"/>
761
+ <xs:enumeration value="IEP"/>
762
+ <xs:enumeration value="ILS"/>
763
+ <xs:enumeration value="INR"/>
764
+ <xs:enumeration value="IQD"/>
765
+ <xs:enumeration value="IRR"/>
766
+ <xs:enumeration value="ISK"/>
767
+ <xs:enumeration value="ITL"/>
768
+ <xs:enumeration value="JMD"/>
769
+ <xs:enumeration value="JOD"/>
770
+ <xs:enumeration value="JPY"/>
771
+ <xs:enumeration value="KES"/>
772
+ <xs:enumeration value="KHR"/>
773
+ <xs:enumeration value="KMF"/>
774
+ <xs:enumeration value="KPW"/>
775
+ <xs:enumeration value="KRW"/>
776
+ <xs:enumeration value="KWD"/>
777
+ <xs:enumeration value="KYD"/>
778
+ <xs:enumeration value="LAK"/>
779
+ <xs:enumeration value="LBP"/>
780
+ <xs:enumeration value="LKR"/>
781
+ <xs:enumeration value="LRD"/>
782
+ <xs:enumeration value="LSL"/>
783
+ <xs:enumeration value="LUF"/>
784
+ <xs:enumeration value="LYD"/>
785
+ <xs:enumeration value="MAD"/>
786
+ <xs:enumeration value="MGF"/>
787
+ <xs:enumeration value="MNT"/>
788
+ <xs:enumeration value="MOP"/>
789
+ <xs:enumeration value="MRO"/>
790
+ <xs:enumeration value="MTL"/>
791
+ <xs:enumeration value="MUR"/>
792
+ <xs:enumeration value="MVR"/>
793
+ <xs:enumeration value="MWK"/>
794
+ <xs:enumeration value="MXP"/>
795
+ <xs:enumeration value="MYR"/>
796
+ <xs:enumeration value="MZM"/>
797
+ <xs:enumeration value="NGN"/>
798
+ <xs:enumeration value="NIC"/>
799
+ <xs:enumeration value="NLG"/>
800
+ <xs:enumeration value="NOK"/>
801
+ <xs:enumeration value="NPR"/>
802
+ <xs:enumeration value="NZD"/>
803
+ <xs:enumeration value="OMR"/>
804
+ <xs:enumeration value="PAB"/>
805
+ <xs:enumeration value="PEI"/>
806
+ <xs:enumeration value="PGK"/>
807
+ <xs:enumeration value="PHP"/>
808
+ <xs:enumeration value="PKR"/>
809
+ <xs:enumeration value="PLZ"/>
810
+ <xs:enumeration value="PTE"/>
811
+ <xs:enumeration value="PYG"/>
812
+ <xs:enumeration value="QAR"/>
813
+ <xs:enumeration value="ROL"/>
814
+ <xs:enumeration value="RWF"/>
815
+ <xs:enumeration value="SAR"/>
816
+ <xs:enumeration value="SBD"/>
817
+ <xs:enumeration value="SCR"/>
818
+ <xs:enumeration value="SDP"/>
819
+ <xs:enumeration value="SEK"/>
820
+ <xs:enumeration value="SGD"/>
821
+ <xs:enumeration value="SHP"/>
822
+ <xs:enumeration value="SLL"/>
823
+ <xs:enumeration value="SKK"/>
824
+ <xs:enumeration value="SOS"/>
825
+ <xs:enumeration value="SRG"/>
826
+ <xs:enumeration value="STD"/>
827
+ <xs:enumeration value="SUR"/>
828
+ <xs:enumeration value="SVC"/>
829
+ <xs:enumeration value="SYP"/>
830
+ <xs:enumeration value="SZL"/>
831
+ <xs:enumeration value="THB"/>
832
+ <xs:enumeration value="TND"/>
833
+ <xs:enumeration value="TOP"/>
834
+ <xs:enumeration value="TPE"/>
835
+ <xs:enumeration value="TRL"/>
836
+ <xs:enumeration value="TTD"/>
837
+ <xs:enumeration value="TWD"/>
838
+ <xs:enumeration value="TZS"/>
839
+ <xs:enumeration value="UGS"/>
840
+ <xs:enumeration value="USD"/>
841
+ <xs:enumeration value="UYP"/>
842
+ <xs:enumeration value="VEB"/>
843
+ <xs:enumeration value="VND"/>
844
+ <xs:enumeration value="VUV"/>
845
+ <xs:enumeration value="WST"/>
846
+ <xs:enumeration value="YDD"/>
847
+ <xs:enumeration value="YER"/>
848
+ <xs:enumeration value="YUD"/>
849
+ <xs:enumeration value="ZAR"/>
850
+ <xs:enumeration value="ZMK"/>
851
+ <xs:enumeration value="ZRZ"/>
852
+ <xs:enumeration value="ZWD"/>
853
+ </xs:restriction>
854
+ </xs:simpleType>
855
+
856
+ <xs:complexType name="typeReservation">
857
+ <xs:sequence>
858
+ <xs:element name="RESERVATION_DATA" type="typeReservationData" />
859
+ <xs:element name="ORDER_DATA" type="typeReservationOrderData" minOccurs="0" />
860
+ <xs:element name="ITEM" type="typeReservationItem" />
861
+ </xs:sequence>
862
+ </xs:complexType>
863
+
864
+ <xs:complexType name="typeReservationData">
865
+ <xs:sequence>
866
+ <xs:element name="RESERVATION_DATE" type="xs:date" />
867
+ <xs:element name="TB_ID" type="xs:positiveInteger" minOccurs="0" />
868
+ <xs:element name="CHANNEL_SIGN" type="typeChannelSign" minOccurs="0" />
869
+ <xs:element name="EXPIRATION" type="xs:date" minOccurs="0" />
870
+ <xs:element name="RESERVATION_KEY" type="type50StringNotNull" minOccurs="0" />
871
+ <xs:element name="DATE_CREATED" type="xs:date" minOccurs="0" />
872
+ </xs:sequence>
873
+ </xs:complexType>
874
+
875
+ <xs:complexType name="typeReservationOrderData">
876
+ <xs:sequence>
877
+ <xs:element name="ORDER_DATE" type="xs:date" />
878
+ <xs:element name="TB_ID" type="xs:positiveInteger" />
879
+ <xs:element name="CHANNEL_SIGN" type="typeChannelSign" minOccurs="0" />
880
+ <xs:element name="CHANNEL_ID" type="type50StringNotNull" />
881
+ <xs:element name="CHANNEL_NO" type="type50StringNotNull" minOccurs="0" />
882
+ <xs:element name="BILL_NO" type="type50StringNotNull" minOccurs="0" />
883
+ </xs:sequence>
884
+ </xs:complexType>
885
+
886
+ <xs:complexType name="typeReservationItem">
887
+ <xs:sequence>
888
+ <xs:element name="CHANNEL_ID" type="type50StringNotNull" minOccurs="0" />
889
+ <xs:element name="SKU" type="type50StringNotNull" />
890
+ <xs:element name="CHANNEL_SKU" type="type50StringNotNull" minOccurs="0" />
891
+ <xs:element name="EAN" type="typeEAN" minOccurs="0" />
892
+ <xs:element name="QUANTITY" type="xs:positiveInteger" />
893
+ </xs:sequence>
894
+ </xs:complexType>
895
+
896
+ <!-- end: tb-base.xsd -->
897
+
898
+
899
+
900
+ <!--
901
+ begin: tb-cat-base-multilang.xsd
902
+ -->
903
+
904
+
905
+ <!--
906
+ Copyright (C) 2012 by Tradebyte Software GmbH
907
+ Written by Robert Gross <robert.gross@tradebyte.de>
908
+
909
+ All rights reserved.
910
+ -->
911
+
912
+
913
+ <xs:complexType name="stringOrTrans">
914
+ <xs:sequence>
915
+ <xs:element name="VALUE" maxOccurs="unbounded">
916
+ <xs:complexType>
917
+ <xs:simpleContent>
918
+ <xs:extension base="xs:string">
919
+ <xs:attribute ref="xml:lang" use="required" />
920
+ </xs:extension>
921
+ </xs:simpleContent>
922
+ </xs:complexType>
923
+ </xs:element>
924
+ </xs:sequence>
925
+ </xs:complexType>
926
+
927
+ <xs:complexType name="type255StringOrTrans">
928
+ <xs:sequence>
929
+ <xs:element name="VALUE" maxOccurs="unbounded">
930
+ <xs:complexType>
931
+ <xs:simpleContent>
932
+ <xs:extension base="type255String">
933
+ <xs:attribute ref="xml:lang" use="required" />
934
+ </xs:extension>
935
+ </xs:simpleContent>
936
+ </xs:complexType>
937
+ </xs:element>
938
+ </xs:sequence>
939
+ </xs:complexType>
940
+
941
+ <xs:complexType name="type255StringNotNullOrTrans">
942
+ <xs:sequence>
943
+ <xs:element name="VALUE" maxOccurs="unbounded">
944
+ <xs:complexType>
945
+ <xs:simpleContent>
946
+ <xs:extension base="type255StringNotNull">
947
+ <xs:attribute ref="xml:lang" use="required" />
948
+ </xs:extension>
949
+ </xs:simpleContent>
950
+ </xs:complexType>
951
+ </xs:element>
952
+ </xs:sequence>
953
+ </xs:complexType>
954
+
955
+ <xs:complexType name="typeStringWithKeyOrTrans">
956
+ <xs:sequence>
957
+ <xs:element name="VALUE" maxOccurs="unbounded">
958
+ <xs:complexType>
959
+ <xs:simpleContent>
960
+ <xs:extension base="xs:string">
961
+ <xs:attribute ref="xml:lang" use="required" />
962
+ </xs:extension>
963
+ </xs:simpleContent>
964
+ </xs:complexType>
965
+ </xs:element>
966
+ </xs:sequence>
967
+
968
+ <xs:attribute name="identifier" use="required" type="typeIdentifier" />
969
+ <xs:attribute name="key" use="required" type="xs:string" />
970
+ <xs:attribute name="name" use="optional" type="xs:string" />
971
+ </xs:complexType>
972
+
973
+ <xs:complexType name="type255StringNotNullSortOrTrans">
974
+ <xs:complexContent>
975
+ <xs:extension base="type255StringNotNullOrTrans">
976
+ <xs:attribute name="sort" use="required" type="typeNonNegativeInteger" />
977
+ </xs:extension>
978
+ </xs:complexContent>
979
+ </xs:complexType>
980
+
981
+ <!-- end: tb-cat-base-multilang.xsd -->
982
+
983
+
984
+ <xs:element name="TBCATALOG">
985
+ <xs:complexType>
986
+ <xs:sequence>
987
+ <xs:element ref="SUPPLIER" minOccurs="0" />
988
+ <xs:element name="CLASSIFICATION" type="typeCLASSIFICATION" minOccurs="0" />
989
+ <xs:choice minOccurs="0">
990
+ <xs:element ref="PRODUCTDATA" />
991
+ <xs:element ref="ARTICLEDATA" />
992
+ </xs:choice>
993
+ </xs:sequence>
994
+
995
+ <xs:attribute name="version" use="required">
996
+ <xs:simpleType>
997
+ <xs:restriction base="xs:string">
998
+ <xs:maxLength value="7" />
999
+ <xs:enumeration value="1.2" />
1000
+ </xs:restriction>
1001
+ </xs:simpleType>
1002
+ </xs:attribute>
1003
+
1004
+
1005
+ <xs:attribute name="creation" use="optional" type="xs:integer" />
1006
+ </xs:complexType>
1007
+ </xs:element>
1008
+
1009
+ <xs:element name="SUPPLIER">
1010
+ <xs:complexType>
1011
+ <xs:sequence>
1012
+ <xs:element name="NAME" type="xs:string" />
1013
+ <xs:element name="CONTACT" type="xs:string" minOccurs="0" />
1014
+ <xs:element name="STREET" type="xs:string" minOccurs="0" />
1015
+ <xs:element name="ZIP" type="xs:string" minOccurs="0" />
1016
+ <xs:element name="CITY" type="xs:string" minOccurs="0" />
1017
+ <xs:element name="PHONE" type="xs:string" minOccurs="0" />
1018
+ <xs:element name="FAX" type="xs:string" minOccurs="0" />
1019
+ <xs:element name="EMAIL" type="xs:string" minOccurs="0" />
1020
+ </xs:sequence>
1021
+ </xs:complexType>
1022
+ </xs:element>
1023
+
1024
+ <!--
1025
+
1026
+ Classification part
1027
+
1028
+ -->
1029
+ <xs:complexType name="typeCLASSIFICATION">
1030
+ <xs:sequence>
1031
+ <xs:element name="STRUCTURE" type="typeSTRUCTURE" minOccurs="0" maxOccurs="unbounded" />
1032
+
1033
+ <xs:element name="COMPONENTS" minOccurs="0">
1034
+ <xs:complexType>
1035
+ <xs:sequence>
1036
+ <xs:element ref="COMPONENT" minOccurs="0" maxOccurs="unbounded" />
1037
+ </xs:sequence>
1038
+ </xs:complexType>
1039
+ </xs:element>
1040
+ <xs:element name="TAGS" minOccurs="0">
1041
+ <xs:complexType>
1042
+ <xs:sequence>
1043
+ <xs:element ref="TAG" minOccurs="0" maxOccurs="unbounded" />
1044
+ </xs:sequence>
1045
+ </xs:complexType>
1046
+ </xs:element>
1047
+ <xs:element name="BRANDS" minOccurs="0">
1048
+ <xs:complexType>
1049
+ <xs:sequence>
1050
+ <xs:element ref="BRAND" minOccurs="0" maxOccurs="unbounded" />
1051
+ </xs:sequence>
1052
+ </xs:complexType>
1053
+ </xs:element>
1054
+ <xs:element name="LOGOS" minOccurs="0">
1055
+ <xs:complexType>
1056
+ <xs:sequence>
1057
+ <xs:element ref="LOGO" minOccurs="0" maxOccurs="unbounded" />
1058
+ </xs:sequence>
1059
+ </xs:complexType>
1060
+ </xs:element>
1061
+
1062
+ </xs:sequence>
1063
+
1064
+ <xs:attribute name="type" use="optional" default="merge">
1065
+ <xs:simpleType>
1066
+ <xs:restriction base="xs:string">
1067
+ <xs:enumeration value="merge" />
1068
+ <xs:enumeration value="replace" />
1069
+ </xs:restriction>
1070
+ </xs:simpleType>
1071
+ </xs:attribute>
1072
+ </xs:complexType>
1073
+
1074
+ <xs:complexType name="typeSTRUCTURE">
1075
+ <xs:sequence>
1076
+ <xs:element name="CHANNEL_ASSIGNMENT" minOccurs="0" maxOccurs="unbounded">
1077
+ <xs:complexType>
1078
+ <xs:sequence>
1079
+ <xs:element name="MIN_OCCURS" type="xs:nonNegativeInteger" />
1080
+ <xs:element name="MAX_OCCURS">
1081
+ <xs:simpleType>
1082
+ <xs:restriction base="xs:string">
1083
+ <xs:pattern value="unbounded|[1-9]\d*" />
1084
+ </xs:restriction>
1085
+ </xs:simpleType>
1086
+ </xs:element>
1087
+ <xs:element name="HAS_MAPPING">
1088
+ <xs:simpleType>
1089
+ <xs:restriction base="xs:string">
1090
+ <xs:enumeration value="no" />
1091
+ <xs:enumeration value="first" />
1092
+ <xs:enumeration value="all" />
1093
+ </xs:restriction>
1094
+ </xs:simpleType>
1095
+ </xs:element>
1096
+ </xs:sequence>
1097
+ <xs:attribute name="type">
1098
+ <xs:simpleType>
1099
+ <xs:restriction base="xs:string" >
1100
+ <xs:enumeration value="product_type" />
1101
+ <xs:enumeration value="nav_primary" />
1102
+ </xs:restriction>
1103
+ </xs:simpleType>
1104
+ </xs:attribute>
1105
+ </xs:complexType>
1106
+ </xs:element>
1107
+
1108
+ <xs:element ref="STRUCTURE_ITEM" minOccurs="0" maxOccurs="unbounded" />
1109
+ </xs:sequence>
1110
+ <xs:attribute name="id" use="optional" type="xs:positiveInteger" />
1111
+ <xs:attribute name="identifier" type="typeIdentifier" use="optional" />
1112
+ <xs:attribute name="key" type="type50StringNotNull" use="optional" />
1113
+ <xs:attribute name="name" type="type100StringNotNull" use="optional" />
1114
+ </xs:complexType>
1115
+
1116
+ <xs:element name="STRUCTURE_ITEM">
1117
+ <xs:complexType>
1118
+ <xs:complexContent>
1119
+ <xs:extension base="typeAttributeBaseAlwaysID">
1120
+ <xs:sequence>
1121
+ <xs:element name="PARENT_ID" type="xs:integer" />
1122
+ <xs:element name="SORT" type="xs:integer" />
1123
+ <xs:element name="SHORT_DESCRIPTION" type="xs:string" minOccurs="0" />
1124
+ <xs:element name="DESCRIPTION" type="xs:string" minOccurs="0" />
1125
+ <xs:element name="META_TITLE" type="xs:string" minOccurs="0" />
1126
+ <xs:element name="META_KEYWORDS" type="xs:string" minOccurs="0" />
1127
+ <xs:element name="META_DESCRIPTION" type="xs:string" minOccurs="0" />
1128
+ <xs:element name="ATTRIBUTE_SET" type="typeIdentifierKeyName" minOccurs="0" maxOccurs="unbounded" />
1129
+ </xs:sequence>
1130
+ </xs:extension>
1131
+ </xs:complexContent>
1132
+ </xs:complexType>
1133
+ </xs:element>
1134
+
1135
+ <xs:element name="COMPONENT">
1136
+ <xs:complexType>
1137
+ <xs:complexContent>
1138
+ <xs:extension base="typeAttributeBase">
1139
+ <xs:sequence>
1140
+ <xs:element name="FILTERABLE" type="xs:boolean" minOccurs="0" />
1141
+ <xs:element name="VISIBLE" type="xs:boolean" minOccurs="0" />
1142
+ <xs:element name="COMPARABLE" type="xs:boolean" minOccurs="0" />
1143
+
1144
+ <xs:element name="DATA_TYPE" minOccurs="0">
1145
+ <xs:complexType>
1146
+ <xs:choice>
1147
+ <xs:element name="INT">
1148
+ <xs:complexType>
1149
+ <xs:sequence minOccurs="0">
1150
+ <xs:element name="MIN_VALUE" type="xs:integer" />
1151
+ <xs:element name="MAX_VALUE" type="xs:integer" />
1152
+ </xs:sequence>
1153
+ </xs:complexType>
1154
+ </xs:element>
1155
+
1156
+ <xs:element name="FLOAT">
1157
+ <xs:complexType>
1158
+ <xs:sequence minOccurs="0">
1159
+ <xs:element name="MIN_VALUE" type="xs:float" />
1160
+ <xs:element name="MAX_VALUE" type="xs:float" />
1161
+ </xs:sequence>
1162
+ </xs:complexType>
1163
+ </xs:element>
1164
+
1165
+ <xs:element name="CHAR">
1166
+ <xs:complexType>
1167
+ <xs:sequence>
1168
+ <xs:element name="MULTILINE" type="xs:boolean" minOccurs="0" />
1169
+ <xs:element name="MIN_LENGTH" type="xs:int" minOccurs="0" />
1170
+ <xs:element name="MAX_LENGTH" type="xs:int" minOccurs="0" />
1171
+ </xs:sequence>
1172
+ </xs:complexType>
1173
+ </xs:element>
1174
+
1175
+ <xs:element name="UNIT">
1176
+ <xs:complexType>
1177
+ <xs:sequence>
1178
+ <xs:element name="MIN_VALUE" type="xs:integer" minOccurs="0" />
1179
+ <xs:element name="MAX_VALUE" type="xs:integer" minOccurs="0" />
1180
+ <xs:element name="TAG" type="typeIdentifierKey100Name300">
1181
+ <xs:annotation>
1182
+ <xs:documentation>Referenz zu einem TAG Element. Der Tag enthält alle zur Verfügung stehenden Einheiten für diesen Datentypen.</xs:documentation>
1183
+ </xs:annotation>
1184
+ </xs:element>
1185
+ </xs:sequence>
1186
+
1187
+ <xs:attribute name="default" use="optional" type="type100StringNotNull">
1188
+ <xs:annotation>
1189
+ <xs:documentation>Standardwert der verwendet werden soll. Andernfalls wird das Feld im Export nicht exportiert, falls kein Wert zugeordnet ist.</xs:documentation>
1190
+ </xs:annotation>
1191
+ </xs:attribute>
1192
+ </xs:complexType>
1193
+ </xs:element>
1194
+
1195
+ <xs:element name="DATE">
1196
+ <xs:complexType>
1197
+ <xs:sequence>
1198
+ <xs:element name="FORMAT" type="type100StringNotNull">
1199
+ <xs:annotation>
1200
+ <xs:documentation>Enthält das Format für die Ausgabe des Datums. Siehe auch http://php.net/manual/de/function.date.php</xs:documentation>
1201
+ </xs:annotation>
1202
+ </xs:element>
1203
+ </xs:sequence>
1204
+ </xs:complexType>
1205
+ </xs:element>
1206
+
1207
+ <xs:element name="COMPOSITION" />
1208
+ </xs:choice>
1209
+ </xs:complexType>
1210
+ </xs:element>
1211
+
1212
+ <xs:element name="COMPONENT_LISTS" minOccurs="0">
1213
+ <xs:complexType>
1214
+ <xs:sequence>
1215
+ <xs:element ref="COMPONENT_LIST" minOccurs="0" maxOccurs="unbounded" />
1216
+ </xs:sequence>
1217
+ </xs:complexType>
1218
+ </xs:element>
1219
+ </xs:sequence>
1220
+ </xs:extension>
1221
+ </xs:complexContent>
1222
+ </xs:complexType>
1223
+ </xs:element>
1224
+
1225
+ <xs:element name="COMPONENT_LIST">
1226
+ <xs:complexType>
1227
+ <xs:complexContent>
1228
+ <xs:extension base="typeAttributeBase">
1229
+ <xs:sequence>
1230
+ <xs:element name="VALUES">
1231
+ <xs:complexType>
1232
+ <xs:sequence>
1233
+ <xs:element name="VALUE" minOccurs="0" maxOccurs="unbounded" />
1234
+ </xs:sequence>
1235
+ </xs:complexType>
1236
+ </xs:element>
1237
+ </xs:sequence>
1238
+ </xs:extension>
1239
+ </xs:complexContent>
1240
+ </xs:complexType>
1241
+ </xs:element>
1242
+
1243
+ <xs:element name="TAG">
1244
+ <xs:complexType>
1245
+ <xs:complexContent>
1246
+ <xs:extension base="typeAttributeBase">
1247
+ <xs:sequence>
1248
+ <xs:element name="VALUES">
1249
+ <xs:complexType>
1250
+ <xs:sequence>
1251
+ <xs:element name="VALUE" minOccurs="0" maxOccurs="unbounded" type="typeAttributeBase"/>
1252
+ </xs:sequence>
1253
+ </xs:complexType>
1254
+ <xs:unique name="NAME-unique">
1255
+ <xs:selector xpath="VALUE" />
1256
+ <xs:field xpath="NAME" />
1257
+ </xs:unique>
1258
+ </xs:element>
1259
+ </xs:sequence>
1260
+ </xs:extension>
1261
+ </xs:complexContent>
1262
+ </xs:complexType>
1263
+ </xs:element>
1264
+
1265
+ <xs:element name="BRAND">
1266
+ <xs:complexType>
1267
+ <xs:complexContent>
1268
+ <xs:extension base="typeAttributeBase">
1269
+ <xs:sequence>
1270
+ <xs:element name="MEDIA" minOccurs="0" type="typeMediaRef" />
1271
+ </xs:sequence>
1272
+ </xs:extension>
1273
+ </xs:complexContent>
1274
+ </xs:complexType>
1275
+ </xs:element>
1276
+
1277
+ <xs:element name="LOGO">
1278
+ <xs:complexType>
1279
+ <xs:complexContent>
1280
+ <xs:extension base="typeAttributeBase">
1281
+ <xs:sequence>
1282
+ <xs:element name="MEDIA" minOccurs="0" type="typeMediaRef" />
1283
+ </xs:sequence>
1284
+ </xs:extension>
1285
+ </xs:complexContent>
1286
+ </xs:complexType>
1287
+ </xs:element>
1288
+
1289
+
1290
+ <!--
1291
+
1292
+ Product data part
1293
+
1294
+ -->
1295
+ <xs:element name="PRODUCTDATA">
1296
+ <xs:complexType>
1297
+ <xs:sequence>
1298
+ <xs:element ref="PRODUCT" minOccurs="0" maxOccurs="unbounded" />
1299
+ </xs:sequence>
1300
+ <xs:attribute name="type" use="optional" default="delta">
1301
+ <xs:simpleType>
1302
+ <xs:restriction base="xs:string">
1303
+ <xs:enumeration value="full" />
1304
+ <xs:enumeration value="delta" />
1305
+ <xs:enumeration value="single" />
1306
+ </xs:restriction>
1307
+ </xs:simpleType>
1308
+ </xs:attribute>
1309
+ </xs:complexType>
1310
+
1311
+ <xs:unique name="uniq_P_NR_EXTERNAL">
1312
+ <xs:selector xpath="PRODUCT" />
1313
+ <xs:field xpath="P_NR_EXTERNAL" />
1314
+ </xs:unique>
1315
+ </xs:element>
1316
+
1317
+ <xs:element name="PRODUCT">
1318
+ <xs:complexType>
1319
+ <xs:sequence>
1320
+ <xs:element name="P_NR" type="type50StringNotNull" />
1321
+ <xs:element name="P_NR_EXTERNAL" minOccurs="0" type="type50StringNotNull" />
1322
+
1323
+ <xs:choice>
1324
+
1325
+ <xs:sequence>
1326
+ <xs:element ref="P_ACTIVEDATA" minOccurs="0" />
1327
+ <xs:choice minOccurs="0">
1328
+ <xs:element name="P_NAME" type="type255StringNotNullOrTrans">
1329
+ <xs:unique name="uniqMULTILANG_P_NAME">
1330
+ <xs:selector xpath="VALUE" />
1331
+ <xs:field xpath="@xml:lang" />
1332
+ </xs:unique>
1333
+ </xs:element>
1334
+
1335
+ <xs:sequence>
1336
+ <xs:element name="P_PREFIX" type="type255StringNotNullOrTrans" minOccurs="0">
1337
+ <xs:unique name="uniqMULTILANG_P_PREFIX">
1338
+ <xs:selector xpath="VALUE" />
1339
+ <xs:field xpath="@xml:lang" />
1340
+ </xs:unique>
1341
+ </xs:element>
1342
+ <xs:element name="P_NAME_KEYWORD" type="type255StringNotNullOrTrans">
1343
+ <xs:unique name="uniqMULTILANG_P_NAME_KEYWORD">
1344
+ <xs:selector xpath="VALUE" />
1345
+ <xs:field xpath="@xml:lang" />
1346
+ </xs:unique>
1347
+ </xs:element>
1348
+ <xs:element name="P_NAME_PROPER" type="type255StringNotNullOrTrans" minOccurs="0">
1349
+ <xs:unique name="uniqMULTILANG_P_NAME_PROPER">
1350
+ <xs:selector xpath="VALUE" />
1351
+ <xs:field xpath="@xml:lang" />
1352
+ </xs:unique>
1353
+ </xs:element>
1354
+ </xs:sequence>
1355
+ </xs:choice>
1356
+ <xs:element name="P_SUPPLEMENT" type="type255StringOrTrans" minOccurs="0">
1357
+ <xs:unique name="uniqMULTILANG_P_SUPPLEMENT">
1358
+ <xs:selector xpath="VALUE" />
1359
+ <xs:field xpath="@xml:lang" />
1360
+ </xs:unique>
1361
+ </xs:element>
1362
+ <xs:element name="P_TEXT" type="stringOrTrans" minOccurs="0">
1363
+ <xs:unique name="uniqMULTILANG_P_TEXT">
1364
+ <xs:selector xpath="VALUE" />
1365
+ <xs:field xpath="@xml:lang" />
1366
+ </xs:unique>
1367
+ </xs:element>
1368
+ <xs:element name="P_TEXT_INTERN" type="xs:string" minOccurs="0" />
1369
+ <xs:element name="P_FEATURE" type="stringOrTrans" minOccurs="0">
1370
+ <xs:unique name="uniqMULTILANG_P_FEATURE">
1371
+ <xs:selector xpath="VALUE" />
1372
+ <xs:field xpath="@xml:lang" />
1373
+ </xs:unique>
1374
+ </xs:element>
1375
+ <xs:element name="P_BRAND" type="typeStringWithKey" minOccurs="0" />
1376
+ <xs:element name="P_KEYWORDS" minOccurs="0">
1377
+ <xs:complexType>
1378
+ <xs:sequence>
1379
+ <xs:element name="P_KEYWORD" type="stringOrTrans" maxOccurs="unbounded">
1380
+ <xs:unique name="uniqMULTILANG_P_KEYWORD">
1381
+ <xs:selector xpath="VALUE" />
1382
+ <xs:field xpath="@xml:lang" />
1383
+ </xs:unique>
1384
+ </xs:element>
1385
+ </xs:sequence>
1386
+ </xs:complexType>
1387
+ </xs:element>
1388
+ <xs:element name="P_COMPONENTDATA" minOccurs="0">
1389
+ <xs:complexType>
1390
+ <xs:sequence>
1391
+ <xs:element name="P_COMPONENT" minOccurs="0" maxOccurs="unbounded" type="typeStringWithKeyOrTrans">
1392
+ <xs:unique name="uniqMULTILANG_P_COMPONENT">
1393
+ <xs:selector xpath="VALUE" />
1394
+ <xs:field xpath="@xml:lang" />
1395
+ </xs:unique>
1396
+ </xs:element>
1397
+ </xs:sequence>
1398
+ </xs:complexType>
1399
+ </xs:element>
1400
+ <xs:element name="P_TAGS" minOccurs="0">
1401
+ <xs:complexType>
1402
+ <xs:sequence>
1403
+ <xs:element name="P_TAG" minOccurs="0" maxOccurs="unbounded">
1404
+ <xs:complexType>
1405
+ <xs:sequence>
1406
+ <xs:element name="VALUES">
1407
+ <xs:complexType>
1408
+ <xs:sequence>
1409
+ <xs:element name="VALUE" type="typeStringWithKey" maxOccurs="unbounded" />
1410
+ </xs:sequence>
1411
+ </xs:complexType>
1412
+ </xs:element>
1413
+ </xs:sequence>
1414
+ <xs:attribute name="identifier" type="typeIdentifier" use="required" />
1415
+ <xs:attribute name="key" type="type50StringNotNull" use="required" />
1416
+ <xs:attribute name="name" use="optional" type="xs:string" />
1417
+ </xs:complexType>
1418
+ </xs:element>
1419
+ </xs:sequence>
1420
+ </xs:complexType>
1421
+ </xs:element>
1422
+ <xs:element name="P_BULLETS" minOccurs="0">
1423
+ <xs:complexType>
1424
+ <xs:sequence>
1425
+ <xs:element name="P_BULLET" maxOccurs="unbounded" type="type255StringNotNullSortOrTrans">
1426
+ <xs:unique name="uniqMULTILANG_P_BULLET">
1427
+ <xs:selector xpath="VALUE" />
1428
+ <xs:field xpath="@xml:lang" />
1429
+ </xs:unique>
1430
+ </xs:element>
1431
+ </xs:sequence>
1432
+ </xs:complexType>
1433
+ </xs:element>
1434
+ <xs:element ref="P_MEDIADATA" minOccurs="0" />
1435
+ <xs:element name="P_LOGOS" minOccurs="0">
1436
+ <xs:complexType>
1437
+ <xs:sequence>
1438
+ <xs:element name="P_LOGO" type="typeStringWithKey" minOccurs="0" maxOccurs="unbounded" />
1439
+ </xs:sequence>
1440
+ </xs:complexType>
1441
+ </xs:element>
1442
+ <xs:element ref="P_CATEGORIES" minOccurs="0" />
1443
+ <xs:element name="P_LINKDATA" minOccurs="0">
1444
+ <xs:complexType>
1445
+ <xs:sequence>
1446
+ <xs:element name="P_LINK" maxOccurs="unbounded">
1447
+ <xs:complexType>
1448
+ <xs:simpleContent>
1449
+ <xs:extension base="type50StringNotNull">
1450
+ <xs:attribute name="type" type="enumLinkTypes" use="required" />
1451
+ </xs:extension>
1452
+ </xs:simpleContent>
1453
+ </xs:complexType>
1454
+ </xs:element>
1455
+ </xs:sequence>
1456
+ </xs:complexType>
1457
+ </xs:element>
1458
+
1459
+
1460
+ <xs:element ref="ARTICLEDATA" minOccurs="0" />
1461
+ </xs:sequence>
1462
+ </xs:choice>
1463
+ </xs:sequence>
1464
+
1465
+ </xs:complexType>
1466
+ </xs:element>
1467
+
1468
+ <xs:element name="P_ACTIVEDATA">
1469
+ <xs:complexType>
1470
+ <xs:sequence>
1471
+ <xs:element name="P_ACTIVE" maxOccurs="unbounded">
1472
+ <xs:complexType>
1473
+ <xs:simpleContent>
1474
+ <xs:extension base="typeBoolString">
1475
+ <xs:attribute name="channel" use="required" type="typeChannelSign" />
1476
+ </xs:extension>
1477
+ </xs:simpleContent>
1478
+ </xs:complexType>
1479
+ </xs:element>
1480
+ </xs:sequence>
1481
+ </xs:complexType>
1482
+ </xs:element>
1483
+
1484
+
1485
+ <xs:element name="P_MEDIADATA">
1486
+ <xs:complexType>
1487
+ <xs:sequence>
1488
+ <xs:element name="P_MEDIA" maxOccurs="unbounded" type="typeMediaRef" />
1489
+ </xs:sequence>
1490
+ </xs:complexType>
1491
+ </xs:element>
1492
+
1493
+ <xs:element name="P_VARIANTFIELDS">
1494
+ <xs:complexType>
1495
+ <xs:sequence>
1496
+ <xs:element name="P_VARIANTFIELD" type="typeStringWithKey" maxOccurs="unbounded" />
1497
+ </xs:sequence>
1498
+ </xs:complexType>
1499
+ </xs:element>
1500
+
1501
+ <xs:element name="ARTICLEDATA">
1502
+ <xs:complexType>
1503
+ <xs:sequence>
1504
+ <xs:element ref="ARTICLE" maxOccurs="unbounded" />
1505
+ </xs:sequence>
1506
+ </xs:complexType>
1507
+ </xs:element>
1508
+
1509
+ <xs:element name="ARTICLE">
1510
+ <xs:complexType>
1511
+ <xs:sequence>
1512
+ <xs:choice>
1513
+ <xs:element name="A_NR" type="type50StringNotNull" />
1514
+ </xs:choice>
1515
+
1516
+ <xs:element name="A_ACTIVE" type="typeBoolString" minOccurs="0" />
1517
+ <xs:element name="A_EAN" type="typeEAN" minOccurs="0" />
1518
+ <xs:element name="A_PROD_NR" type="type50String" minOccurs="0" />
1519
+ <xs:element name="A_NR2" type="type50String" minOccurs="0" />
1520
+ <xs:element name="A_SORT" type="xs:integer" minOccurs="0" />
1521
+ <xs:element name="A_SEGMENT" type="typeStringWithKey" minOccurs="0" />
1522
+ <xs:element ref="A_VARIANTDATA" minOccurs="0" />
1523
+ <xs:element ref="A_COMPONENTDATA" minOccurs="0" />
1524
+ <xs:element name="A_TAGS" minOccurs="0">
1525
+ <xs:complexType>
1526
+ <xs:sequence>
1527
+ <xs:element name="A_TAG" minOccurs="0" maxOccurs="unbounded">
1528
+ <xs:complexType>
1529
+ <xs:sequence>
1530
+ <xs:element name="VALUES">
1531
+ <xs:complexType>
1532
+ <xs:sequence>
1533
+ <xs:element name="VALUE" type="typeStringWithKey" maxOccurs="unbounded" />
1534
+ </xs:sequence>
1535
+ </xs:complexType>
1536
+ </xs:element>
1537
+ </xs:sequence>
1538
+ <xs:attribute name="identifier" use="required" type="typeIdentifier" />
1539
+ <xs:attribute name="key" use="required" type="xs:string" />
1540
+ <xs:attribute name="name" use="optional" type="xs:string" />
1541
+ </xs:complexType>
1542
+ </xs:element>
1543
+ </xs:sequence>
1544
+ </xs:complexType>
1545
+ </xs:element>
1546
+ <xs:element ref="A_PRICEDATA" minOccurs="0" />
1547
+ <xs:element name="A_BASEPRICE_QUANTITY" minOccurs="0">
1548
+ <xs:complexType>
1549
+ <xs:simpleContent>
1550
+ <xs:extension base="typeStringWithKey">
1551
+ <xs:attribute name="base_quantity" use="optional" type="xs:positiveInteger" />
1552
+ </xs:extension>
1553
+ </xs:simpleContent>
1554
+ </xs:complexType>
1555
+ </xs:element>
1556
+ <xs:element name="A_PROVISIONDATA" minOccurs="0">
1557
+ <xs:complexType>
1558
+ <xs:sequence>
1559
+ <xs:element name="A_PROVISION" maxOccurs="unbounded">
1560
+ <xs:complexType>
1561
+ <xs:simpleContent>
1562
+ <xs:extension base="type50StringNotNull">
1563
+ <xs:attribute name="channel" type="typeChannelSign" use="required" />
1564
+ </xs:extension>
1565
+ </xs:simpleContent>
1566
+ </xs:complexType>
1567
+ </xs:element>
1568
+ </xs:sequence>
1569
+ </xs:complexType>
1570
+ </xs:element>
1571
+ <xs:element ref="A_MEDIADATA" minOccurs="0" />
1572
+ <xs:element name="A_UNIT" minOccurs="0" default="ST">
1573
+ <xs:simpleType>
1574
+ <xs:restriction base="xs:string">
1575
+ <xs:enumeration value="ST" />
1576
+ <xs:enumeration value="CM" />
1577
+ <xs:enumeration value="QM" />
1578
+ </xs:restriction>
1579
+ </xs:simpleType>
1580
+ </xs:element>
1581
+ <xs:element name="A_STOCK" minOccurs="0" maxOccurs="unbounded">
1582
+ <xs:complexType>
1583
+ <xs:simpleContent>
1584
+ <xs:extension base="xs:integer">
1585
+ <xs:attribute name="identifier" type="typeIdentifier" />
1586
+ <xs:attribute name="key" type="xs:string" />
1587
+ </xs:extension>
1588
+ </xs:simpleContent>
1589
+ </xs:complexType>
1590
+ </xs:element>
1591
+
1592
+ <xs:element name="A_DELIVERY_TIME" type="xs:positiveInteger" minOccurs="0" />
1593
+ <xs:element name="A_REPLACEMENT" type="typeBoolString" minOccurs="0" />
1594
+ <xs:element name="A_REPLACEMENT_TIME" type="xs:integer" minOccurs="0" />
1595
+ <xs:element name="A_ORDER_MIN" type="xs:nonNegativeInteger" minOccurs="0" />
1596
+ <xs:element name="A_ORDER_MAX" type="xs:nonNegativeInteger" minOccurs="0" />
1597
+ <xs:element name="A_ORDER_INTERVAL" type="xs:nonNegativeInteger" minOccurs="0" />
1598
+ <xs:element name="A_DEPOT" type="type100String" minOccurs="0" />
1599
+ <xs:element name="A_DEPOT_TEXT" type="type255String" minOccurs="0" />
1600
+
1601
+ <xs:element name="A_PARCEL" minOccurs="0">
1602
+ <xs:complexType>
1603
+ <xs:sequence>
1604
+ <xs:element name="A_PIECES" type="xs:positiveInteger" />
1605
+ <xs:element name="A_WIDTH" type="xs:integer" />
1606
+ <xs:element name="A_HEIGHT" type="xs:integer" />
1607
+ <xs:element name="A_LENGTH" type="xs:integer" />
1608
+ <xs:element name="A_WEIGHT" type="xs:float" />
1609
+ </xs:sequence>
1610
+ <xs:attribute name="type" use="optional" type="type50StringNotNull" />
1611
+ </xs:complexType>
1612
+ </xs:element>
1613
+
1614
+ <xs:element name="A_TRADESTAT" minOccurs="0">
1615
+ <xs:complexType>
1616
+ <xs:sequence>
1617
+ <xs:element name="A_ORG_COUNTRY" minOccurs="0">
1618
+ <xs:complexType>
1619
+ <xs:simpleContent>
1620
+ <xs:extension base="xs:string">
1621
+ <xs:attribute name="alpha2" use="required" type="type2StringFix" />
1622
+ <xs:attribute name="number" use="optional" type="xs:positiveInteger" />
1623
+ </xs:extension>
1624
+ </xs:simpleContent>
1625
+ </xs:complexType>
1626
+ </xs:element>
1627
+ <xs:element name="A_TRADESTAT_NR" minOccurs="0">
1628
+ <xs:simpleType>
1629
+ <xs:restriction base="xs:positiveInteger">
1630
+ <xs:totalDigits value="8" />
1631
+ </xs:restriction>
1632
+ </xs:simpleType>
1633
+ </xs:element>
1634
+ </xs:sequence>
1635
+ </xs:complexType>
1636
+ </xs:element>
1637
+
1638
+ <xs:element name="A_METADATA" minOccurs="0">
1639
+ <xs:complexType>
1640
+ <xs:sequence>
1641
+ <xs:element name="META_TITLE" type="type255String" />
1642
+ <xs:element name="META_KEYWORDS" type="xs:string" />
1643
+ <xs:element name="META_DESCRIPTION" type="xs:string" />
1644
+ </xs:sequence>
1645
+ </xs:complexType>
1646
+ </xs:element>
1647
+
1648
+ <xs:element ref="USERDEFINED" minOccurs="0" />
1649
+ </xs:sequence>
1650
+
1651
+ </xs:complexType>
1652
+ </xs:element>
1653
+
1654
+ <xs:element name="A_VARIANTDATA">
1655
+ <xs:complexType>
1656
+ <xs:sequence>
1657
+ <xs:element name="A_VARIANT" type="typeStringWithKeyOrTrans" maxOccurs="unbounded">
1658
+ <xs:unique name="uniqMULTILANG_A_VARIANT">
1659
+ <xs:selector xpath="VALUE" />
1660
+ <xs:field xpath="@xml:lang" />
1661
+ </xs:unique>
1662
+ </xs:element>
1663
+ </xs:sequence>
1664
+ </xs:complexType>
1665
+ </xs:element>
1666
+
1667
+ <xs:element name="A_COMPONENTDATA">
1668
+ <xs:complexType>
1669
+ <xs:sequence>
1670
+ <xs:element name="A_COMPONENT" type="typeStringWithKeyOrTrans" maxOccurs="unbounded">
1671
+ <xs:unique name="uniqMULTILANG_A_COMPONENT">
1672
+ <xs:selector xpath="VALUE" />
1673
+ <xs:field xpath="@xml:lang" />
1674
+ </xs:unique>
1675
+ </xs:element>
1676
+ </xs:sequence>
1677
+ </xs:complexType>
1678
+ </xs:element>
1679
+
1680
+ <xs:element name="A_PRICEDATA">
1681
+ <xs:complexType>
1682
+ <xs:sequence>
1683
+ <xs:element name="A_EK" type="xs:decimal" minOccurs="0" />
1684
+
1685
+ <xs:element name="A_PRICE" minOccurs="0" maxOccurs="unbounded">
1686
+ <xs:complexType>
1687
+ <xs:sequence>
1688
+ <xs:element name="A_VK" type="xs:decimal" />
1689
+ <xs:element name="A_VK_OLD" type="xs:decimal" minOccurs="0" />
1690
+ <xs:element name="A_UVP" type="xs:decimal" minOccurs="0" />
1691
+ <xs:element name="A_MWST" type="typeTaxCode" minOccurs="0" />
1692
+ <xs:element name="A_EK" type="xs:decimal" minOccurs="0" />
1693
+ </xs:sequence>
1694
+ <xs:attribute name="channel" use="required" type="typeChannelSign" />
1695
+ <xs:attribute name="currency" use="optional" type="typeCurrency" />
1696
+ </xs:complexType>
1697
+ </xs:element>
1698
+ </xs:sequence>
1699
+ </xs:complexType>
1700
+ </xs:element>
1701
+
1702
+ <xs:element name="P_MASTER">
1703
+ <xs:complexType>
1704
+ <xs:sequence>
1705
+ <xs:element name="P_MASTER_PRICEDATA" minOccurs="0" maxOccurs="unbounded">
1706
+ <xs:complexType>
1707
+ <xs:sequence>
1708
+ <xs:element name="P_MASTER_EK" type="xs:decimal" minOccurs="0" />
1709
+ <xs:element name="P_MASTER_PRICE" minOccurs="0" maxOccurs="unbounded">
1710
+ <xs:complexType>
1711
+ <xs:sequence>
1712
+ <xs:element name="P_MASTER_A_VK" type="xs:decimal" />
1713
+ <xs:element name="P_MASTER_A_VK_OLD" type="xs:decimal" minOccurs="0" />
1714
+ <xs:element name="P_MASTER_A_UVP" type="xs:decimal" minOccurs="0" />
1715
+ <xs:element name="P_MASTER_A_MWST" type="typeTaxCode" minOccurs="0" />
1716
+ <xs:element name="P_MASTER_A_EK" type="xs:decimal" minOccurs="0" />
1717
+ </xs:sequence>
1718
+ <xs:attribute name="channel" use="required" type="typeChannelSign" />
1719
+ <xs:attribute name="currency" use="optional" type="typeCurrency" />
1720
+ </xs:complexType>
1721
+ </xs:element>
1722
+ </xs:sequence>
1723
+ </xs:complexType>
1724
+ </xs:element>
1725
+ </xs:sequence>
1726
+ </xs:complexType>
1727
+ </xs:element>
1728
+
1729
+ <xs:element name="A_MEDIADATA">
1730
+ <xs:complexType>
1731
+ <xs:sequence>
1732
+ <xs:element name="A_MEDIA" maxOccurs="unbounded" type="typeMediaRef" />
1733
+ </xs:sequence>
1734
+ </xs:complexType>
1735
+ </xs:element>
1736
+
1737
+ <xs:simpleType name="enumLinkTypes">
1738
+ <xs:restriction base="xs:string">
1739
+ <xs:enumeration value="cross" />
1740
+ <xs:enumeration value="accessory" />
1741
+ <xs:enumeration value="device" />
1742
+ <xs:enumeration value="upselling" />
1743
+ <xs:enumeration value="alternative" />
1744
+ </xs:restriction>
1745
+ </xs:simpleType>
1746
+
1747
+ <xs:element name="P_CATEGORIES">
1748
+ <xs:complexType>
1749
+ <xs:sequence>
1750
+ <xs:element name="P_CATEGORY" maxOccurs="unbounded">
1751
+ <xs:complexType>
1752
+ <xs:simpleContent>
1753
+ <xs:extension base="xs:string">
1754
+ <xs:attribute name="channel" use="optional" type="typeChannelSign" />
1755
+ <xs:attribute name="type" use="required" type="xs:string" />
1756
+ <xs:attribute name="identifier" use="optional" type="typeIdentifierAlwaysID" />
1757
+ <xs:attribute name="key" use="optional" type="type200StringNotNull" />
1758
+ </xs:extension>
1759
+ </xs:simpleContent>
1760
+ </xs:complexType>
1761
+ </xs:element>
1762
+ </xs:sequence>
1763
+ </xs:complexType>
1764
+ </xs:element>
1765
+
1766
+ <xs:element name="USERDEFINED" type="typeUSERDEFINED" />
1767
+
1768
+ <!-- end: tb-cat_1_2.xsd -->
1769
+ </xs:schema>