wsdl-mapper 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>