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,18 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Formatted string. Contains a telecommunication number string representation.
9
+ # This de-normalized form cannot easily be parsed. When formatted number is
10
+ # present, the non-formatted number MUST not be present.
11
+ class FormattedNumber < Enterprisifier::Marshalling::XSD::Schema::Element
12
+ namespace "iab" => "http://ns.iab.net"
13
+ element "FormattedNumber" => Enterprisifier::Marshalling::XSD::Types::String
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ class GeographicConsiderations < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "iab" => "http://ns.iab.net"
10
+ element "GeographicConsiderations" => Enterprisifier::Marshalling::XSD::Types::String
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Contains the given or chosen name. Also known as a person's first name. If
9
+ # multiple givenNames are used, the order is implied.
10
+ class GivenName < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "iab" => "http://ns.iab.net"
12
+ element "GivenName" => Enterprisifier::Marshalling::XSD::Types::String do
13
+ min_occurs "0"
14
+ max_occurs "unbounded"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ require "enterprisifier/marshalling/xsd/schema/complex_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+ require "enterprisifier/marshalling/xsd/schema/sequence"
4
+ require "enterprisifier/marshalling/xsd/types/string"
5
+
6
+
7
+ module EBusinessForMedia
8
+ module IAB
9
+ module Elements
10
+ # A generic object that can be used in repetition to state specific campaign goals
11
+ # and the measurement of that goal.
12
+ class Goal < Enterprisifier::Marshalling::XSD::Schema::Element
13
+ namespace "iab" => "http://ns.iab.net"
14
+ element "Goal" do
15
+ min_occurs "0"
16
+ max_occurs "unbounded"
17
+ end
18
+ complex_type do
19
+ sequence do
20
+ element "Value" => Enterprisifier::Marshalling::XSD::Types::String
21
+
22
+ element "Type" => Enterprisifier::Marshalling::XSD::Types::String
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,16 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/decimal"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # The gross cost of an item.
9
+ class GrossCost < Enterprisifier::Marshalling::XSD::Schema::Element
10
+ namespace "iab" => "http://ns.iab.net"
11
+ element "GrossCost" => Enterprisifier::Marshalling::XSD::Types::Decimal
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ require "e_business_for_media/iab/types/iab_advertiser_info_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ class IABAdvertiserInfo < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "iab" => "http://ns.iab.net"
10
+ element "IABAdvertiserInfo" => EBusinessForMedia::IAB::Types::IABAdvertiserInfoType
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ require "e_business_for_media/iab/types/iab_billing_info_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ class IABBillingInfo < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "iab" => "http://ns.iab.net"
10
+ element "IABBillingInfo" => EBusinessForMedia::IAB::Types::IABBillingInfoType
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ require "e_business_for_media/iab/types/iab_message_base_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ class IABMessageBase < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "iab" => "http://ns.iab.net"
10
+ element "IABMessageBase" => EBusinessForMedia::IAB::Types::IABMessageBaseType
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/iab/types/iab_message_header_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # A header element to be present in all electronic communication for reference and
9
+ # continuity.
10
+ class IABMessageHeader < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "iab" => "http://ns.iab.net"
12
+ element "IABMessageHeader" => EBusinessForMedia::IAB::Types::IABMessageHeaderType
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ require "e_business_for_media/iab/types/iab_publisher_info_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ class IABPublisherInfo < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "iab" => "http://ns.iab.net"
10
+ element "IABPublisherInfo" => EBusinessForMedia::IAB::Types::IABPublisherInfoType
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/iab/types/iab_type_of_contact_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # The specific type of contact represented in the data. Examples being Primary,
9
+ # Sales, and Technical.
10
+ class IABTypeOfContact < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "iab" => "http://ns.iab.net"
12
+ element "IABTypeOfContact" => EBusinessForMedia::IAB::Types::IABTypeOfContactType
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/iab/types/entity_id_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Optional identifier of the target option.
9
+ class ID < Enterprisifier::Marshalling::XSD::Schema::Element
10
+ namespace "iab" => "http://ns.iab.net"
11
+ element "ID" => EBusinessForMedia::IAB::Types::EntityIdType do
12
+ min_occurs "0"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,34 @@
1
+ require "enterprisifier/marshalling/xsd/schema/attribute"
2
+ require "enterprisifier/marshalling/xsd/schema/complex_type"
3
+ require "enterprisifier/marshalling/xsd/schema/element"
4
+ require "enterprisifier/marshalling/xsd/schema/extension"
5
+ require "enterprisifier/marshalling/xsd/schema/simple_content"
6
+ require "enterprisifier/marshalling/xsd/types/string"
7
+
8
+
9
+ module EBusinessForMedia
10
+ module IAB
11
+ module Elements
12
+ # A sequence of characters that one or more systems use as an identifier for the
13
+ # given entity. This could be numeric, alpha, and may include punctuation.
14
+ class IdValue < Enterprisifier::Marshalling::XSD::Schema::Element
15
+ namespace "iab" => "http://ns.iab.net"
16
+ element "IdValue" do
17
+ max_occurs "unbounded"
18
+ end
19
+ complex_type do
20
+ simple_content do
21
+ extension Enterprisifier::Marshalling::XSD::Types::String do
22
+ # A description of the type of identifier or the portion of an identifier that
23
+ # “IdValue” represents. If used, values should be determined by trading
24
+ # partner agreement.
25
+ attribute "name" => Enterprisifier::Marshalling::XSD::Types::String do
26
+ use "optional"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,33 @@
1
+ require "e_business_for_media/iab/types/entity_id_type"
2
+ require "enterprisifier/marshalling/xsd/schema/complex_type"
3
+ require "enterprisifier/marshalling/xsd/schema/element"
4
+ require "enterprisifier/marshalling/xsd/schema/restriction"
5
+ require "enterprisifier/marshalling/xsd/schema/sequence"
6
+ require "enterprisifier/marshalling/xsd/schema/simple_type"
7
+ require "enterprisifier/marshalling/xsd/types/decimal"
8
+
9
+
10
+ module EBusinessForMedia
11
+ module IAB
12
+ module Elements
13
+ class InReferenceTo < Enterprisifier::Marshalling::XSD::Schema::Element
14
+ namespace "iab" => "http://ns.iab.net"
15
+ element "InReferenceTo"
16
+
17
+ complex_type do
18
+ sequence do
19
+ element "ReferencedDocumentId" => EBusinessForMedia::IAB::Types::EntityIdType
20
+
21
+ element "ReferencedVersion" do
22
+ simple_type do
23
+ restriction Enterprisifier::Marshalling::XSD::Types::Decimal do
24
+ fraction_digits "2"
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,17 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # e.g. Automotive - no standard industry lookup tables - for partners' use only
9
+ class Industry < Enterprisifier::Marshalling::XSD::Schema::Element
10
+ namespace "iab" => "http://ns.iab.net"
11
+ element "Industry" => Enterprisifier::Marshalling::XSD::Types::String do
12
+ min_occurs "0"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ class Instructions < Enterprisifier::Marshalling::XSD::Schema::Element
9
+ namespace "iab" => "http://ns.iab.net"
10
+ element "Instructions" => Enterprisifier::Marshalling::XSD::Types::String
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # This is the ITU's country code that identifies a specific country, countries in
9
+ # an integrated numbering plan, or a specific geographic area.
10
+ class InternationalCountryCode < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "iab" => "http://ns.iab.net"
12
+ element "InternationalCountryCode" => Enterprisifier::Marshalling::XSD::Types::String
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ require "e_business_for_media/iab/types/internet_email_address_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Internet email address.
9
+ class InternetEmailAddress < Enterprisifier::Marshalling::XSD::Schema::Element
10
+ namespace "iab" => "http://ns.iab.net"
11
+ element "InternetEmailAddress" => EBusinessForMedia::IAB::Types::InternetEmailAddressType
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/iab/types/internet_web_address_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Universal Resource Locator (URL) for a web site. Usually in the form
9
+ # http://www.hr-xml.org. This should include "http://".
10
+ class InternetWebAddress < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "iab" => "http://ns.iab.net"
12
+ element "InternetWebAddress" => EBusinessForMedia::IAB::Types::InternetWebAddressType
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require "enterprisifier/marshalling/xsd/schema/element"
2
+ require "enterprisifier/marshalling/xsd/types/string"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Used for legal documentation or other legal purposes. Contains, in one string, a
9
+ # fully formatted name with all of its pieces in their proper place. This includes
10
+ # all of the necessary punctuation. Extension to represent the worker's name.
11
+ class LegalName < Enterprisifier::Marshalling::XSD::Schema::Element
12
+ namespace "iab" => "http://ns.iab.net"
13
+ element "LegalName" => Enterprisifier::Marshalling::XSD::Types::String do
14
+ min_occurs "0"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ require "e_business_for_media/iab/types/internet_web_address_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Internet link to the attachment.
9
+ class Link < Enterprisifier::Marshalling::XSD::Schema::Element
10
+ namespace "iab" => "http://ns.iab.net"
11
+ element "Link" => EBusinessForMedia::IAB::Types::InternetWebAddressType
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require "e_business_for_media/iab/types/contact_method_location_pattern_extension_type"
2
+ require "enterprisifier/marshalling/xsd/schema/element"
3
+
4
+
5
+ module EBusinessForMedia
6
+ module IAB
7
+ module Elements
8
+ # Describes the general physical location of the contact information destination,
9
+ # such as "office", "home', or "onPerson".
10
+ class Location < Enterprisifier::Marshalling::XSD::Schema::Element
11
+ namespace "iab" => "http://ns.iab.net"
12
+ element "Location" => EBusinessForMedia::IAB::Types::ContactMethodLocationPatternExtensionType
13
+
14
+ end
15
+ end
16
+ end
17
+ end