enterprisifier 0.0.1

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 (303) hide show
  1. data/.document +5 -0
  2. data/.gitignore +22 -0
  3. data/LICENSE +20 -0
  4. data/README.md +3 -0
  5. data/Rakefile +57 -0
  6. data/VERSION +1 -0
  7. data/lib/enterprisifier.rb +7 -0
  8. data/lib/enterprisifier/code_generation.rb +1 -0
  9. data/lib/enterprisifier/code_generation/code_builder.rb +33 -0
  10. data/lib/enterprisifier/code_generation/code_generator.rb +281 -0
  11. data/lib/enterprisifier/code_generation/generator.rb +102 -0
  12. data/lib/enterprisifier/code_generation/generators/attribute_generator.rb +22 -0
  13. data/lib/enterprisifier/code_generation/generators/choice_generator.rb +12 -0
  14. data/lib/enterprisifier/code_generation/generators/complex_content_generator.rb +12 -0
  15. data/lib/enterprisifier/code_generation/generators/complex_type_generator.rb +12 -0
  16. data/lib/enterprisifier/code_generation/generators/element_generator.rb +28 -0
  17. data/lib/enterprisifier/code_generation/generators/extension_generator.rb +11 -0
  18. data/lib/enterprisifier/code_generation/generators/group_generator.rb +27 -0
  19. data/lib/enterprisifier/code_generation/generators/restriction_generator.rb +11 -0
  20. data/lib/enterprisifier/code_generation/generators/sequence_generator.rb +12 -0
  21. data/lib/enterprisifier/code_generation/generators/simple_content_generator.rb +12 -0
  22. data/lib/enterprisifier/code_generation/generators/simple_type_generator.rb +11 -0
  23. data/lib/enterprisifier/code_generation/generators/union_generator.rb +34 -0
  24. data/lib/enterprisifier/constants.rb +3 -0
  25. data/lib/enterprisifier/logging.rb +5 -0
  26. data/lib/enterprisifier/marshalling.rb +0 -0
  27. data/lib/enterprisifier/marshalling/builder.rb +11 -0
  28. data/lib/enterprisifier/marshalling/instantiatable_element.rb +170 -0
  29. data/lib/enterprisifier/marshalling/namespace.rb +23 -0
  30. data/lib/enterprisifier/marshalling/reification.rb +30 -0
  31. data/lib/enterprisifier/marshalling/schema_composition.rb +170 -0
  32. data/lib/enterprisifier/marshalling/xsd/schema/attribute.rb +48 -0
  33. data/lib/enterprisifier/marshalling/xsd/schema/choice.rb +18 -0
  34. data/lib/enterprisifier/marshalling/xsd/schema/complex_content.rb +18 -0
  35. data/lib/enterprisifier/marshalling/xsd/schema/complex_type.rb +28 -0
  36. data/lib/enterprisifier/marshalling/xsd/schema/element.rb +92 -0
  37. data/lib/enterprisifier/marshalling/xsd/schema/extension.rb +29 -0
  38. data/lib/enterprisifier/marshalling/xsd/schema/group.rb +22 -0
  39. data/lib/enterprisifier/marshalling/xsd/schema/restriction.rb +29 -0
  40. data/lib/enterprisifier/marshalling/xsd/schema/sequence.rb +21 -0
  41. data/lib/enterprisifier/marshalling/xsd/schema/simple_content.rb +18 -0
  42. data/lib/enterprisifier/marshalling/xsd/schema/simple_type.rb +23 -0
  43. data/lib/enterprisifier/marshalling/xsd/schema/union.rb +23 -0
  44. data/lib/enterprisifier/marshalling/xsd/types/boolean.rb +14 -0
  45. data/lib/enterprisifier/marshalling/xsd/types/date.rb +13 -0
  46. data/lib/enterprisifier/marshalling/xsd/types/date_time.rb +13 -0
  47. data/lib/enterprisifier/marshalling/xsd/types/decimal.rb +13 -0
  48. data/lib/enterprisifier/marshalling/xsd/types/string.rb +14 -0
  49. data/lib/enterprisifier/marshalling/xsd/types/time.rb +14 -0
  50. data/lib/enterprisifier/schema.rb +1 -0
  51. data/lib/enterprisifier/schema/base_element.rb +156 -0
  52. data/lib/enterprisifier/schema/element_factory.rb +29 -0
  53. data/lib/enterprisifier/schema/elements/annotation.rb +20 -0
  54. data/lib/enterprisifier/schema/elements/attribute.rb +22 -0
  55. data/lib/enterprisifier/schema/elements/choice.rb +13 -0
  56. data/lib/enterprisifier/schema/elements/complex_content.rb +13 -0
  57. data/lib/enterprisifier/schema/elements/complex_type.rb +13 -0
  58. data/lib/enterprisifier/schema/elements/documentation.rb +12 -0
  59. data/lib/enterprisifier/schema/elements/element.rb +23 -0
  60. data/lib/enterprisifier/schema/elements/enumeration.rb +12 -0
  61. data/lib/enterprisifier/schema/elements/extension.rb +12 -0
  62. data/lib/enterprisifier/schema/elements/fraction_digits.rb +12 -0
  63. data/lib/enterprisifier/schema/elements/group.rb +12 -0
  64. data/lib/enterprisifier/schema/elements/import.rb +28 -0
  65. data/lib/enterprisifier/schema/elements/include.rb +28 -0
  66. data/lib/enterprisifier/schema/elements/max_inclusive.rb +12 -0
  67. data/lib/enterprisifier/schema/elements/min_inclusive.rb +12 -0
  68. data/lib/enterprisifier/schema/elements/pattern.rb +12 -0
  69. data/lib/enterprisifier/schema/elements/restriction.rb +12 -0
  70. data/lib/enterprisifier/schema/elements/schema.rb +71 -0
  71. data/lib/enterprisifier/schema/elements/sequence.rb +12 -0
  72. data/lib/enterprisifier/schema/elements/simple_content.rb +12 -0
  73. data/lib/enterprisifier/schema/elements/simple_type.rb +12 -0
  74. data/lib/enterprisifier/schema/elements/union.rb +17 -0
  75. data/lib/enterprisifier/schema/elements/unknown_element.rb +12 -0
  76. data/lib/enterprisifier/schema/loader.rb +61 -0
  77. data/test/enterprisifier_test.rb +35 -0
  78. data/test/example/e_business_for_media/aaaa/elements/aaaa_message_header.rb +15 -0
  79. data/test/example/e_business_for_media/aaaa/elements/aaaa_values.rb +52 -0
  80. data/test/example/e_business_for_media/aaaa/elements/action.rb +17 -0
  81. data/test/example/e_business_for_media/aaaa/elements/business_object.rb +17 -0
  82. data/test/example/e_business_for_media/aaaa/elements/media.rb +17 -0
  83. data/test/example/e_business_for_media/aaaa/elements/schema_name.rb +17 -0
  84. data/test/example/e_business_for_media/aaaa/elements/schema_version.rb +17 -0
  85. data/test/example/e_business_for_media/aaaa/elements/unique_message_id.rb +19 -0
  86. data/test/example/e_business_for_media/aaaa/types/aaaa_message_type.rb +58 -0
  87. data/test/example/e_business_for_media/aaaa/types/action_string.rb +18 -0
  88. data/test/example/e_business_for_media/aaaa/types/business_object_string.rb +18 -0
  89. data/test/example/e_business_for_media/aaaa/types/guid.rb +20 -0
  90. data/test/example/e_business_for_media/aaaa/types/media_string.rb +19 -0
  91. data/test/example/e_business_for_media/aaaa/types/schema_name_string.rb +18 -0
  92. data/test/example/e_business_for_media/aaaa/types/schema_version_string.rb +18 -0
  93. data/test/example/e_business_for_media/aaaa/types/unique_message_id.rb +18 -0
  94. data/test/example/e_business_for_media/iab/attributes/currency.rb +17 -0
  95. data/test/example/e_business_for_media/iab/attributes/id_owner.rb +19 -0
  96. data/test/example/e_business_for_media/iab/attributes/name.rb +19 -0
  97. data/test/example/e_business_for_media/iab/attributes/prefix.rb +18 -0
  98. data/test/example/e_business_for_media/iab/attributes/primary.rb +33 -0
  99. data/test/example/e_business_for_media/iab/attributes/script.rb +23 -0
  100. data/test/example/e_business_for_media/iab/attributes/sms_enabled.rb +20 -0
  101. data/test/example/e_business_for_media/iab/attributes/type.rb +30 -0
  102. data/test/example/e_business_for_media/iab/attributes/valid_from.rb +18 -0
  103. data/test/example/e_business_for_media/iab/attributes/valid_to.rb +18 -0
  104. data/test/example/e_business_for_media/iab/elements/ad_server.rb +17 -0
  105. data/test/example/e_business_for_media/iab/elements/additional_metrics.rb +16 -0
  106. data/test/example/e_business_for_media/iab/elements/address.rb +16 -0
  107. data/test/example/e_business_for_media/iab/elements/address_line.rb +22 -0
  108. data/test/example/e_business_for_media/iab/elements/advertiser.rb +17 -0
  109. data/test/example/e_business_for_media/iab/elements/affix.rb +53 -0
  110. data/test/example/e_business_for_media/iab/elements/agency.rb +19 -0
  111. data/test/example/e_business_for_media/iab/elements/agency_commission.rb +19 -0
  112. data/test/example/e_business_for_media/iab/elements/alternate_script.rb +147 -0
  113. data/test/example/e_business_for_media/iab/elements/amount.rb +16 -0
  114. data/test/example/e_business_for_media/iab/elements/area_city_code.rb +18 -0
  115. data/test/example/e_business_for_media/iab/elements/attachments.rb +18 -0
  116. data/test/example/e_business_for_media/iab/elements/audience.rb +17 -0
  117. data/test/example/e_business_for_media/iab/elements/background.rb +15 -0
  118. data/test/example/e_business_for_media/iab/elements/basis.rb +26 -0
  119. data/test/example/e_business_for_media/iab/elements/billing_frequency.rb +15 -0
  120. data/test/example/e_business_for_media/iab/elements/billing_info.rb +16 -0
  121. data/test/example/e_business_for_media/iab/elements/billing_notes.rb +16 -0
  122. data/test/example/e_business_for_media/iab/elements/billing_partner.rb +16 -0
  123. data/test/example/e_business_for_media/iab/elements/billing_statistics_source.rb +16 -0
  124. data/test/example/e_business_for_media/iab/elements/brand_name.rb +17 -0
  125. data/test/example/e_business_for_media/iab/elements/budget.rb +16 -0
  126. data/test/example/e_business_for_media/iab/elements/building_number.rb +23 -0
  127. data/test/example/e_business_for_media/iab/elements/campaign_brief.rb +38 -0
  128. data/test/example/e_business_for_media/iab/elements/campaign_reference_id.rb +18 -0
  129. data/test/example/e_business_for_media/iab/elements/campaign_reference_info.rb +16 -0
  130. data/test/example/e_business_for_media/iab/elements/category.rb +16 -0
  131. data/test/example/e_business_for_media/iab/elements/context.rb +17 -0
  132. data/test/example/e_business_for_media/iab/elements/contract_details.rb +17 -0
  133. data/test/example/e_business_for_media/iab/elements/count.rb +16 -0
  134. data/test/example/e_business_for_media/iab/elements/country_code.rb +23 -0
  135. data/test/example/e_business_for_media/iab/elements/created_date.rb +15 -0
  136. data/test/example/e_business_for_media/iab/elements/creating_system.rb +16 -0
  137. data/test/example/e_business_for_media/iab/elements/date.rb +16 -0
  138. data/test/example/e_business_for_media/iab/elements/delivery.rb +17 -0
  139. data/test/example/e_business_for_media/iab/elements/delivery_address.rb +72 -0
  140. data/test/example/e_business_for_media/iab/elements/description.rb +16 -0
  141. data/test/example/e_business_for_media/iab/elements/desired_positioning_notes.rb +16 -0
  142. data/test/example/e_business_for_media/iab/elements/destination_system.rb +16 -0
  143. data/test/example/e_business_for_media/iab/elements/discount.rb +19 -0
  144. data/test/example/e_business_for_media/iab/elements/distribution.rb +15 -0
  145. data/test/example/e_business_for_media/iab/elements/document_id.rb +20 -0
  146. data/test/example/e_business_for_media/iab/elements/document_name.rb +16 -0
  147. data/test/example/e_business_for_media/iab/elements/document_sender.rb +17 -0
  148. data/test/example/e_business_for_media/iab/elements/due_date.rb +15 -0
  149. data/test/example/e_business_for_media/iab/elements/end_date.rb +16 -0
  150. data/test/example/e_business_for_media/iab/elements/extension.rb +17 -0
  151. data/test/example/e_business_for_media/iab/elements/family_name.rb +55 -0
  152. data/test/example/e_business_for_media/iab/elements/fax.rb +16 -0
  153. data/test/example/e_business_for_media/iab/elements/flight_exclusivity_guidelines.rb +16 -0
  154. data/test/example/e_business_for_media/iab/elements/format.rb +16 -0
  155. data/test/example/e_business_for_media/iab/elements/formatted_name.rb +22 -0
  156. data/test/example/e_business_for_media/iab/elements/formatted_number.rb +18 -0
  157. data/test/example/e_business_for_media/iab/elements/geographic_considerations.rb +15 -0
  158. data/test/example/e_business_for_media/iab/elements/given_name.rb +19 -0
  159. data/test/example/e_business_for_media/iab/elements/goal.rb +29 -0
  160. data/test/example/e_business_for_media/iab/elements/gross_cost.rb +16 -0
  161. data/test/example/e_business_for_media/iab/elements/iab_advertiser_info.rb +15 -0
  162. data/test/example/e_business_for_media/iab/elements/iab_billing_info.rb +15 -0
  163. data/test/example/e_business_for_media/iab/elements/iab_message_base.rb +15 -0
  164. data/test/example/e_business_for_media/iab/elements/iab_message_header.rb +17 -0
  165. data/test/example/e_business_for_media/iab/elements/iab_publisher_info.rb +15 -0
  166. data/test/example/e_business_for_media/iab/elements/iab_type_of_contact.rb +17 -0
  167. data/test/example/e_business_for_media/iab/elements/id.rb +17 -0
  168. data/test/example/e_business_for_media/iab/elements/id_value.rb +34 -0
  169. data/test/example/e_business_for_media/iab/elements/in_reference_to.rb +33 -0
  170. data/test/example/e_business_for_media/iab/elements/industry.rb +17 -0
  171. data/test/example/e_business_for_media/iab/elements/instructions.rb +15 -0
  172. data/test/example/e_business_for_media/iab/elements/international_country_code.rb +17 -0
  173. data/test/example/e_business_for_media/iab/elements/internet_email_address.rb +16 -0
  174. data/test/example/e_business_for_media/iab/elements/internet_web_address.rb +17 -0
  175. data/test/example/e_business_for_media/iab/elements/legal_name.rb +19 -0
  176. data/test/example/e_business_for_media/iab/elements/link.rb +16 -0
  177. data/test/example/e_business_for_media/iab/elements/location.rb +17 -0
  178. data/test/example/e_business_for_media/iab/elements/make_good_policy.rb +16 -0
  179. data/test/example/e_business_for_media/iab/elements/middle_name.rb +17 -0
  180. data/test/example/e_business_for_media/iab/elements/mobile.rb +17 -0
  181. data/test/example/e_business_for_media/iab/elements/municipality.rb +17 -0
  182. data/test/example/e_business_for_media/iab/elements/name.rb +16 -0
  183. data/test/example/e_business_for_media/iab/elements/national_number.rb +19 -0
  184. data/test/example/e_business_for_media/iab/elements/net_cost.rb +16 -0
  185. data/test/example/e_business_for_media/iab/elements/non_standard_value.rb +16 -0
  186. data/test/example/e_business_for_media/iab/elements/notes.rb +16 -0
  187. data/test/example/e_business_for_media/iab/elements/order_status.rb +17 -0
  188. data/test/example/e_business_for_media/iab/elements/other_contacts.rb +18 -0
  189. data/test/example/e_business_for_media/iab/elements/other_id.rb +20 -0
  190. data/test/example/e_business_for_media/iab/elements/other_target.rb +17 -0
  191. data/test/example/e_business_for_media/iab/elements/out_clause.rb +16 -0
  192. data/test/example/e_business_for_media/iab/elements/pager.rb +16 -0
  193. data/test/example/e_business_for_media/iab/elements/partner.rb +19 -0
  194. data/test/example/e_business_for_media/iab/elements/payment_terms.rb +16 -0
  195. data/test/example/e_business_for_media/iab/elements/payment_type.rb +15 -0
  196. data/test/example/e_business_for_media/iab/elements/percent.rb +16 -0
  197. data/test/example/e_business_for_media/iab/elements/person_name.rb +16 -0
  198. data/test/example/e_business_for_media/iab/elements/post_office_box.rb +18 -0
  199. data/test/example/e_business_for_media/iab/elements/postal_address.rb +16 -0
  200. data/test/example/e_business_for_media/iab/elements/postal_code.rb +18 -0
  201. data/test/example/e_business_for_media/iab/elements/preferred_given_name.rb +18 -0
  202. data/test/example/e_business_for_media/iab/elements/primary_contact.rb +16 -0
  203. data/test/example/e_business_for_media/iab/elements/primary_id.rb +17 -0
  204. data/test/example/e_business_for_media/iab/elements/primary_success_metric.rb +15 -0
  205. data/test/example/e_business_for_media/iab/elements/product_name.rb +17 -0
  206. data/test/example/e_business_for_media/iab/elements/property_name.rb +16 -0
  207. data/test/example/e_business_for_media/iab/elements/publisher.rb +17 -0
  208. data/test/example/e_business_for_media/iab/elements/referenced_document_id.rb +15 -0
  209. data/test/example/e_business_for_media/iab/elements/referenced_version.rb +22 -0
  210. data/test/example/e_business_for_media/iab/elements/region.rb +21 -0
  211. data/test/example/e_business_for_media/iab/elements/request_for_proposal.rb +16 -0
  212. data/test/example/e_business_for_media/iab/elements/rfp_details.rb +15 -0
  213. data/test/example/e_business_for_media/iab/elements/rfp_response_requirements.rb +15 -0
  214. data/test/example/e_business_for_media/iab/elements/role.rb +31 -0
  215. data/test/example/e_business_for_media/iab/elements/selection_criteria.rb +16 -0
  216. data/test/example/e_business_for_media/iab/elements/sent_date.rb +15 -0
  217. data/test/example/e_business_for_media/iab/elements/standard_value.rb +16 -0
  218. data/test/example/e_business_for_media/iab/elements/start_date.rb +16 -0
  219. data/test/example/e_business_for_media/iab/elements/street_name.rb +21 -0
  220. data/test/example/e_business_for_media/iab/elements/subscriber_number.rb +19 -0
  221. data/test/example/e_business_for_media/iab/elements/target_audience.rb +15 -0
  222. data/test/example/e_business_for_media/iab/elements/targeting.rb +42 -0
  223. data/test/example/e_business_for_media/iab/elements/telephone.rb +16 -0
  224. data/test/example/e_business_for_media/iab/elements/terms_and_conditions.rb +27 -0
  225. data/test/example/e_business_for_media/iab/elements/terms_attachment.rb +15 -0
  226. data/test/example/e_business_for_media/iab/elements/terms_text.rb +15 -0
  227. data/test/example/e_business_for_media/iab/elements/time.rb +17 -0
  228. data/test/example/e_business_for_media/iab/elements/title.rb +17 -0
  229. data/test/example/e_business_for_media/iab/elements/ttytdd.rb +17 -0
  230. data/test/example/e_business_for_media/iab/elements/type.rb +15 -0
  231. data/test/example/e_business_for_media/iab/elements/unit.rb +21 -0
  232. data/test/example/e_business_for_media/iab/elements/use.rb +17 -0
  233. data/test/example/e_business_for_media/iab/elements/value.rb +15 -0
  234. data/test/example/e_business_for_media/iab/elements/version.rb +24 -0
  235. data/test/example/e_business_for_media/iab/elements/when_available.rb +19 -0
  236. data/test/example/e_business_for_media/iab/elements/zero_cost.rb +15 -0
  237. data/test/example/e_business_for_media/iab/groups/telcom_number_group.rb +52 -0
  238. data/test/example/e_business_for_media/iab/types/attachment_type.rb +32 -0
  239. data/test/example/e_business_for_media/iab/types/base_cost.rb +32 -0
  240. data/test/example/e_business_for_media/iab/types/base_target_type.rb +31 -0
  241. data/test/example/e_business_for_media/iab/types/base_unit.rb +27 -0
  242. data/test/example/e_business_for_media/iab/types/campaign_reference_info_type.rb +81 -0
  243. data/test/example/e_business_for_media/iab/types/contact_method_location_pattern_extension_type.rb +22 -0
  244. data/test/example/e_business_for_media/iab/types/contact_method_location_type.rb +24 -0
  245. data/test/example/e_business_for_media/iab/types/contact_method_type.rb +81 -0
  246. data/test/example/e_business_for_media/iab/types/contact_method_use_pattern_extension_type.rb +22 -0
  247. data/test/example/e_business_for_media/iab/types/contact_method_use_type.rb +23 -0
  248. data/test/example/e_business_for_media/iab/types/contact_method_when_available_type.rb +20 -0
  249. data/test/example/e_business_for_media/iab/types/contract_details_type.rb +46 -0
  250. data/test/example/e_business_for_media/iab/types/cost_method_enumeration.rb +29 -0
  251. data/test/example/e_business_for_media/iab/types/cost_method_type.rb +28 -0
  252. data/test/example/e_business_for_media/iab/types/currency_code_type.rb +20 -0
  253. data/test/example/e_business_for_media/iab/types/discount_type.rb +36 -0
  254. data/test/example/e_business_for_media/iab/types/entity_id_type.rb +57 -0
  255. data/test/example/e_business_for_media/iab/types/generic_target_type.rb +31 -0
  256. data/test/example/e_business_for_media/iab/types/iab_advertiser_info_type.rb +38 -0
  257. data/test/example/e_business_for_media/iab/types/iab_billing_info_type.rb +54 -0
  258. data/test/example/e_business_for_media/iab/types/iab_contact_method_type.rb +44 -0
  259. data/test/example/e_business_for_media/iab/types/iab_date_time_type.rb +28 -0
  260. data/test/example/e_business_for_media/iab/types/iab_distribution_enumerated_type.rb +22 -0
  261. data/test/example/e_business_for_media/iab/types/iab_distribution_type.rb +20 -0
  262. data/test/example/e_business_for_media/iab/types/iab_message_base_type.rb +47 -0
  263. data/test/example/e_business_for_media/iab/types/iab_message_header_type.rb +34 -0
  264. data/test/example/e_business_for_media/iab/types/iab_partner_info_type.rb +67 -0
  265. data/test/example/e_business_for_media/iab/types/iab_payment_terms_enumerated_type.rb +23 -0
  266. data/test/example/e_business_for_media/iab/types/iab_payment_terms_type.rb +20 -0
  267. data/test/example/e_business_for_media/iab/types/iab_payment_type_enumerated_type.rb +21 -0
  268. data/test/example/e_business_for_media/iab/types/iab_publisher_info_type.rb +29 -0
  269. data/test/example/e_business_for_media/iab/types/iab_type_of_contact_type.rb +30 -0
  270. data/test/example/e_business_for_media/iab/types/internet_email_address_type.rb +19 -0
  271. data/test/example/e_business_for_media/iab/types/internet_web_address_type.rb +20 -0
  272. data/test/example/e_business_for_media/iab/types/mobile_telcom_number_type.rb +33 -0
  273. data/test/example/e_business_for_media/iab/types/monetary_type.rb +28 -0
  274. data/test/example/e_business_for_media/iab/types/percentage_type.rb +21 -0
  275. data/test/example/e_business_for_media/iab/types/person_name_type.rb +282 -0
  276. data/test/example/e_business_for_media/iab/types/postal_address_type.rb +120 -0
  277. data/test/example/e_business_for_media/iab/types/request_for_proposal_type.rb +35 -0
  278. data/test/example/e_business_for_media/iab/types/rfp_details_type.rb +118 -0
  279. data/test/example/e_business_for_media/iab/types/rfp_response_requirements_type.rb +33 -0
  280. data/test/example/e_business_for_media/iab/types/telcom_number_type.rb +34 -0
  281. data/test/example/e_business_for_media/iab/types/unit_type.rb +28 -0
  282. data/test/example/e_business_for_media/iab/types/unit_type_enumeration.rb +27 -0
  283. data/test/example/e_business_for_media/iab/types/zero_cost_type.rb +29 -0
  284. data/test/example/e_business_for_media/iab/types/zero_cost_type_enumeration.rb +21 -0
  285. data/test/marshalling_test.rb +13 -0
  286. data/test/mocks.rb +10 -0
  287. data/test/teststrap.rb +23 -0
  288. data/test/xsd/AAAA_Common.xsd +76 -0
  289. data/test/xsd/HRXMLlicense.txt +32 -0
  290. data/test/xsd/IAB_Acknowledgement.xsd +181 -0
  291. data/test/xsd/IAB_AdvertiserCommon.xsd +40 -0
  292. data/test/xsd/IAB_BillingCommon.xsd +75 -0
  293. data/test/xsd/IAB_CampaignCommon.xsd +80 -0
  294. data/test/xsd/IAB_Common.xsd +1176 -0
  295. data/test/xsd/IAB_ContractCommon.xsd +54 -0
  296. data/test/xsd/IAB_InsertionOrderCommon.xsd +40 -0
  297. data/test/xsd/IAB_LineItemCommon.xsd +328 -0
  298. data/test/xsd/IAB_MessageCommon.xsd +66 -0
  299. data/test/xsd/IAB_OrderCommon.xsd +98 -0
  300. data/test/xsd/IAB_ProposalCommon.xsd +30 -0
  301. data/test/xsd/IAB_PublisherCommon.xsd +26 -0
  302. data/test/xsd/IAB_RFPCommon.xsd +126 -0
  303. metadata +626 -0
@@ -0,0 +1,15 @@
1
+ require "e_business_for_media/aaaa/types/aaaa_message_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ class AaaaMessageHeader < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "aaaa" => "http://ns.ebizformedia.com"
10
+ element "AaaaMessageHeader" => EBusinessForMedia::AAAA::Types::AaaaMessageType
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,52 @@
1
+ require "e_business_for_media/aaaa/types/action_string"
2
+ require "e_business_for_media/aaaa/types/business_object_string"
3
+ require "e_business_for_media/aaaa/types/media_string"
4
+ require "e_business_for_media/aaaa/types/schema_name_string"
5
+ require "e_business_for_media/aaaa/types/schema_version_string"
6
+ require "e_business_for_media/aaaa/types/unique_message_id"
7
+ require "enterprisifier/marshalling/xsd/schema/complex_type"
8
+ require "enterprisifier/marshalling/xsd/schema/element"
9
+ require "enterprisifier/marshalling/xsd/schema/sequence"
10
+
11
+
12
+ module EBusinessForMedia
13
+ module AAAA
14
+ module Elements
15
+ class AAAAValues < Enterprisifier::Marshalling::XSD::Schema::Element
16
+ namespace "aaaa" => "http://ns.ebizformedia.com"
17
+ element "AAAA-Values"
18
+
19
+ complex_type do
20
+ sequence do
21
+ # Name of the Schema (XSD) file used for validation of the data. This value will
22
+ # be restricted in the media document. For example: spotRadioOrder
23
+ element "SchemaName" => EBusinessForMedia::AAAA::Types::SchemaNameString
24
+
25
+ # Version number of the Schema (XSD) file used for validation of the data. This
26
+ # value will be restricted in the media document. For example: 0.2e.2
27
+ element "SchemaVersion" => EBusinessForMedia::AAAA::Types::SchemaVersionString
28
+
29
+ # Identifies the media for this transmission. This value will be restricted in the
30
+ # media document. For example: SpotRadio
31
+ element "Media" => EBusinessForMedia::AAAA::Types::MediaString
32
+
33
+ # Identifies the object for this message. This value will be restricted in the
34
+ # media document. For example: Order, Invoice.
35
+ element "BusinessObject" => EBusinessForMedia::AAAA::Types::BusinessObjectString
36
+
37
+ # The action to apply to the business object e.g. Create, Revise, Delete, etc.
38
+ # This value will be restricted in the media document.
39
+ element "Action" => EBusinessForMedia::AAAA::Types::ActionString
40
+
41
+ # Unique message id. Created by message originator and used throughout message
42
+ # lifetime. Message acknowledgement from receiver must include it.
43
+ # Intermediaries (hub, gateway, etc.) use and reference for troubleshooting
44
+ # purposes in the routing and delivery of the message.
45
+ element "UniqueMessageID" => EBusinessForMedia::AAAA::Types::UniqueMessageId
46
+
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/aaaa/types/action_string"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ # The action to apply to the business object e.g. Create, Revise, Delete, etc.
9
+ # This value will be restricted in the media document.
10
+ class Action < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "aaaa" => "http://ns.ebizformedia.com"
12
+ element "Action" => EBusinessForMedia::AAAA::Types::ActionString
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/aaaa/types/business_object_string"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ # Identifies the object for this message. This value will be restricted in the
9
+ # media document. For example: Order, Invoice.
10
+ class BusinessObject < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "aaaa" => "http://ns.ebizformedia.com"
12
+ element "BusinessObject" => EBusinessForMedia::AAAA::Types::BusinessObjectString
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/aaaa/types/media_string"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ # Identifies the media for this transmission. This value will be restricted in the
9
+ # media document. For example: SpotRadio
10
+ class Media < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "aaaa" => "http://ns.ebizformedia.com"
12
+ element "Media" => EBusinessForMedia::AAAA::Types::MediaString
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/aaaa/types/schema_name_string"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ # Name of the Schema (XSD) file used for validation of the data. This value will
9
+ # be restricted in the media document. For example: spotRadioOrder
10
+ class SchemaName < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "aaaa" => "http://ns.ebizformedia.com"
12
+ element "SchemaName" => EBusinessForMedia::AAAA::Types::SchemaNameString
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/aaaa/types/schema_version_string"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ # Version number of the Schema (XSD) file used for validation of the data. This
9
+ # value will be restricted in the media document. For example: 0.2e.2
10
+ class SchemaVersion < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "aaaa" => "http://ns.ebizformedia.com"
12
+ element "SchemaVersion" => EBusinessForMedia::AAAA::Types::SchemaVersionString
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require "e_business_for_media/aaaa/types/unique_message_id"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module AAAA
7
+ module Elements
8
+ # Unique message id. Created by message originator and used throughout message
9
+ # lifetime. Message acknowledgement from receiver must include it.
10
+ # Intermediaries (hub, gateway, etc.) use and reference for troubleshooting
11
+ # purposes in the routing and delivery of the message.
12
+ class UniqueMessageID < Enterprisifier::Marshalling::XSD::Schema::Element
13
+ namespace "aaaa" => "http://ns.ebizformedia.com"
14
+ element "UniqueMessageID" => EBusinessForMedia::AAAA::Types::UniqueMessageId
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,58 @@
1
+ require "e_business_for_media/aaaa/types/action_string"
2
+ require "e_business_for_media/aaaa/types/business_object_string"
3
+ require "e_business_for_media/aaaa/types/media_string"
4
+ require "e_business_for_media/aaaa/types/schema_name_string"
5
+ require "e_business_for_media/aaaa/types/schema_version_string"
6
+ require "e_business_for_media/aaaa/types/unique_message_id"
7
+ require "enterprisifier/marshalling/xsd/schema/complex_type"
8
+ require "enterprisifier/marshalling/xsd/schema/element"
9
+ require "enterprisifier/marshalling/xsd/schema/sequence"
10
+
11
+
12
+ module EBusinessForMedia
13
+ module AAAA
14
+ module Types
15
+ # The root of all media documents, this element will be extended to include the
16
+ # media content - THIS IS THE STANDARD HEADER FROM THE AAAA
17
+ class AaaaMessageType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
18
+ namespace "aaaa" => "http://ns.ebizformedia.com"
19
+ complex_type "aaaaMessageType"
20
+
21
+ sequence do
22
+ element "AAAA-Values" do
23
+ complex_type do
24
+ sequence do
25
+ # Name of the Schema (XSD) file used for validation of the data. This value will
26
+ # be restricted in the media document. For example: spotRadioOrder
27
+ element "SchemaName" => EBusinessForMedia::AAAA::Types::SchemaNameString
28
+
29
+ # Version number of the Schema (XSD) file used for validation of the data. This
30
+ # value will be restricted in the media document. For example: 0.2e.2
31
+ element "SchemaVersion" => EBusinessForMedia::AAAA::Types::SchemaVersionString
32
+
33
+ # Identifies the media for this transmission. This value will be restricted in the
34
+ # media document. For example: SpotRadio
35
+ element "Media" => EBusinessForMedia::AAAA::Types::MediaString
36
+
37
+ # Identifies the object for this message. This value will be restricted in the
38
+ # media document. For example: Order, Invoice.
39
+ element "BusinessObject" => EBusinessForMedia::AAAA::Types::BusinessObjectString
40
+
41
+ # The action to apply to the business object e.g. Create, Revise, Delete, etc.
42
+ # This value will be restricted in the media document.
43
+ element "Action" => EBusinessForMedia::AAAA::Types::ActionString
44
+
45
+ # Unique message id. Created by message originator and used throughout message
46
+ # lifetime. Message acknowledgement from receiver must include it.
47
+ # Intermediaries (hub, gateway, etc.) use and reference for troubleshooting
48
+ # purposes in the routing and delivery of the message.
49
+ element "UniqueMessageID" => EBusinessForMedia::AAAA::Types::UniqueMessageId
50
+
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,18 @@
1
+ require "enterprisifier/marshalling/xsd/schema/restriction"
2
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
3
+ require "enterprisifier/marshalling/xsd/types/string"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ class ActionString < Enterprisifier::Marshalling::XSD::Schema::SimpleType
10
+ namespace "aaaa" => "http://ns.ebizformedia.com"
11
+ simple_type "actionString"
12
+
13
+ restriction Enterprisifier::Marshalling::XSD::Types::String
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require "enterprisifier/marshalling/xsd/schema/restriction"
2
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
3
+ require "enterprisifier/marshalling/xsd/types/string"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ class BusinessObjectString < Enterprisifier::Marshalling::XSD::Schema::SimpleType
10
+ namespace "aaaa" => "http://ns.ebizformedia.com"
11
+ simple_type "businessObjectString"
12
+
13
+ restriction Enterprisifier::Marshalling::XSD::Types::String
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ require "enterprisifier/marshalling/xsd/schema/restriction"
2
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
3
+ require "enterprisifier/marshalling/xsd/types/string"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ # The representation of a GUID, generally the id of an element.
10
+ class Guid < Enterprisifier::Marshalling::XSD::Schema::SimpleType
11
+ namespace "aaaa" => "http://ns.ebizformedia.com"
12
+ simple_type "guid"
13
+
14
+ restriction Enterprisifier::Marshalling::XSD::Types::String do
15
+ pattern "[a-fA-F\\d]{8}-[a-fA-F\\d]{4}-[a-fA-F\\d]{4}-[a-fA-F\\d]{4}-[a-fA-F\\d]{12}"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ require "enterprisifier/marshalling/xsd/schema/restriction"
2
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
3
+ require "enterprisifier/marshalling/xsd/types/string"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ class MediaString < Enterprisifier::Marshalling::XSD::Schema::SimpleType
10
+ namespace "aaaa" => "http://ns.ebizformedia.com"
11
+ simple_type "mediaString"
12
+
13
+ restriction Enterprisifier::Marshalling::XSD::Types::String do
14
+ enumeration "Interactive"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require "enterprisifier/marshalling/xsd/schema/restriction"
2
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
3
+ require "enterprisifier/marshalling/xsd/types/string"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ class SchemaNameString < Enterprisifier::Marshalling::XSD::Schema::SimpleType
10
+ namespace "aaaa" => "http://ns.ebizformedia.com"
11
+ simple_type "schemaNameString"
12
+
13
+ restriction Enterprisifier::Marshalling::XSD::Types::String
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require "enterprisifier/marshalling/xsd/schema/restriction"
2
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
3
+ require "enterprisifier/marshalling/xsd/types/string"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ class SchemaVersionString < Enterprisifier::Marshalling::XSD::Schema::SimpleType
10
+ namespace "aaaa" => "http://ns.ebizformedia.com"
11
+ simple_type "schemaVersionString"
12
+
13
+ restriction Enterprisifier::Marshalling::XSD::Types::String
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require "e_business_for_media/aaaa/types/guid"
2
+ require "enterprisifier/marshalling/xsd/schema/restriction"
3
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
4
+
5
+
6
+ module EBusinessForMedia
7
+ module AAAA
8
+ module Types
9
+ class UniqueMessageId < Enterprisifier::Marshalling::XSD::Schema::SimpleType
10
+ namespace "aaaa" => "http://ns.ebizformedia.com"
11
+ simple_type "uniqueMessageId"
12
+
13
+ restriction EBusinessForMedia::AAAA::Types::Guid
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/iab/types/currency_code_type"
2
+ require "enterprisifier/marshalling/xsd/schema/attribute"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Attributes
8
+ # ISO 4217 - Representation of Currency and Funds.
9
+ class Currency < Enterprisifier::Marshalling::XSD::Schema::Attribute
10
+ namespace "iab" => "http://ns.iab.net"
11
+ attribute "currency" => EBusinessForMedia::IAB::Types::CurrencyCodeType do
12
+ use "required"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require "enterprisifier/marshalling/xsd/schema/attribute"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Attributes
8
+ # A description of who “owns” the identifier. This usually will be the company
9
+ # and/or system name that utilizes the given value(s) for uniqueness. Use should
10
+ # be by trading partner agreement.
11
+ class IdOwner < Enterprisifier::Marshalling::XSD::Schema::Attribute
12
+ namespace "iab" => "http://ns.iab.net"
13
+ attribute "idOwner" => Enterprisifier::Marshalling::XSD::Types::String do
14
+ use "required"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require "enterprisifier/marshalling/xsd/schema/attribute"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Attributes
8
+ # A description of the type of identifier or the portion of an identifier that
9
+ # “IdValue” represents. If used, values should be determined by trading
10
+ # partner agreement.
11
+ class Name < Enterprisifier::Marshalling::XSD::Schema::Attribute
12
+ namespace "iab" => "http://ns.iab.net"
13
+ attribute "name" => Enterprisifier::Marshalling::XSD::Types::String do
14
+ use "optional"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require "enterprisifier/marshalling/xsd/schema/attribute"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Attributes
8
+ # The aristocratic or other prefix for FamilyName.
9
+ # [Example(s): de (as in de Witt), la (as in la Salle); van (as in van der Voss).
10
+ # ]
11
+ class Prefix < Enterprisifier::Marshalling::XSD::Schema::Attribute
12
+ namespace "iab" => "http://ns.iab.net"
13
+ attribute "prefix" => Enterprisifier::Marshalling::XSD::Types::String
14
+
15
+ end
16
+ end
17
+ end
18
+ end