enterprisifier 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,32 @@
1
+ This HR-XML Consortium Work (including specifications, documents,
2
+ software, and related items) is provided by the copyright holders
3
+ under the following license. By obtaining, using and/or copying
4
+ this work, you (the licensee) agree that you have read, understood,
5
+ and will comply with the following terms and conditions.
6
+
7
+ Permission to use, copy, modify, or redistribute this Work and
8
+ its documentation, with or without modification, for any purpose
9
+ and without fee or royalty is hereby granted, provided that you
10
+ include the following on ALL copies of the software and
11
+ documentation or portions thereof, including modifications,
12
+ that you make:
13
+
14
+ 1. This notice: "Copyright 2007 The HR-XML Consortium. All Rights
15
+ Reserved. http://www.hr-xml.org"
16
+ 2. Notice of any changes or modifications to the The HR-XML
17
+ Consortium files.
18
+
19
+ THIS WORK, INCLUDING SPECIFICATIONS, DOCUMENTS, SOFTWARE, OR OTHER
20
+ RELATED ITEMS, IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
21
+ REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
22
+ NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
23
+ PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION
24
+ WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS
25
+ OR OTHER RIGHTS.
26
+
27
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
28
+ SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
29
+ SOFTWARE OR DOCUMENTATION.
30
+
31
+ TITLE TO COPYRIGHT IN THIS WORK AND ANY ASSOCIATED DOCUMENTATION
32
+ WILL AT ALL TIMES REMAIN WITH COPYRIGHT HOLDERS.
@@ -0,0 +1,181 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
3
+ <xsd:schema xmlns:q3="http://ns.iab.net" xmlns="http://ns.iab.net" xmlns:q2="http://ns.iab.net" xmlns:q1="http://ns.iab.net" elementFormDefault="qualified" targetNamespace="http://ns.iab.net" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4
+ <xsd:include schemaLocation="IAB_Common.xsd" />
5
+ <xsd:annotation>
6
+ <xsd:documentation>
7
+ This file is a modified version of original work done by the HR-XML Consortium, as ammended on 2008-07 by Lon Pilot.
8
+ Proper atribution is included where each type is defined. Licensing information for HR-XML components can be
9
+ found in the file HRXMLlicense.txt. All new material should be considered Copyrighted and All Rights Reserved by the Interactive Advertising Bureau www.iab.net/ebiz
10
+
11
+ Change History:
12
+ 2008-07-11: Switched from including ApplicationAcknowledgement.xsd to including IAB_Common.xsd.
13
+ Changed to use IABContactMethodType instead of ContactMethodType.
14
+ Removed dependence on ApplicationAcknowledgement schema by moving ExceptionType definition to here.
15
+ </xsd:documentation>
16
+ </xsd:annotation>
17
+ <xsd:annotation>
18
+ <xsd:documentation>
19
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
20
+ Name: Acknowledgement.xsd
21
+ Status: Technical Note
22
+ Date this version: 2007-04-15
23
+ Purpose: Defines an Acknowledgement document reusing types within HR-XML's ApplicationAcknowledgement schema.
24
+ Provides a simpler number of choices. Allows for Acknowledgement of Receipt without specifying any business processing results.
25
+
26
+ </xsd:documentation>
27
+ </xsd:annotation>
28
+ <xsd:element name="Acknowledgement" type="q1:SimpleAcknowledgementType">
29
+ <xsd:annotation>
30
+ <xsd:documentation>A simple message received acknowledgement indicating only transport and schema level validation issues. No business level validation is implied.</xsd:documentation>
31
+ </xsd:annotation>
32
+ </xsd:element>
33
+ <xsd:complexType name="SimpleAcknowledgementType">
34
+ <xsd:annotation>
35
+ <xsd:documentation>A simple application acknowledgement message structure.</xsd:documentation>
36
+ </xsd:annotation>
37
+ <xsd:sequence>
38
+ <xsd:element name="ReceiptAcknowledged" type="q1:ReceiptAcknowledgedEnumType">
39
+ <xsd:annotation>
40
+ <xsd:documentation>Flag indicating receipt of the message.</xsd:documentation>
41
+ </xsd:annotation>
42
+ </xsd:element>
43
+ <xsd:element name="UniqueMessageID" type="q1:EntityIdType">
44
+ <xsd:annotation>
45
+ <xsd:documentation>Unique message identifier of the message to which the response refers.</xsd:documentation>
46
+ </xsd:annotation>
47
+ </xsd:element>
48
+ <xsd:element minOccurs="0" name="Exception" type="q1:ExceptionType">
49
+ <xsd:annotation>
50
+ <xsd:documentation>Structure to hold any exceptions that occurred during message processing.</xsd:documentation>
51
+ </xsd:annotation>
52
+ </xsd:element>
53
+ </xsd:sequence>
54
+ </xsd:complexType>
55
+ <xsd:simpleType name="ReceiptAcknowledgedEnumType">
56
+ <xsd:annotation>
57
+ <xsd:documentation>Flag indicating receipt of the message.</xsd:documentation>
58
+ </xsd:annotation>
59
+ <xsd:restriction base="xsd:string">
60
+ <xsd:enumeration value="true" />
61
+ </xsd:restriction>
62
+ </xsd:simpleType>
63
+ <xsd:complexType name="ExceptionType">
64
+ <xsd:sequence>
65
+ <xsd:element minOccurs="0" name="ExceptionIdentifier" type="xsd:string">
66
+ <xsd:annotation>
67
+ <xsd:documentation>This is an ID (or code) used by the organization generating the acknowledgement to identify the specific exception.</xsd:documentation>
68
+ </xsd:annotation>
69
+ </xsd:element>
70
+ <xsd:element name="ExceptionSeverity">
71
+ <xsd:annotation>
72
+ <xsd:documentation>How severe the exception is. Fatal means system processed nothing. Warning means system processed something, but perhaps incompletely. Information means system processed everything, but a problem *may* occur that needs notification.</xsd:documentation>
73
+ </xsd:annotation>
74
+ <xsd:simpleType>
75
+ <xsd:restriction base="xsd:string">
76
+ <xsd:enumeration value="Fatal">
77
+ <xsd:annotation>
78
+ <xsd:documentation>Fatal means system processed nothing. </xsd:documentation>
79
+ </xsd:annotation>
80
+ </xsd:enumeration>
81
+ <xsd:enumeration value="Warning">
82
+ <xsd:annotation>
83
+ <xsd:documentation> Warning means system processed something, but perhaps incompletely. </xsd:documentation>
84
+ </xsd:annotation>
85
+ </xsd:enumeration>
86
+ <xsd:enumeration value="Information">
87
+ <xsd:annotation>
88
+ <xsd:documentation>Information means system processed everything, but a problem *may* occur that needs notification.</xsd:documentation>
89
+ </xsd:annotation>
90
+ </xsd:enumeration>
91
+ </xsd:restriction>
92
+ </xsd:simpleType>
93
+ </xsd:element>
94
+ <xsd:element name="ExceptionMessage" type="xsd:string">
95
+ <xsd:annotation>
96
+ <xsd:documentation>The exception content message.</xsd:documentation>
97
+ </xsd:annotation>
98
+ </xsd:element>
99
+ <xsd:element minOccurs="0" name="ExceptionScopeSchemaXPath" type="xsd:string">
100
+ <xsd:annotation>
101
+ <xsd:documentation>The leve at which processing stops (within the entity).</xsd:documentation>
102
+ </xsd:annotation>
103
+ </xsd:element>
104
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="SubordinateEntityXPath" type="xsd:string">
105
+ <xsd:annotation>
106
+ <xsd:documentation>The offending element(s) or attributes (inside the scope of ExceptionScopeSchemaXPath). </xsd:documentation>
107
+ </xsd:annotation>
108
+ </xsd:element>
109
+ <xsd:element minOccurs="0" name="Followup">
110
+ <xsd:annotation>
111
+ <xsd:documentation>Indicates who is responsibile for correcting the exception.</xsd:documentation>
112
+ </xsd:annotation>
113
+ <xsd:complexType>
114
+ <xsd:sequence>
115
+ <xsd:element minOccurs="0" name="OrganizationId" type="q1:EntityIdType">
116
+ <xsd:annotation>
117
+ <xsd:documentation> Unique identifier for the organization. It may be an internal identifier assigned by the sender.
118
+ </xsd:documentation>
119
+ </xsd:annotation>
120
+ </xsd:element>
121
+ <xsd:element minOccurs="0" name="OrganizationName" type="xsd:string">
122
+ <xsd:annotation>
123
+ <xsd:documentation>The name by which an organization or enterprise is known as established under the laws of a country, state, province or ruling governmental body for the purpose of conducting business transactions.
124
+ </xsd:documentation>
125
+ </xsd:annotation>
126
+ </xsd:element>
127
+ <xsd:element minOccurs="0" name="PersonName" type="q1:PersonNameType">
128
+ <xsd:annotation>
129
+ <xsd:documentation>The name of the person within the organization responsible for followup.
130
+ </xsd:documentation>
131
+ </xsd:annotation>
132
+ </xsd:element>
133
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ContactInfo" type="q1:IABContactMethodType">
134
+ <xsd:annotation>
135
+ <xsd:documentation>Contains contact information for the person responsible for followup.
136
+ </xsd:documentation>
137
+ </xsd:annotation>
138
+ </xsd:element>
139
+ </xsd:sequence>
140
+ <xsd:attribute name="responsibleForFollowup">
141
+ <xsd:annotation>
142
+ <xsd:documentation>Indicates who is responsible for correcting the exception or whether a follow-up is required.
143
+ [Example(s): No follow-up needed, payload source organization, acknowledgement source organization. ]
144
+ </xsd:documentation>
145
+ </xsd:annotation>
146
+ <xsd:simpleType>
147
+ <xsd:restriction base="xsd:string">
148
+ <xsd:enumeration value="No Followup Needed" />
149
+ <xsd:enumeration value="Payload Source Organization" />
150
+ <xsd:enumeration value="Acknowledgement Source Organization" />
151
+ </xsd:restriction>
152
+ </xsd:simpleType>
153
+ </xsd:attribute>
154
+ </xsd:complexType>
155
+ </xsd:element>
156
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="AdditionalData">
157
+ <xsd:annotation>
158
+ <xsd:documentation>Additional information (in a name-value pair format).</xsd:documentation>
159
+ </xsd:annotation>
160
+ <xsd:complexType>
161
+ <xsd:sequence>
162
+ <xsd:element name="Description" type="xsd:string">
163
+ <xsd:annotation>
164
+ <xsd:documentation>Describes the contextual information relating to a specific element.
165
+ [Example(s): Description defining an Organization's mission or purpose. Description of stock plan. Description of payment terms and conditions. ]
166
+ </xsd:documentation>
167
+ </xsd:annotation>
168
+ </xsd:element>
169
+ <xsd:element name="Value" type="xsd:string">
170
+ <xsd:annotation>
171
+ <xsd:documentation>A numerical quantity that is assigned or determined by calculation or measurement.
172
+ [Synonym(s): Description, Quantity, Amount ]
173
+ </xsd:documentation>
174
+ </xsd:annotation>
175
+ </xsd:element>
176
+ </xsd:sequence>
177
+ </xsd:complexType>
178
+ </xsd:element>
179
+ </xsd:sequence>
180
+ </xsd:complexType>
181
+ </xsd:schema>
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- edited with XMLSpy v2008 rel. 2 sp1 (http://www.altova.com) by Jeremy Fain (IAB) -->
3
+ <xsd:schema xmlns="http://ns.iab.net" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ns.iab.net" elementFormDefault="qualified" attributeFormDefault="unqualified">
4
+ <xsd:annotation>
5
+ <xsd:documentation>
6
+ "Copyright Interactive Advertising Bureau. All Rights Reserved. http://www.iab.net/ebiz"
7
+ Name: IAB_AdvertiserCommon.xsd
8
+ Date this version: 2008-09-30
9
+ Author(s): Lon Pilot and IAB Ad Ops Council E-Business Working Group
10
+
11
+ Change History:
12
+ NONE
13
+ </xsd:documentation>
14
+ </xsd:annotation>
15
+ <xsd:include schemaLocation="IAB_Common.xsd"/>
16
+ <xsd:element name="IABAdvertiserInfo" type="IABAdvertiserInfoType"/>
17
+ <xsd:complexType name="IABAdvertiserInfoType">
18
+ <xsd:complexContent>
19
+ <xsd:extension base="IABPartnerInfoType">
20
+ <xsd:sequence>
21
+ <xsd:element name="BrandName" type="xsd:string" minOccurs="0">
22
+ <xsd:annotation>
23
+ <xsd:documentation>e.g. Ford - no standard industry lookup tables - for partners' use only</xsd:documentation>
24
+ </xsd:annotation>
25
+ </xsd:element>
26
+ <xsd:element name="Industry" type="xsd:string" minOccurs="0">
27
+ <xsd:annotation>
28
+ <xsd:documentation>e.g. Automotive - no standard industry lookup tables - for partners' use only</xsd:documentation>
29
+ </xsd:annotation>
30
+ </xsd:element>
31
+ <xsd:element name="ProductName" type="xsd:string" minOccurs="0">
32
+ <xsd:annotation>
33
+ <xsd:documentation>e.g. F150 - no standard industry lookup tables - for partners' use only</xsd:documentation>
34
+ </xsd:annotation>
35
+ </xsd:element>
36
+ </xsd:sequence>
37
+ </xsd:extension>
38
+ </xsd:complexContent>
39
+ </xsd:complexType>
40
+ </xsd:schema>
@@ -0,0 +1,75 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
3
+ <xsd:schema xmlns="http://ns.iab.net" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ns.iab.net" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4
+ <xsd:include schemaLocation="IAB_Common.xsd" />
5
+ <xsd:annotation>
6
+ <xsd:documentation>
7
+ "Copyright Interactive Advertising Bureau. All Rights Reserved. http://www.iab.net/ebiz"
8
+ Name: IAB_BillingCommon.xsd
9
+ Date this version: 2008-09-30
10
+ Author(s): Lon Pilot and IAB Ad Ops Council E-Business Working Group
11
+
12
+ Change History:
13
+ NONE
14
+ </xsd:documentation>
15
+ </xsd:annotation>
16
+ <xsd:element name="IABBillingInfo" type="IABBillingInfoType" />
17
+ <xsd:complexType name="IABBillingInfoType">
18
+ <xsd:sequence>
19
+ <xsd:element name="PaymentTerms" type="IABPaymentTermsType" />
20
+ <xsd:element name="PaymentType" type="IABPaymentTypeEnumeratedType" />
21
+ <xsd:element name="BillingFrequency" type="xsd:string" />
22
+ <xsd:element name="Distribution" type="IABDistributionType" />
23
+ <xsd:element name="Basis">
24
+ <xsd:complexType>
25
+ <xsd:sequence>
26
+ <xsd:element name="Value" type="xsd:string" />
27
+ <xsd:element minOccurs="0" name="Notes" type="xsd:string" />
28
+ </xsd:sequence>
29
+ </xsd:complexType>
30
+ </xsd:element>
31
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="AdServer" type="xsd:string" />
32
+ <xsd:element name="BillingStatisticsSource" type="xsd:string">
33
+ <xsd:annotation>
34
+ <xsd:documentation>Billable numbers source e.g. Publisher, Third-Party, etc.</xsd:documentation>
35
+ </xsd:annotation>
36
+ </xsd:element>
37
+ <xsd:element name="BillingPartner" type="IABPartnerInfoType">
38
+ <xsd:annotation>
39
+ <xsd:documentation>Information on who to bill, where invoice comes from, etc</xsd:documentation>
40
+ </xsd:annotation>
41
+ </xsd:element>
42
+ <xsd:element name="Notes" type="xsd:string" />
43
+ </xsd:sequence>
44
+ </xsd:complexType>
45
+ <xsd:simpleType name="IABPaymentTermsEnumeratedType">
46
+ <xsd:restriction base="xsd:string">
47
+ <xsd:enumeration value="Advance" />
48
+ <xsd:enumeration value="Net15" />
49
+ <xsd:enumeration value="Net30" />
50
+ <xsd:enumeration value="Net60" />
51
+ <xsd:enumeration value="EndOfContract" />
52
+ </xsd:restriction>
53
+ </xsd:simpleType>
54
+ <xsd:simpleType name="IABPaymentTermsType">
55
+ <xsd:union memberTypes="IABPaymentTermsEnumeratedType xsd:string" />
56
+ </xsd:simpleType>
57
+ <xsd:simpleType name="IABDistributionEnumeratedType">
58
+ <xsd:restriction base="xsd:string">
59
+ <xsd:enumeration value="Straightline" />
60
+ <xsd:enumeration value="Prorated" />
61
+ <xsd:enumeration value="Weighted" />
62
+ <xsd:enumeration value="Scheduled" />
63
+ </xsd:restriction>
64
+ </xsd:simpleType>
65
+ <xsd:simpleType name="IABDistributionType">
66
+ <xsd:union memberTypes="IABDistributionEnumeratedType xsd:string" />
67
+ </xsd:simpleType>
68
+ <xsd:simpleType name="IABPaymentTypeEnumeratedType">
69
+ <xsd:restriction base="xsd:string">
70
+ <xsd:enumeration value="Cash" />
71
+ <xsd:enumeration value="Trade" />
72
+ <xsd:enumeration value="Other" />
73
+ </xsd:restriction>
74
+ </xsd:simpleType>
75
+ </xsd:schema>
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
3
+ <xsd:schema xmlns="http://ns.iab.net" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ns.iab.net" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4
+ <xsd:include schemaLocation="IAB_Common.xsd" />
5
+ <xsd:annotation>
6
+ <xsd:documentation>
7
+ "Copyright Interactive Advertising Bureau. All Rights Reserved. http://www.iab.net/ebiz"
8
+ Name: IAB_CampaignCommon.xsd
9
+ Date this version: 2008-09-30
10
+ Author(s): Lon Pilot and IAB Ad Ops Council E-Business Working Group
11
+
12
+ Change History:
13
+ NONE
14
+ </xsd:documentation>
15
+ </xsd:annotation>
16
+ <xsd:element name="CampaignReferenceInfo" type="CampaignReferenceInfoType">
17
+ <xsd:annotation>
18
+ <xsd:documentation>Contains information on the proposal name, version, and sender.</xsd:documentation>
19
+ </xsd:annotation>
20
+ </xsd:element>
21
+ <xsd:complexType name="CampaignReferenceInfoType">
22
+ <xsd:sequence>
23
+ <xsd:element name="DocumentName" type="xsd:string">
24
+ <xsd:annotation>
25
+ <xsd:documentation>Name of campaign</xsd:documentation>
26
+ </xsd:annotation>
27
+ </xsd:element>
28
+ <xsd:element name="CampaignReferenceId" type="EntityIdType">
29
+ <xsd:annotation>
30
+ <xsd:documentation>Originating system's ID for this campaign. Throughout a 'conversation' between the buy and sell side, this value should uniquely identify the campaign. Use of 'name' attribute allows for additional system-ID mapping and identification.</xsd:documentation>
31
+ </xsd:annotation>
32
+ </xsd:element>
33
+ <xsd:element name="DocumentId" type="EntityIdType">
34
+ <xsd:annotation>
35
+ <xsd:documentation>Originating system's ID for this version of the document. During a 'conversation' between the buy and sell side this value should uniquely identify this version of the document. If Publisher sent proposal, should stay publisher ID. Use of 'name' attribute allows for additional system-ID mapping and identification.</xsd:documentation>
36
+ </xsd:annotation>
37
+ </xsd:element>
38
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="OtherID" type="EntityIdType">
39
+ <xsd:annotation>
40
+ <xsd:documentation>Additional IDs for use by other systems. In this case, Agency and/or partner systems would attach its own document ID here. Use of 'name' attribute allows for additional system-ID mapping and identification.</xsd:documentation>
41
+ </xsd:annotation>
42
+ </xsd:element>
43
+ <xsd:element name="Version">
44
+ <xsd:annotation>
45
+ <xsd:documentation>Version of document. See IAB E-Business Tech Specs for version control instructions.</xsd:documentation>
46
+ </xsd:annotation>
47
+ <xsd:simpleType>
48
+ <xsd:restriction base="xsd:decimal">
49
+ <xsd:fractionDigits value="2" />
50
+ </xsd:restriction>
51
+ </xsd:simpleType>
52
+ </xsd:element>
53
+ <xsd:element name="InReferenceTo">
54
+ <xsd:complexType>
55
+ <xsd:sequence>
56
+ <xsd:element name="ReferencedDocumentId" type="EntityIdType" />
57
+ <xsd:element name="ReferencedVersion">
58
+ <xsd:simpleType>
59
+ <xsd:restriction base="xsd:decimal">
60
+ <xsd:fractionDigits value="2" />
61
+ </xsd:restriction>
62
+ </xsd:simpleType>
63
+ </xsd:element>
64
+ </xsd:sequence>
65
+ </xsd:complexType>
66
+ </xsd:element>
67
+ <xsd:element minOccurs="0" name="OrderStatus" type="xsd:string">
68
+ <xsd:annotation>
69
+ <xsd:documentation>Can be used for communicating varying status of proposal.</xsd:documentation>
70
+ </xsd:annotation>
71
+ </xsd:element>
72
+ <xsd:element name="DocumentSender" type="PersonNameType">
73
+ <xsd:annotation>
74
+ <xsd:documentation>The name of the person originating and sending the document. Used for problem solving.</xsd:documentation>
75
+ </xsd:annotation>
76
+ </xsd:element>
77
+ <xsd:element name="SentDate" type="IABDateTimeType" />
78
+ </xsd:sequence>
79
+ </xsd:complexType>
80
+ </xsd:schema>
@@ -0,0 +1,1176 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
3
+ <xsd:schema xmlns="http://ns.iab.net" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ns.iab.net" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4
+ <xsd:annotation>
5
+ <xsd:documentation>
6
+ This file is a combination of several others from the HR-XML Consortium, as ammended on 2008-02 by Lon Pilot.
7
+ Proper atribution is included where each type is defined. Licensing information for HR-XML components can be
8
+ found in the file HRXMLlicense.txt.
9
+ Additional elements have been amended for the specific purpose of the IAB E-Business Standards. All new information should be considered Copyrighted and All Rights Reserved by the Interactive Advertising Bureau.</xsd:documentation>
10
+ </xsd:annotation>
11
+ <xsd:annotation>
12
+ <xsd:documentation>
13
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
14
+ Name: PersonName.xsd
15
+ Status: Recommendation
16
+ Date this version: 2007-04-15
17
+ Purpose: Defines the schema for PersonName
18
+ Author(s): Paul Kiel, Kim Bartkus, CPO Workgroup
19
+ Documentation: PersonName.html
20
+
21
+ Change History:
22
+ 2005-01
23
+ As per Schema Design Guidelines, all default values have been removed.
24
+
25
+ 2005-10 Kim Bartkus
26
+ Removed deprecated FormattedName type attribute and changed occurrence to 1.
27
+ Removed deprecated Affix type attribute enumerations.
28
+ Added script attribute to PersonName.
29
+ Added AlternativeScript structure to PersonName.
30
+
31
+ 2008-02 Lon Pilot
32
+ Modified from HR-XML base to make FamilyName and GivenName required elements.
33
+ This better fits with the requirements of the IAB eBusiness initiative.
34
+ </xsd:documentation>
35
+ </xsd:annotation>
36
+ <xsd:element name="PersonName" type="PersonNameType">
37
+ <xsd:annotation>
38
+ <xsd:documentation>The name of a person.</xsd:documentation>
39
+ </xsd:annotation>
40
+ </xsd:element>
41
+ <xsd:complexType name="PersonNameType">
42
+ <xsd:annotation>
43
+ <xsd:documentation>The name of a person.</xsd:documentation>
44
+ </xsd:annotation>
45
+ <xsd:sequence>
46
+ <xsd:annotation>
47
+ <xsd:documentation>
48
+ Contains, in one string, a fully formatted name with all of its pieces in their proper place. [BusinessRule(s): This includes all of the necessary punctuation. This de-normalized form of the name cannot be easily parsed. The use of multiple occurrences are officially deprecated in this release and will be removed in a future version. ]
49
+ </xsd:documentation>
50
+ </xsd:annotation>
51
+ <xsd:element minOccurs="0" name="FormattedName" type="xsd:string">
52
+ <xsd:annotation>
53
+ <xsd:documentation>Used for legal documentation or other legal purposes. Contains, in one string, a fully formatted name with all of its pieces in their proper place. This includes all of the necessary punctuation. Extension to represent the worker's name.
54
+ </xsd:documentation>
55
+ </xsd:annotation>
56
+ </xsd:element>
57
+ <xsd:element minOccurs="0" name="LegalName" type="xsd:string">
58
+ <xsd:annotation>
59
+ <xsd:documentation>Contains the given or chosen name. Also known as a person's first name. If multiple givenNames are used, the order is implied.
60
+ </xsd:documentation>
61
+ </xsd:annotation>
62
+ </xsd:element>
63
+ <xsd:element maxOccurs="unbounded" name="GivenName" type="xsd:string">
64
+ <xsd:annotation>
65
+ <xsd:documentation>Contains the chosen name by which the person prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname.
66
+ </xsd:documentation>
67
+ </xsd:annotation>
68
+ </xsd:element>
69
+ <xsd:element minOccurs="0" name="PreferredGivenName" type="xsd:string">
70
+ <xsd:annotation>
71
+ <xsd:documentation>Contains a person's middle name or initial.
72
+ </xsd:documentation>
73
+ </xsd:annotation>
74
+ </xsd:element>
75
+ <xsd:element minOccurs="0" name="MiddleName" type="xsd:string">
76
+ <xsd:annotation>
77
+ <xsd:documentation>Contains the non-chosen or inherited name. Also known as a person's last name in the Western context. The order is implied by the order of appearance of the FamilyName elements in the XML document.
78
+ </xsd:documentation>
79
+ </xsd:annotation>
80
+ </xsd:element>
81
+ <xsd:element maxOccurs="unbounded" name="FamilyName">
82
+ <xsd:annotation>
83
+ <xsd:documentation>Contains the non-chosen or inherited name. Also known as a person's last name in the Western context. The order is implied by the order of appearance of the FamilyName elements in the XML document.
84
+ </xsd:documentation>
85
+ </xsd:annotation>
86
+ <xsd:complexType>
87
+ <xsd:simpleContent>
88
+ <xsd:extension base="xsd:string">
89
+ <xsd:annotation>
90
+ <xsd:documentation>
91
+ Defines the order when multiple family names are used.
92
+ Defines the order when multiple family names are used.
93
+ primary=”true” Specifies that this occurrence of familyName is primary. It would appear first when multiple familyNames are used.
94
+ primary=”false” Specifies that this occurrence of familyName is not primary. It would appear after the primary familyName. When multiple ‘False’ primary familyNames are used, the order is implied.
95
+ primary=”undefined” Specifies that multiple familyNames do not apply. If multiple familyNames are used with this type, order is implied.
96
+ </xsd:documentation>
97
+ </xsd:annotation>
98
+ <xsd:attribute name="primary">
99
+ <xsd:annotation>
100
+ <xsd:documentation>Defines the order when multiple family names are used.
101
+ Defines the order when multiple family names are used.
102
+ primary=”true” Specifies that this occurrence of familyName is primary. It would appear first when multiple familyNames are used.
103
+ primary=”false” Specifies that this occurrence of familyName is not primary. It would appear after the primary familyName. When multiple ‘False’ primary familyNames are used, the order is implied.
104
+ primary=”undefined” Specifies that multiple familyNames do not apply. If multiple familyNames are used with this type, order is implied.
105
+ </xsd:documentation>
106
+ </xsd:annotation>
107
+ <xsd:simpleType>
108
+ <xsd:restriction base="xsd:string">
109
+ <xsd:enumeration value="true" />
110
+ <xsd:enumeration value="false" />
111
+ <xsd:enumeration value="undefined" />
112
+ </xsd:restriction>
113
+ </xsd:simpleType>
114
+ </xsd:attribute>
115
+ <xsd:attribute name="prefix" type="xsd:string">
116
+ <xsd:annotation>
117
+ <xsd:documentation>The aristocratic or other prefix for FamilyName. [Example(s): de (as in de Witt), la (as in la Salle); van (as in van der Voss). ]
118
+ </xsd:documentation>
119
+ </xsd:annotation>
120
+ </xsd:attribute>
121
+ </xsd:extension>
122
+ </xsd:simpleContent>
123
+ </xsd:complexType>
124
+ </xsd:element>
125
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Affix">
126
+ <xsd:annotation>
127
+ <xsd:documentation>Contains the remaining parts of the PersonName as defined by the type attribute.
128
+ </xsd:documentation>
129
+ </xsd:annotation>
130
+ <xsd:complexType>
131
+ <xsd:simpleContent>
132
+ <xsd:extension base="xsd:string">
133
+ <xsd:annotation>
134
+ <xsd:documentation>
135
+ Defines the context for the affix.
136
+ type=aristocraticTitle.
137
+ e.g. Baron, Graf, Earl, etc.
138
+ type=formOfAddress.
139
+ Contains the Salutation,
140
+ e.g. Mr., Mrs., Hon., Dr., Major, etc.
141
+ type=generation.
142
+ e.g. Sr., Jr., III (the third), etc.
143
+ type=qualification.
144
+ Contains the letters used to describe academic or other type qualifications held by a person and/or the distinctions conferred upon them. e.g. PhD, MD, CPA, MCSD, etc.
145
+ </xsd:documentation>
146
+ </xsd:annotation>
147
+ <xsd:attribute name="type" use="required">
148
+ <xsd:annotation>
149
+ <xsd:documentation>Defines the context for the affix.
150
+ type=aristocraticTitle.
151
+ e.g. Baron, Graf, Earl, etc.
152
+ type=formOfAddress.
153
+ Contains the Salutation,
154
+ e.g. Mr., Mrs., Hon., Dr., Major, etc.
155
+ type=generation.
156
+ e.g. Sr., Jr., III (the third), etc.
157
+ type=qualification.
158
+ Contains the letters used to describe academic or other type qualifications held by a person and/or the distinctions conferred upon them. e.g. PhD, MD, CPA, MCSD, etc.
159
+ </xsd:documentation>
160
+ </xsd:annotation>
161
+ <xsd:simpleType>
162
+ <xsd:restriction base="xsd:string">
163
+ <xsd:enumeration value="aristocraticTitle" />
164
+ <xsd:enumeration value="formOfAddress" />
165
+ <xsd:enumeration value="generation" />
166
+ <xsd:enumeration value="qualification" />
167
+ </xsd:restriction>
168
+ </xsd:simpleType>
169
+ </xsd:attribute>
170
+ </xsd:extension>
171
+ </xsd:simpleContent>
172
+ </xsd:complexType>
173
+ </xsd:element>
174
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="AlternateScript">
175
+ <xsd:annotation>
176
+ <xsd:documentation>The same information as presented in the base elements, but represented in a different script.
177
+ [BusinessRule(s): AlternateScript elements should contain sub-elements parallel to the base structure, but in the alternate script designated by the script attribute. 2 sibling AlternateScript elements should not use the same script. ]
178
+ [Example(s): A person’s name may be represented in the Latin alphabet in the base structure but represented in Japanese Katakana and/or Japanese Kanji script (or Arabic characters, Korean characters et al) by use of AlternateScript elements. ]
179
+ </xsd:documentation>
180
+ </xsd:annotation>
181
+ <xsd:complexType>
182
+ <xsd:sequence>
183
+ <xsd:element minOccurs="0" name="FormattedName" type="xsd:string">
184
+ <xsd:annotation>
185
+ <xsd:documentation>Contains, in one string, a fully formatted name with all of its pieces in their proper place.
186
+ [BusinessRule(s): This includes all of the necessary punctuation. This de-normalized form of the name cannot be easily parsed. The use of multiple occurrences are officially deprecated in this release and will be removed in a future version. ]
187
+ </xsd:documentation>
188
+ </xsd:annotation>
189
+ </xsd:element>
190
+ <xsd:element minOccurs="0" name="LegalName" type="xsd:string">
191
+ <xsd:annotation>
192
+ <xsd:documentation>Used for legal documentation or other legal purposes. Contains, in one string, a fully formatted name with all of its pieces in their proper place. This includes all of the necessary punctuation. Extension to represent the worker's name.
193
+ </xsd:documentation>
194
+ </xsd:annotation>
195
+ </xsd:element>
196
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="GivenName" type="xsd:string">
197
+ <xsd:annotation>
198
+ <xsd:documentation>Contains the given or chosen name. Also known as a person's first name. If multiple givenNames are used, the order is implied.
199
+ </xsd:documentation>
200
+ </xsd:annotation>
201
+ </xsd:element>
202
+ <xsd:element minOccurs="0" name="PreferredGivenName" type="xsd:string">
203
+ <xsd:annotation>
204
+ <xsd:documentation>Contains the chosen name by which the person prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname.
205
+ </xsd:documentation>
206
+ </xsd:annotation>
207
+ </xsd:element>
208
+ <xsd:element minOccurs="0" name="MiddleName" type="xsd:string">
209
+ <xsd:annotation>
210
+ <xsd:documentation>Contains a person's middle name or initial.
211
+ </xsd:documentation>
212
+ </xsd:annotation>
213
+ </xsd:element>
214
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="FamilyName">
215
+ <xsd:annotation>
216
+ <xsd:documentation>Contains the non-chosen or inherited name. Also known as a person's last name in the Western context. The order is implied by the order of appearance of the FamilyName elements in the XML document.
217
+ </xsd:documentation>
218
+ </xsd:annotation>
219
+ <xsd:complexType>
220
+ <xsd:simpleContent>
221
+ <xsd:extension base="xsd:string">
222
+ <xsd:attribute name="primary">
223
+ <xsd:annotation>
224
+ <xsd:documentation>Defines the order when multiple family names are used.
225
+ Defines the order when multiple family names are used.
226
+ primary=”true” Specifies that this occurrence of familyName is primary. It would appear first when multiple familyNames are used.
227
+ primary=”false” Specifies that this occurrence of familyName is not primary. It would appear after the primary familyName. When multiple ‘False’ primary familyNames are used, the order is implied.
228
+ primary=”undefined” Specifies that multiple familyNames do not apply. If multiple familyNames are used with this type, order is implied.
229
+ </xsd:documentation>
230
+ </xsd:annotation>
231
+ <xsd:simpleType>
232
+ <xsd:restriction base="xsd:string">
233
+ <xsd:enumeration value="true" />
234
+ <xsd:enumeration value="false" />
235
+ <xsd:enumeration value="undefined" />
236
+ </xsd:restriction>
237
+ </xsd:simpleType>
238
+ </xsd:attribute>
239
+ <xsd:attribute name="prefix" type="xsd:string">
240
+ <xsd:annotation>
241
+ <xsd:documentation>The aristocratic or other prefix for FamilyName.
242
+ [Example(s): de (as in de Witt), la (as in la Salle); van (as in van der Voss). ]
243
+ </xsd:documentation>
244
+ </xsd:annotation>
245
+ </xsd:attribute>
246
+ </xsd:extension>
247
+ </xsd:simpleContent>
248
+ </xsd:complexType>
249
+ </xsd:element>
250
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Affix">
251
+ <xsd:annotation>
252
+ <xsd:documentation>Contains the remaining parts of the PersonName as defined by the type attribute.</xsd:documentation>
253
+ </xsd:annotation>
254
+ <xsd:complexType>
255
+ <xsd:simpleContent>
256
+ <xsd:extension base="xsd:string">
257
+ <xsd:attribute name="type" use="required">
258
+ <xsd:annotation>
259
+ <xsd:documentation>Defines the context for the affix.
260
+ type=aristocraticTitle.
261
+ e.g. Baron, Graf, Earl, etc.
262
+ type=formOfAddress.
263
+ Contains the Salutation,
264
+ e.g. Mr., Mrs., Hon., Dr., Major, etc.
265
+ type=generation.
266
+ e.g. Sr., Jr., III (the third), etc.
267
+ type=qualification.
268
+ Contains the letters used to describe academic or other type qualifications held by a person and/or the distinctions conferred upon them. e.g. PhD, MD, CPA, MCSD, etc.
269
+ </xsd:documentation>
270
+ </xsd:annotation>
271
+ <xsd:simpleType>
272
+ <xsd:restriction base="xsd:string">
273
+ <xsd:enumeration value="aristocraticTitle" />
274
+ <xsd:enumeration value="formOfAddress" />
275
+ <xsd:enumeration value="generation" />
276
+ <xsd:enumeration value="qualification" />
277
+ </xsd:restriction>
278
+ </xsd:simpleType>
279
+ </xsd:attribute>
280
+ </xsd:extension>
281
+ </xsd:simpleContent>
282
+ </xsd:complexType>
283
+ </xsd:element>
284
+ </xsd:sequence>
285
+ <xsd:attribute name="script" type="xsd:string">
286
+ <xsd:annotation>
287
+ <xsd:documentation>A code identifying a character script used in the associated elements. A script is a set of graphic characters used for the written form of one or more languages. A script, as opposed to an arbitrary subset of characters, is defined in distinction to other scripts where readers of one script may be unable to read the individual character glyphs of another script.
288
+ [BusinessRule(s): This attribute contains an ISO 15924 code (4 letters). ]
289
+ [Example(s): “Latn” for the Latin alphabet, “Hani” for Asian ideograph characters, and “Arab” for the Arabic alphabet. ]
290
+ </xsd:documentation>
291
+ </xsd:annotation>
292
+ </xsd:attribute>
293
+ </xsd:complexType>
294
+ </xsd:element>
295
+ </xsd:sequence>
296
+ <xsd:attribute name="script" type="xsd:string">
297
+ <xsd:annotation>
298
+ <xsd:documentation>A code identifying a character script used in the associated elements. A script is a set of graphic characters used for the written form of one or more languages. A script, as opposed to an arbitrary subset of characters, is defined in distinction to other scripts where readers of one script may be unable to read the individual character glyphs of another script.
299
+ [BusinessRule(s): This attribute contains an ISO 15924 code (4 letters). ]
300
+ [Example(s): “Latn” for the Latin alphabet, “Hani” for Asian ideograph characters, and “Arab” for the Arabic alphabet. ]
301
+ </xsd:documentation>
302
+ </xsd:annotation>
303
+ </xsd:attribute>
304
+ </xsd:complexType>
305
+ <xsd:annotation>
306
+ <xsd:documentation>
307
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
308
+ Name: PostalAddress.xsd
309
+ Status: Recommendation
310
+ Date this version: 2007-04-15
311
+ Purpose: Defines the schema for Postal Address
312
+ Author(s): Paul Kiel, Kim Bartkus, CPO Workgroup
313
+ Documentation: PostalAddress.html
314
+
315
+ Terms of license can be found in license.txt.
316
+
317
+ Change History:
318
+ 2005-01
319
+ As per Schema Design Guidelines, all default values have been removed.
320
+
321
+ 2008-02 Lon Pilot
322
+ Reformed DeliveryAddress to be required; created a choice containing AddressLine and the
323
+ sequence comprising a parsed address line's components (Streetname, BuildingNumber, etc.).
324
+ </xsd:documentation>
325
+ </xsd:annotation>
326
+ <xsd:element name="PostalAddress" type="PostalAddressType">
327
+ <xsd:annotation>
328
+ <xsd:documentation>Describes a postal address used for delivery of mail. </xsd:documentation>
329
+ </xsd:annotation>
330
+ </xsd:element>
331
+ <xsd:complexType name="PostalAddressType">
332
+ <xsd:annotation>
333
+ <xsd:documentation>Describes a postal address used for delivery of mail.
334
+ </xsd:documentation>
335
+ </xsd:annotation>
336
+ <xsd:sequence>
337
+ <xsd:element name="CountryCode">
338
+ <xsd:annotation>
339
+ <xsd:documentation>Contains the ISO 3166-1 two-character country code.
340
+ </xsd:documentation>
341
+ </xsd:annotation>
342
+ <xsd:simpleType>
343
+ <xsd:restriction base="xsd:string">
344
+ <xsd:pattern value="[A-Z]{2}" />
345
+ </xsd:restriction>
346
+ </xsd:simpleType>
347
+ </xsd:element>
348
+ <xsd:element minOccurs="0" name="PostalCode" type="xsd:string">
349
+ <xsd:annotation>
350
+ <xsd:documentation>Codes established by postal authorities for purposes of sorting and delivering mail.
351
+ </xsd:documentation>
352
+ </xsd:annotation>
353
+ </xsd:element>
354
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Region" type="xsd:string">
355
+ <xsd:annotation>
356
+ <xsd:documentation>Represents the State, Province, and/or County. Military addresses should be stored in multiple regions (hierarchy region from highest to most specific): 1 st region = APO (Army/Airforce Post Office); FPO (Fleet Post Office). 2 nd region = 2 letter designator for part of world (AE ΠEurope, AA ΠAmericas)
357
+ </xsd:documentation>
358
+ </xsd:annotation>
359
+ </xsd:element>
360
+ <xsd:element minOccurs="0" name="Municipality" type="xsd:string">
361
+ <xsd:annotation>
362
+ <xsd:documentation>Represents the city, town, village, or hamlet.
363
+ </xsd:documentation>
364
+ </xsd:annotation>
365
+ </xsd:element>
366
+ <xsd:element name="DeliveryAddress">
367
+ <xsd:annotation>
368
+ <xsd:documentation>Contains one formatted address line with all of its pieces in their proper place. This includes all of the necessary punctuation. This de-normalized form of the delivery address cannot be easily parsed. AddressLine is used for delivery by the postal service. May contain the name or number of the building, house, and/or street. If the address is decomposed into StreetName and BuildingNumber, do not use AddressLine to store the address. Examples may include: Hancock Building; 5223 Oak Street; 213; East 23rd Avenue; P.O. Box 241; Suite 200.
369
+ </xsd:documentation>
370
+ </xsd:annotation>
371
+ <xsd:complexType>
372
+ <xsd:choice>
373
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="AddressLine" type="xsd:string">
374
+ <xsd:annotation>
375
+ <xsd:documentation>AddressLine is used for delivery by the postal service. May contain the name or number of the building, house, and/or street. If the address is decomposed into StreetName and BuildingNumber, do not use AddressLine to store the address. Examples may include: Hancock Building; 5223 Oak Street; 213; East 23rd Avenue; P.O. Box 241; Suite 200.
376
+ </xsd:documentation>
377
+ </xsd:annotation>
378
+ </xsd:element>
379
+ <xsd:sequence>
380
+ <xsd:element minOccurs="0" name="StreetName" type="xsd:string">
381
+ <xsd:annotation>
382
+ <xsd:documentation>Contains the street name or number. This may be used for verification, building the address, or storing in a database. If the address is decomposed into StreetName, BuildingNumber and Unit, do not use AddressLine to duplicate that part of the address information. Examples may include: Oak Street; East 23rd Avenue.
383
+ </xsd:documentation>
384
+ </xsd:annotation>
385
+ </xsd:element>
386
+ <xsd:element minOccurs="0" name="BuildingNumber" type="xsd:string">
387
+ <xsd:annotation>
388
+ <xsd:documentation>This element is defined as a string to handle "numbers" such as 7A or 15/III. The term "BuildingNumber" was also used instead of HouseNumber so all types of buildings could apply (house, building, warehouse, tower, etc). This may be used for verification, building the address, or storing in a database. If the address is decomposed into StreetName, BuildingNumber and Unit, do not use AddressLine to duplicate that part of the address information. Examples may include: Hancock Building; 5223.
389
+ </xsd:documentation>
390
+ </xsd:annotation>
391
+ </xsd:element>
392
+ <xsd:element minOccurs="0" name="Unit" type="xsd:string">
393
+ <xsd:annotation>
394
+ <xsd:documentation>Contains the Apartment, Suite, Unit, Room, Floor, Trailer, Level, Hanger, etc. This may be used for verification, building the address, or storing in a database. If the address is decomposed into StreetName, BuildingNumber and Unit, do not use AddressLine to duplicate that part of the address information. Examples may include: Apt. 124, Ste. 300, Upper, Hanger A.
395
+ </xsd:documentation>
396
+ </xsd:annotation>
397
+ </xsd:element>
398
+ <xsd:element minOccurs="0" name="PostOfficeBox" type="xsd:string">
399
+ <xsd:annotation>
400
+ <xsd:documentation>Contains the Post Office Box. This may be used for verification, building the address, or storing in a database. Example: P.O. Box 241.
401
+ </xsd:documentation>
402
+ </xsd:annotation>
403
+ </xsd:element>
404
+ </xsd:sequence>
405
+ </xsd:choice>
406
+ </xsd:complexType>
407
+ </xsd:element>
408
+ </xsd:sequence>
409
+ <xsd:attribute name="type">
410
+ <xsd:annotation>
411
+ <xsd:documentation>Defines if the postal address is a street address, military, or post office box.
412
+ type = postOfficeBoxAddress
413
+ type = streetAddress
414
+ type = militaryAddress
415
+ type = undefined
416
+ </xsd:documentation>
417
+ </xsd:annotation>
418
+ <xsd:simpleType>
419
+ <xsd:restriction base="xsd:string">
420
+ <xsd:enumeration value="postOfficeBoxAddress" />
421
+ <xsd:enumeration value="streetAddress" />
422
+ <xsd:enumeration value="militaryAddress" />
423
+ <xsd:enumeration value="undefined" />
424
+ </xsd:restriction>
425
+ </xsd:simpleType>
426
+ </xsd:attribute>
427
+ </xsd:complexType>
428
+ <xsd:annotation>
429
+ <xsd:documentation>
430
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
431
+ Name: ContactMethod.xsd
432
+ Status: Recommendation
433
+ Date this version: 2007-04-15
434
+ Purpose: Defines the schema for contact methods
435
+ Author(s): Don Simonson, Robert Half Int'l., CPO Workgroup
436
+ Documentation: ContactMethod.html
437
+ </xsd:documentation>
438
+ </xsd:annotation>
439
+ <xsd:complexType name="IABContactMethodType">
440
+ <xsd:annotation>
441
+ <xsd:documentation>IABContactMethodType is a structure allowing for the grouping of contact information data by usage, location, and availability. The IAB extension to the base HR-XML type allows for defining the IAB contact type atribute, as defined below.
442
+ </xsd:documentation>
443
+ </xsd:annotation>
444
+ <xsd:complexContent mixed="false">
445
+ <xsd:extension base="ContactMethodType">
446
+ <xsd:sequence>
447
+ <xsd:element ref="IABTypeOfContact">
448
+ <xsd:annotation>
449
+ <xsd:documentation>The specific type of contact represented in the data. Examples being Primary, Sales, and Technical.</xsd:documentation>
450
+ </xsd:annotation>
451
+ </xsd:element>
452
+ <xsd:element ref="PersonName">
453
+ <xsd:annotation>
454
+ <xsd:documentation>The person being contacted.</xsd:documentation>
455
+ </xsd:annotation>
456
+ </xsd:element>
457
+ <xsd:element minOccurs="0" name="Title" type="xsd:string">
458
+ <xsd:annotation>
459
+ <xsd:documentation>The business title of the person.
460
+ </xsd:documentation>
461
+ </xsd:annotation>
462
+ </xsd:element>
463
+ </xsd:sequence>
464
+ </xsd:extension>
465
+ </xsd:complexContent>
466
+ </xsd:complexType>
467
+ <xsd:element name="IABTypeOfContact" type="IABTypeOfContactType">
468
+ <xsd:annotation>
469
+ <xsd:documentation>The specific type of contact represented in the data. Examples being Primary, Sales, and Technical.</xsd:documentation>
470
+ </xsd:annotation>
471
+ </xsd:element>
472
+ <xsd:simpleType name="IABTypeOfContactType">
473
+ <xsd:annotation>
474
+ <xsd:documentation>The specific type of contact represented in the data. Examples being Primary, Sales, and Technical.
475
+ </xsd:documentation>
476
+ </xsd:annotation>
477
+ <xsd:restriction base="xsd:string">
478
+ <xsd:enumeration value="Primary" />
479
+ <xsd:enumeration value="Secondary" />
480
+ <xsd:enumeration value="Technical" />
481
+ <xsd:enumeration value="Sales" />
482
+ <xsd:enumeration value="Emergency" />
483
+ <xsd:enumeration value="Production" />
484
+ <xsd:enumeration value="Billing" />
485
+ <xsd:enumeration value="Account Executive" />
486
+ <xsd:enumeration value="Buyer" />
487
+ <xsd:enumeration value="Traffic" />
488
+ </xsd:restriction>
489
+ </xsd:simpleType>
490
+ <xsd:element name="Use" type="contactMethodUsePatternExtensionType">
491
+ <xsd:annotation>
492
+ <xsd:documentation>Describes the usage of the contact, such as "business", "businessDirect", or "personal". It does not include the device type.
493
+ </xsd:documentation>
494
+ </xsd:annotation>
495
+ </xsd:element>
496
+ <xsd:element name="Location" type="contactMethodLocationPatternExtensionType">
497
+ <xsd:annotation>
498
+ <xsd:documentation>Describes the general physical location of the contact information destination, such as "office", "home', or "onPerson".
499
+ </xsd:documentation>
500
+ </xsd:annotation>
501
+ </xsd:element>
502
+ <xsd:element name="WhenAvailable" type="contactMethodWhenAvailableType">
503
+ <xsd:annotation>
504
+ <xsd:documentation>
505
+ IABContactMethodType is a structure allowing for the grouping of contact information data by usage, location, and availability. The IAB extension to the base HR-XML type allows for defining the IAB contact type atribute, as defined below.
506
+ </xsd:documentation>
507
+ </xsd:annotation>
508
+ </xsd:element>
509
+ <xsd:complexType name="ContactMethodType">
510
+ <xsd:annotation>
511
+ <xsd:documentation>ContactMethodType is a structure allowing for the grouping of contact information data by usage, location, and availability. </xsd:documentation>
512
+ </xsd:annotation>
513
+ <xsd:sequence>
514
+ <xsd:element minOccurs="0" ref="Use">
515
+ <xsd:annotation>
516
+ <xsd:documentation>Describes the usage of the contact, such as "business", "businessDirect", or "personal". It does not include the device type.
517
+ </xsd:documentation>
518
+ </xsd:annotation>
519
+ </xsd:element>
520
+ <xsd:element minOccurs="0" ref="Location">
521
+ <xsd:annotation>
522
+ <xsd:documentation>Describes the general physical location of the contact information destination, such as "office", "home', or "onPerson".
523
+ </xsd:documentation>
524
+ </xsd:annotation>
525
+ </xsd:element>
526
+ <xsd:element minOccurs="0" ref="WhenAvailable">
527
+ <xsd:annotation>
528
+ <xsd:documentation>Text string suggesting an appropriate time frame when the use of the addresses in this ContactMethod is relevant. For example: 24x7, weekdays, or weekends.
529
+ </xsd:documentation>
530
+ </xsd:annotation>
531
+ </xsd:element>
532
+ <xsd:element minOccurs="0" ref="Telephone">
533
+ <xsd:annotation>
534
+ <xsd:documentation>Voice Device TelcomNumber
535
+ </xsd:documentation>
536
+ </xsd:annotation>
537
+ </xsd:element>
538
+ <xsd:element minOccurs="0" ref="Mobile">
539
+ <xsd:annotation>
540
+ <xsd:documentation>Mobile Device TelcomNumber
541
+ </xsd:documentation>
542
+ </xsd:annotation>
543
+ </xsd:element>
544
+ <xsd:element minOccurs="0" ref="Fax">
545
+ <xsd:annotation>
546
+ <xsd:documentation>Facsimile Device TelcomNumber
547
+ </xsd:documentation>
548
+ </xsd:annotation>
549
+ </xsd:element>
550
+ <xsd:element minOccurs="0" ref="Pager">
551
+ <xsd:annotation>
552
+ <xsd:documentation>Pager Device TelcomNumber
553
+ </xsd:documentation>
554
+ </xsd:annotation>
555
+ </xsd:element>
556
+ <xsd:element minOccurs="0" ref="TTYTDD">
557
+ <xsd:annotation>
558
+ <xsd:documentation>TTY is the acronym for Teletypewriter. TDD is the acronym for Telecommunication Device for the Deaf. Both are devices of TelcomNumber.
559
+ </xsd:documentation>
560
+ </xsd:annotation>
561
+ </xsd:element>
562
+ <xsd:element minOccurs="0" ref="InternetEmailAddress">
563
+ <xsd:annotation>
564
+ <xsd:documentation>Internet email address.
565
+ </xsd:documentation>
566
+ </xsd:annotation>
567
+ </xsd:element>
568
+ <xsd:element minOccurs="0" ref="InternetWebAddress">
569
+ <xsd:annotation>
570
+ <xsd:documentation>Universal Resource Locator (URL) for a web site. Usually in the form http://www.hr-xml.org. This should include "http://".
571
+ </xsd:documentation>
572
+ </xsd:annotation>
573
+ </xsd:element>
574
+ <xsd:element minOccurs="0" ref="PostalAddress">
575
+ <xsd:annotation>
576
+ <xsd:documentation>Describes a postal address used for delivery of mail. See PostalAddress specification for details.
577
+ </xsd:documentation>
578
+ </xsd:annotation>
579
+ </xsd:element>
580
+ </xsd:sequence>
581
+ </xsd:complexType>
582
+ <xsd:simpleType name="contactMethodUseType">
583
+ <xsd:annotation>
584
+ <xsd:documentation>Describes the usage of the contact, such as "business", "businessDirect", or "personal". It does not include the device type.
585
+ </xsd:documentation>
586
+ </xsd:annotation>
587
+ <xsd:restriction base="xsd:string">
588
+ <xsd:enumeration value="business" />
589
+ <xsd:enumeration value="businessDirect" />
590
+ <xsd:enumeration value="personal" />
591
+ </xsd:restriction>
592
+ </xsd:simpleType>
593
+ <xsd:simpleType name="contactMethodLocationType">
594
+ <xsd:annotation>
595
+ <xsd:documentation>Describes the general physical location of the contact information destination, such as "office", "home', or "onPerson".
596
+ </xsd:documentation>
597
+ </xsd:annotation>
598
+ <xsd:restriction base="xsd:string">
599
+ <xsd:enumeration value="office" />
600
+ <xsd:enumeration value="vehicle" />
601
+ <xsd:enumeration value="onPerson" />
602
+ <xsd:enumeration value="home" />
603
+ </xsd:restriction>
604
+ </xsd:simpleType>
605
+ <xsd:simpleType name="contactMethodWhenAvailableType">
606
+ <xsd:annotation>
607
+ <xsd:documentation>Text string suggesting an appropriate time frame when the use of the addresses in this ContactMethod is relevant. For example: 24x7, weekdays, or weekends.
608
+ </xsd:documentation>
609
+ </xsd:annotation>
610
+ <xsd:restriction base="xsd:string" />
611
+ </xsd:simpleType>
612
+ <xsd:simpleType name="contactMethodLocationPatternExtensionType">
613
+ <xsd:annotation>
614
+ <xsd:documentation>Extension to the enumerated list of locations allowing for any string value to be used. </xsd:documentation>
615
+ </xsd:annotation>
616
+ <xsd:union memberTypes="contactMethodLocationType xsd:string" />
617
+ </xsd:simpleType>
618
+ <xsd:simpleType name="contactMethodUsePatternExtensionType">
619
+ <xsd:annotation>
620
+ <xsd:documentation>Extension to the enumerated list of uses allowing for any string value to be used. </xsd:documentation>
621
+ </xsd:annotation>
622
+ <xsd:union memberTypes="contactMethodUseType xsd:string" />
623
+ </xsd:simpleType>
624
+ <xsd:annotation>
625
+ <xsd:documentation>
626
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
627
+ Name: TelcomNumber.xsd
628
+ Status: Recommendation
629
+ Date this version: 2007-04-15
630
+ Purpose: Schema for Telecommunications data.
631
+ Author(s): Don Simonson, Robert Half Int'l., CPO Workgroup
632
+ Documentation: ContactMethod.html
633
+ </xsd:documentation>
634
+ </xsd:annotation>
635
+ <xsd:group name="TelcomNumberGroup">
636
+ <xsd:sequence>
637
+ <xsd:element minOccurs="0" ref="InternationalCountryCode">
638
+ <xsd:annotation>
639
+ <xsd:documentation>This is the ITU's country code that identifies a specific country, countries in an integrated numbering plan, or a specific geographic area.
640
+ </xsd:documentation>
641
+ </xsd:annotation>
642
+ </xsd:element>
643
+ <xsd:element minOccurs="0" ref="NationalNumber">
644
+ <xsd:annotation>
645
+ <xsd:documentation>National (Trunk) Number. This is the code used to indicate that the following numbers are for another AreaCityCode outside the Originating AreaCityCode, but within the originating country. This can usually be inferred from the TelcomCountryCode. It is included for those cases were derivation is not used.
646
+ </xsd:documentation>
647
+ </xsd:annotation>
648
+ </xsd:element>
649
+ <xsd:element minOccurs="0" ref="AreaCityCode">
650
+ <xsd:annotation>
651
+ <xsd:documentation>This defines either a numbering area within a country (or group of countries included in one integrated numbering plan or a specific geographic area) or network/service.
652
+ </xsd:documentation>
653
+ </xsd:annotation>
654
+ </xsd:element>
655
+ <xsd:element ref="SubscriberNumber">
656
+ <xsd:annotation>
657
+ <xsd:documentation>The number identifying a subscriber in a network or numbering area. The SubscriberNumber MUST contain at least one digit. The SubscriberNumber MAY contain hyphens, period, and spaces in addition to the digits. This number may also be known as the "local number".
658
+ </xsd:documentation>
659
+ </xsd:annotation>
660
+ </xsd:element>
661
+ <xsd:element minOccurs="0" ref="Extension">
662
+ <xsd:annotation>
663
+ <xsd:documentation>This may contain a PBX extension, a pager PIN, a fax sub-address, or other extended addressing information.
664
+ </xsd:documentation>
665
+ </xsd:annotation>
666
+ </xsd:element>
667
+ </xsd:sequence>
668
+ </xsd:group>
669
+ <xsd:element name="FormattedNumber" type="xsd:string">
670
+ <xsd:annotation>
671
+ <xsd:documentation>Formatted string. Contains a telecommunication number string representation. This de-normalized form cannot easily be parsed. When formatted number is present, the non-formatted number MUST not be present.
672
+ </xsd:documentation>
673
+ </xsd:annotation>
674
+ </xsd:element>
675
+ <xsd:element name="InternationalCountryCode" type="xsd:string">
676
+ <xsd:annotation>
677
+ <xsd:documentation>This is the ITU's country code that identifies a specific country, countries in an integrated numbering plan, or a specific geographic area.
678
+ </xsd:documentation>
679
+ </xsd:annotation>
680
+ </xsd:element>
681
+ <xsd:element name="NationalNumber" type="xsd:string">
682
+ <xsd:annotation>
683
+ <xsd:documentation>National (Trunk) Number. This is the code used to indicate that the following numbers are for another AreaCityCode outside the Originating AreaCityCode, but within the originating country. This can usually be inferred from the TelcomCountryCode. It is included for those cases were derivation is not used.
684
+ </xsd:documentation>
685
+ </xsd:annotation>
686
+ </xsd:element>
687
+ <xsd:element name="AreaCityCode" type="xsd:string">
688
+ <xsd:annotation>
689
+ <xsd:documentation>This defines either a numbering area within a country (or group of countries included in one integrated numbering plan or a specific geographic area) or network/service.
690
+ </xsd:documentation>
691
+ </xsd:annotation>
692
+ </xsd:element>
693
+ <xsd:element name="SubscriberNumber" type="xsd:string">
694
+ <xsd:annotation>
695
+ <xsd:documentation>The number identifying a subscriber in a network or numbering area. The SubscriberNumber MUST contain at least one digit. The SubscriberNumber MAY contain hyphens, period, and spaces in addition to the digits. This number may also be known as the "local number".
696
+ </xsd:documentation>
697
+ </xsd:annotation>
698
+ </xsd:element>
699
+ <xsd:complexType name="TelcomNumberType">
700
+ <xsd:annotation>
701
+ <xsd:documentation>The TelcomNumberType is used to store a telephone number. Telephone numbers can be used to address any device on the Public Switched Telephone Network. Such devices include voice telephones, facsimile machines, and pagers. The number may be either a formatted string or a -set of structured elements. Telephone, Fax, Pager, and TTYTDD elements in this standard are all of type TelcomNumberType.</xsd:documentation>
702
+ </xsd:annotation>
703
+ <xsd:choice>
704
+ <xsd:element ref="FormattedNumber">
705
+ <xsd:annotation>
706
+ <xsd:documentation>Formatted string. Contains a telecommunication number string representation. This de-normalized form cannot easily be parsed. When formatted number is present, the non-formatted number MUST not be present.
707
+ </xsd:documentation>
708
+ </xsd:annotation>
709
+ </xsd:element>
710
+ <xsd:group ref="TelcomNumberGroup" />
711
+ </xsd:choice>
712
+ </xsd:complexType>
713
+ <xsd:element name="Extension" type="xsd:string">
714
+ <xsd:annotation>
715
+ <xsd:documentation>This may contain a PBX extension, a pager PIN, a fax sub-address, or other extended addressing information.
716
+ </xsd:documentation>
717
+ </xsd:annotation>
718
+ </xsd:element>
719
+ <xsd:element name="Telephone" type="TelcomNumberType">
720
+ <xsd:annotation>
721
+ <xsd:documentation>Base data type for [TelcomNumberType] structure.
722
+ </xsd:documentation>
723
+ </xsd:annotation>
724
+ </xsd:element>
725
+ <xsd:element name="Mobile" type="MobileTelcomNumberType">
726
+ <xsd:annotation>
727
+ <xsd:documentation>Extension of telcomnumber type to accomodate additional mobile telephone information.</xsd:documentation>
728
+ </xsd:annotation>
729
+ </xsd:element>
730
+ <xsd:element name="Fax" type="TelcomNumberType">
731
+ <xsd:annotation>
732
+ <xsd:documentation>Facsimile Device TelcomNumber</xsd:documentation>
733
+ </xsd:annotation>
734
+ </xsd:element>
735
+ <xsd:element name="Pager" type="TelcomNumberType">
736
+ <xsd:annotation>
737
+ <xsd:documentation>Pager Device TelcomNumber</xsd:documentation>
738
+ </xsd:annotation>
739
+ </xsd:element>
740
+ <xsd:element name="TTYTDD" type="TelcomNumberType">
741
+ <xsd:annotation>
742
+ <xsd:documentation>TTY is the acronym for Teletypewriter. TDD is the acronym for Telecommunication Device for the Deaf. Both are devices of TelcomNumber.</xsd:documentation>
743
+ </xsd:annotation>
744
+ </xsd:element>
745
+ <xsd:complexType name="MobileTelcomNumberType">
746
+ <xsd:annotation>
747
+ <xsd:documentation>MobileTelcomNumberType extends TelcomNumberType by adding an smsEnabled attribute.</xsd:documentation>
748
+ </xsd:annotation>
749
+ <xsd:complexContent mixed="false">
750
+ <xsd:extension base="TelcomNumberType">
751
+ <xsd:attribute name="smsEnabled" type="xsd:boolean" use="optional">
752
+ <xsd:annotation>
753
+ <xsd:documentation>SMS (Short Message Service) is a service for sending messages of up to 160 characters (224 characters if using a 5-bit mode) to mobile phones that use Global System for Mobile (GSM) communication.This boolean elements determines if the contact method is sms enabled or not (True/False).
754
+ </xsd:documentation>
755
+ </xsd:annotation>
756
+ </xsd:attribute>
757
+ </xsd:extension>
758
+ </xsd:complexContent>
759
+ </xsd:complexType>
760
+ <xsd:annotation>
761
+ <xsd:documentation>
762
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
763
+ Name: OnlineAddress.xsd
764
+ Status: Recommendation
765
+ Date this version: 2007-04-15
766
+ Purpose: Defines the schema for online addresses.
767
+ Author(s): Don Simonson, Robert Half Int'l., CPO Workgroup
768
+ Documentation: ContactMethod.html
769
+ </xsd:documentation>
770
+ </xsd:annotation>
771
+ <xsd:element name="InternetEmailAddress" type="InternetEmailAddressType">
772
+ <xsd:annotation>
773
+ <xsd:documentation>Internet email address.</xsd:documentation>
774
+ </xsd:annotation>
775
+ </xsd:element>
776
+ <xsd:simpleType name="InternetEmailAddressType">
777
+ <xsd:annotation>
778
+ <xsd:documentation>Internet email address.</xsd:documentation>
779
+ </xsd:annotation>
780
+ <xsd:restriction base="xsd:string" />
781
+ </xsd:simpleType>
782
+ <xsd:element name="InternetWebAddress" type="InternetWebAddressType">
783
+ <xsd:annotation>
784
+ <xsd:documentation>Universal Resource Locator (URL) for a web site. Usually in the form http://www.hr-xml.org. This should include "http://".</xsd:documentation>
785
+ </xsd:annotation>
786
+ </xsd:element>
787
+ <xsd:simpleType name="InternetWebAddressType">
788
+ <xsd:annotation>
789
+ <xsd:documentation>Universal Resource Locator (URL) for a web site. Usually in the form http://www.hr-xml.org. This should include "http://".</xsd:documentation>
790
+ </xsd:annotation>
791
+ <xsd:restriction base="xsd:string" />
792
+ </xsd:simpleType>
793
+ <xsd:annotation>
794
+ <xsd:documentation>
795
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
796
+ Name: EntityIdType.xsd
797
+ Status: Recommendation
798
+ Date this version: 2007-04-15
799
+ Purpose: Defines XSD for Entity Identifiers
800
+ Editor: Karl Brophey, Kim Bartkus, CPO Workgroup
801
+ Documentation: EntityIdentifiers.html (IdentifierTypes.html)
802
+
803
+ Change History:
804
+ 2008-02 Lon Pilot
805
+ Modified from HR-XML base to make validFrom and validTo xsd:date type attributes.
806
+ This fits with best practices from the HR-XML community (and is a change being made as part of
807
+ the HR-XML 3.0 release).
808
+ </xsd:documentation>
809
+ </xsd:annotation>
810
+ <xsd:complexType name="EntityIdType">
811
+ <xsd:annotation>
812
+ <xsd:documentation>Data Type used to represent any Entity Identifier. </xsd:documentation>
813
+ </xsd:annotation>
814
+ <xsd:sequence>
815
+ <xsd:element maxOccurs="unbounded" name="IdValue">
816
+ <xsd:annotation>
817
+ <xsd:documentation>A sequence of characters that one or more systems use as an identifier for the given entity. This could be numeric, alpha, and may include punctuation. </xsd:documentation>
818
+ </xsd:annotation>
819
+ <xsd:complexType>
820
+ <xsd:simpleContent>
821
+ <xsd:extension base="xsd:string">
822
+ <xsd:attribute name="name" type="xsd:string" use="optional">
823
+ <xsd:annotation>
824
+ <xsd:documentation>A description of the type of identifier or the portion of an identifier that “IdValue” represents. If used, values should be determined by trading partner agreement.</xsd:documentation>
825
+ </xsd:annotation>
826
+ </xsd:attribute>
827
+ </xsd:extension>
828
+ </xsd:simpleContent>
829
+ </xsd:complexType>
830
+ </xsd:element>
831
+ </xsd:sequence>
832
+ <xsd:attribute name="validFrom" type="xsd:date" use="optional">
833
+ <xsd:annotation>
834
+ <xsd:documentation>A method for “effective dating” identifiers. Use should be determined by trading partner agreement. </xsd:documentation>
835
+ </xsd:annotation>
836
+ </xsd:attribute>
837
+ <xsd:attribute name="validTo" type="xsd:date" use="optional">
838
+ <xsd:annotation>
839
+ <xsd:documentation>A method for “effective dating” identifiers. Use should be determined by trading partner agreement. </xsd:documentation>
840
+ </xsd:annotation>
841
+ </xsd:attribute>
842
+ <xsd:attribute name="idOwner" type="xsd:string" use="required">
843
+ <xsd:annotation>
844
+ <xsd:documentation>A description of who “owns” the identifier. This usually will be the company and/or system name that utilizes the given value(s) for uniqueness. Use should be by trading partner agreement.</xsd:documentation>
845
+ </xsd:annotation>
846
+ </xsd:attribute>
847
+ </xsd:complexType>
848
+ <xsd:annotation>
849
+ <xsd:documentation>
850
+ "Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
851
+ Name: UserArea.xsd
852
+ Status: Recommendation
853
+ Date this version: 2007-04-15
854
+ Purpose: Defines the UserArea extension schema
855
+ Author(s): Technical Steering Committee
856
+ Documentation: HRXMLExtension.html
857
+ </xsd:documentation>
858
+ </xsd:annotation>
859
+ <xsd:annotation>
860
+ <xsd:documentation>The remainder of this file is specific to the IAB eBusiness initiative and is not based on the work of the HR-XML Consortium.</xsd:documentation>
861
+ </xsd:annotation>
862
+ <xsd:complexType name="IABPartnerInfoType">
863
+ <xsd:annotation>
864
+ <xsd:documentation>Structure containing partner information used to identify trading partners in a exchange scenario. Examples would be Advertiser, Agency, Billing Partner, and Publisher.</xsd:documentation>
865
+ </xsd:annotation>
866
+ <xsd:sequence>
867
+ <xsd:element name="Role">
868
+ <xsd:annotation>
869
+ <xsd:documentation>The role the partner is playng in the context of the message.</xsd:documentation>
870
+ </xsd:annotation>
871
+ <xsd:simpleType>
872
+ <xsd:restriction base="xsd:string">
873
+ <xsd:enumeration value="Advertiser" />
874
+ <xsd:enumeration value="Agency" />
875
+ <xsd:enumeration value="Billing" />
876
+ <xsd:enumeration value="BuyingAgency" />
877
+ <xsd:enumeration value="CreativeAgency" />
878
+ <xsd:enumeration value="PlanningAgency" />
879
+ <xsd:enumeration value="Publisher" />
880
+ <xsd:enumeration value="Broker" />
881
+ <xsd:enumeration value="OtherPartner" />
882
+ </xsd:restriction>
883
+ </xsd:simpleType>
884
+ </xsd:element>
885
+ <xsd:element name="PrimaryID" type="EntityIdType">
886
+ <xsd:annotation>
887
+ <xsd:documentation>The primary identifier of the partner. This should be a neutral third-party issued value such as a Guid.</xsd:documentation>
888
+ </xsd:annotation>
889
+ </xsd:element>
890
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="OtherID" type="EntityIdType">
891
+ <xsd:annotation>
892
+ <xsd:documentation>A repeatable series of other system identities for the partner. This can be used to transmit system specific identifiers between partners.</xsd:documentation>
893
+ </xsd:annotation>
894
+ </xsd:element>
895
+ <xsd:element name="Name" type="xsd:string">
896
+ <xsd:annotation>
897
+ <xsd:documentation>Legal entity name of the partner (business name).</xsd:documentation>
898
+ </xsd:annotation>
899
+ </xsd:element>
900
+ <xsd:element name="Address" type="PostalAddressType">
901
+ <xsd:annotation>
902
+ <xsd:documentation>Address of the partner.</xsd:documentation>
903
+ </xsd:annotation>
904
+ </xsd:element>
905
+ <xsd:element name="PrimaryContact" type="IABContactMethodType">
906
+ <xsd:annotation>
907
+ <xsd:documentation>Primary contact within the partner organization.</xsd:documentation>
908
+ </xsd:annotation>
909
+ </xsd:element>
910
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="OtherContacts" type="IABContactMethodType">
911
+ <xsd:annotation>
912
+ <xsd:documentation>Optional list of other contacts for within the partner organization.</xsd:documentation>
913
+ </xsd:annotation>
914
+ </xsd:element>
915
+ </xsd:sequence>
916
+ </xsd:complexType>
917
+ <xsd:simpleType name="CurrencyCodeType">
918
+ <xsd:annotation>
919
+ <xsd:documentation>ISO 4217 - Representation of Currency and Funds.</xsd:documentation>
920
+ </xsd:annotation>
921
+ <xsd:restriction base="xsd:string">
922
+ <xsd:pattern value="[A-Z][A-Z][A-Z]" />
923
+ </xsd:restriction>
924
+ </xsd:simpleType>
925
+ <xsd:complexType name="MonetaryType">
926
+ <xsd:annotation>
927
+ <xsd:documentation>A monetary value with explicit currency code information attached.</xsd:documentation>
928
+ </xsd:annotation>
929
+ <xsd:simpleContent>
930
+ <xsd:extension base="xsd:decimal">
931
+ <xsd:attribute name="currency" type="CurrencyCodeType" use="required">
932
+ <xsd:annotation>
933
+ <xsd:documentation>ISO 4217 - Representation of Currency and Funds.</xsd:documentation>
934
+ </xsd:annotation>
935
+ </xsd:attribute>
936
+ </xsd:extension>
937
+ </xsd:simpleContent>
938
+ </xsd:complexType>
939
+ <xsd:complexType name="DiscountType">
940
+ <xsd:annotation>
941
+ <xsd:documentation>A discounting structure. Allows for specifying either a monetary discount or a percentage discount.</xsd:documentation>
942
+ </xsd:annotation>
943
+ <xsd:sequence>
944
+ <xsd:element minOccurs="0" name="Description" type="xsd:string">
945
+ <xsd:annotation>
946
+ <xsd:documentation>Description of the discount.</xsd:documentation>
947
+ </xsd:annotation>
948
+ </xsd:element>
949
+ <xsd:choice>
950
+ <xsd:element name="Percent" type="PercentageType">
951
+ <xsd:annotation>
952
+ <xsd:documentation>A percentage represented as a decimal value betwee 0 and 100 inclusive.</xsd:documentation>
953
+ </xsd:annotation>
954
+ </xsd:element>
955
+ <xsd:element name="Amount" type="MonetaryType">
956
+ <xsd:annotation>
957
+ <xsd:documentation>Monetary amount of the discount.</xsd:documentation>
958
+ </xsd:annotation>
959
+ </xsd:element>
960
+ </xsd:choice>
961
+ </xsd:sequence>
962
+ </xsd:complexType>
963
+ <xsd:complexType name="AttachmentType">
964
+ <xsd:annotation>
965
+ <xsd:documentation>Originating system's ID for this version of the document. During a 'conversation' between the buy and sell side this value should uniquely identify this version of the document. If Publisher sent proposal, should stay publisher ID. Use of 'name' attribute allows for additional system-ID mapping and identification.</xsd:documentation>
966
+ </xsd:annotation>
967
+ <xsd:sequence>
968
+ <xsd:element minOccurs="0" name="Description" type="xsd:string">
969
+ <xsd:annotation>
970
+ <xsd:documentation>Description of the attachment.</xsd:documentation>
971
+ </xsd:annotation>
972
+ </xsd:element>
973
+ <xsd:element name="Link" type="InternetWebAddressType">
974
+ <xsd:annotation>
975
+ <xsd:documentation>Internet link to the attachment.</xsd:documentation>
976
+ </xsd:annotation>
977
+ </xsd:element>
978
+ </xsd:sequence>
979
+ </xsd:complexType>
980
+ <xsd:simpleType name="PercentageType">
981
+ <xsd:annotation>
982
+ <xsd:documentation>A percentage represented as a decimal value betwee 0 and 100 inclusive.</xsd:documentation>
983
+ </xsd:annotation>
984
+ <xsd:restriction base="xsd:decimal">
985
+ <xsd:minInclusive value="0" />
986
+ <xsd:maxInclusive value="100" />
987
+ </xsd:restriction>
988
+ </xsd:simpleType>
989
+ <xsd:complexType name="IABDateTimeType">
990
+ <xsd:annotation>
991
+ <xsd:documentation>Date time structure allowing for an optional time.</xsd:documentation>
992
+ </xsd:annotation>
993
+ <xsd:sequence>
994
+ <xsd:element name="Date" type="xsd:date">
995
+ <xsd:annotation>
996
+ <xsd:documentation>A date.</xsd:documentation>
997
+ </xsd:annotation>
998
+ </xsd:element>
999
+ <xsd:element minOccurs="0" name="Time" type="xsd:time">
1000
+ <xsd:annotation>
1001
+ <xsd:documentation>A time value.</xsd:documentation>
1002
+ </xsd:annotation>
1003
+ </xsd:element>
1004
+ </xsd:sequence>
1005
+ </xsd:complexType>
1006
+ <xsd:complexType name="BaseTargetType">
1007
+ <xsd:annotation>
1008
+ <xsd:documentation>A targeting structure for use in defining campaign/media targeting.</xsd:documentation>
1009
+ </xsd:annotation>
1010
+ <xsd:sequence>
1011
+ <xsd:element minOccurs="0" name="ID" type="EntityIdType">
1012
+ <xsd:annotation>
1013
+ <xsd:documentation>Optional identifier of the target option.</xsd:documentation>
1014
+ </xsd:annotation>
1015
+ </xsd:element>
1016
+ <xsd:element name="Type" type="xsd:string">
1017
+ <xsd:annotation>
1018
+ <xsd:documentation>Type of target option.</xsd:documentation>
1019
+ </xsd:annotation>
1020
+ </xsd:element>
1021
+ <xsd:element name="Value" type="xsd:string">
1022
+ <xsd:annotation>
1023
+ <xsd:documentation>Value of the target option.</xsd:documentation>
1024
+ </xsd:annotation>
1025
+ </xsd:element>
1026
+ </xsd:sequence>
1027
+ </xsd:complexType>
1028
+ <xsd:complexType name="GenericTargetType">
1029
+ <xsd:annotation>
1030
+ <xsd:documentation>An extended target type allowing for an additional category value.</xsd:documentation>
1031
+ </xsd:annotation>
1032
+ <xsd:complexContent mixed="false">
1033
+ <xsd:extension base="BaseTargetType">
1034
+ <xsd:sequence>
1035
+ <xsd:element name="Category" type="xsd:string">
1036
+ <xsd:annotation>
1037
+ <xsd:documentation>Category associated with the target, such as Audience, Site, and Behavior.</xsd:documentation>
1038
+ </xsd:annotation>
1039
+ </xsd:element>
1040
+ </xsd:sequence>
1041
+ </xsd:extension>
1042
+ </xsd:complexContent>
1043
+ </xsd:complexType>
1044
+ <xsd:complexType name="UnitType">
1045
+ <xsd:annotation>
1046
+ <xsd:documentation>Provides a metric for units wherever used in the standards. Can be either one of the enumerated values or a non-standard value (string).</xsd:documentation>
1047
+ </xsd:annotation>
1048
+ <xsd:choice>
1049
+ <xsd:element name="StandardValue" type="UnitTypeEnumeration">
1050
+ <xsd:annotation>
1051
+ <xsd:documentation>One of the standard enumerated values for Unit Type.</xsd:documentation>
1052
+ </xsd:annotation>
1053
+ </xsd:element>
1054
+ <xsd:element name="NonStandardValue" type="xsd:string">
1055
+ <xsd:annotation>
1056
+ <xsd:documentation>A non-standard value for Unit Type.</xsd:documentation>
1057
+ </xsd:annotation>
1058
+ </xsd:element>
1059
+ </xsd:choice>
1060
+ </xsd:complexType>
1061
+ <xsd:simpleType name="UnitTypeEnumeration">
1062
+ <xsd:annotation>
1063
+ <xsd:documentation>Enumeration of standard unit types used in the industry.</xsd:documentation>
1064
+ </xsd:annotation>
1065
+ <xsd:restriction base="xsd:string">
1066
+ <xsd:enumeration value="Impressions" />
1067
+ <xsd:enumeration value="Clicks" />
1068
+ <xsd:enumeration value="Actions" />
1069
+ <xsd:enumeration value="Uniques" />
1070
+ <xsd:enumeration value="ShareOfVoice" />
1071
+ <xsd:enumeration value="Downloads" />
1072
+ <xsd:enumeration value="Emails" />
1073
+ <xsd:enumeration value="Leads" />
1074
+ </xsd:restriction>
1075
+ </xsd:simpleType>
1076
+ <xsd:complexType name="BaseUnit">
1077
+ <xsd:annotation>
1078
+ <xsd:documentation>Basic information about units, including type and number.</xsd:documentation>
1079
+ </xsd:annotation>
1080
+ <xsd:sequence>
1081
+ <xsd:element name="Type" type="UnitType">
1082
+ <xsd:annotation>
1083
+ <xsd:documentation>Type of units being detailed.</xsd:documentation>
1084
+ </xsd:annotation>
1085
+ </xsd:element>
1086
+ <xsd:element name="Count" type="xsd:int">
1087
+ <xsd:annotation>
1088
+ <xsd:documentation>CPM, CPC, Sponsorship, etc</xsd:documentation>
1089
+ </xsd:annotation>
1090
+ </xsd:element>
1091
+ </xsd:sequence>
1092
+ </xsd:complexType>
1093
+ <xsd:complexType name="BaseCost">
1094
+ <xsd:annotation>
1095
+ <xsd:documentation>Basic gross and net cost information. Allows for includsion of gross only, net only, or both values.</xsd:documentation>
1096
+ </xsd:annotation>
1097
+ <xsd:choice>
1098
+ <xsd:sequence>
1099
+ <xsd:element ref="GrossCost" />
1100
+ <xsd:element minOccurs="0" ref="NetCost" />
1101
+ </xsd:sequence>
1102
+ <xsd:element ref="NetCost" />
1103
+ </xsd:choice>
1104
+ </xsd:complexType>
1105
+ <xsd:element name="GrossCost" type="xsd:decimal">
1106
+ <xsd:annotation>
1107
+ <xsd:documentation>The gross cost of an item.</xsd:documentation>
1108
+ </xsd:annotation>
1109
+ </xsd:element>
1110
+ <xsd:element name="NetCost" type="xsd:decimal">
1111
+ <xsd:annotation>
1112
+ <xsd:documentation>The net cost of an item.</xsd:documentation>
1113
+ </xsd:annotation>
1114
+ </xsd:element>
1115
+ <xsd:complexType name="ZeroCostType">
1116
+ <xsd:annotation>
1117
+ <xsd:documentation>Provides a set of values to use to indicate zero cost types for items wherever used in the standards. Can be either one of the enumerated values or a non-standard value (string).</xsd:documentation>
1118
+ </xsd:annotation>
1119
+ <xsd:choice>
1120
+ <xsd:element name="StandardValue" type="ZeroCostTypeEnumeration">
1121
+ <xsd:annotation>
1122
+ <xsd:documentation>One of the standard enumerated values for zero cost.</xsd:documentation>
1123
+ </xsd:annotation>
1124
+ </xsd:element>
1125
+ <xsd:element name="NonStandardValue" type="xsd:string">
1126
+ <xsd:annotation>
1127
+ <xsd:documentation>A non-standard value for zero cost.</xsd:documentation>
1128
+ </xsd:annotation>
1129
+ </xsd:element>
1130
+ </xsd:choice>
1131
+ </xsd:complexType>
1132
+ <xsd:simpleType name="ZeroCostTypeEnumeration">
1133
+ <xsd:annotation>
1134
+ <xsd:documentation>Enumeration of standard zero cost item types used in the industry.</xsd:documentation>
1135
+ </xsd:annotation>
1136
+ <xsd:restriction base="xsd:string">
1137
+ <xsd:enumeration value="MakeGood" />
1138
+ <xsd:enumeration value="AddedValue" />
1139
+ </xsd:restriction>
1140
+ </xsd:simpleType>
1141
+ <xsd:complexType name="CostMethodType">
1142
+ <xsd:annotation>
1143
+ <xsd:documentation>Provides a set of values to use to indicate the cost method for a line item. Can be either one of the enumerated values or a non-standard value (string).</xsd:documentation>
1144
+ </xsd:annotation>
1145
+ <xsd:choice>
1146
+ <xsd:element name="StandardValue" type="CostMethodEnumeration">
1147
+ <xsd:annotation>
1148
+ <xsd:documentation>One of the standard enumerated values for cost method.</xsd:documentation>
1149
+ </xsd:annotation>
1150
+ </xsd:element>
1151
+ <xsd:element name="NonStandardValue" type="xsd:string">
1152
+ <xsd:annotation>
1153
+ <xsd:documentation>A non-standard value for cost method.</xsd:documentation>
1154
+ </xsd:annotation>
1155
+ </xsd:element>
1156
+ </xsd:choice>
1157
+ </xsd:complexType>
1158
+ <xsd:simpleType name="CostMethodEnumeration">
1159
+ <xsd:annotation>
1160
+ <xsd:documentation>Enumeration of standard cost method types used in the industry.</xsd:documentation>
1161
+ </xsd:annotation>
1162
+ <xsd:restriction base="xsd:string">
1163
+ <xsd:enumeration value="CPM" />
1164
+ <xsd:enumeration value="CPC" />
1165
+ <xsd:enumeration value="CPA" />
1166
+ <xsd:enumeration value="Sponsorship" />
1167
+ <xsd:enumeration value="RevenueShare" />
1168
+ <xsd:enumeration value="CostPlusCPC" />
1169
+ <xsd:enumeration value="CostPlusCPA" />
1170
+ <xsd:enumeration value="CostPlusRevenueShare" />
1171
+ <xsd:enumeration value="PercentOfPayout" />
1172
+ <xsd:enumeration value="FlatFee" />
1173
+ </xsd:restriction>
1174
+ </xsd:simpleType>
1175
+ <xsd:element name="ZeroCost" type="ZeroCostType" />
1176
+ </xsd:schema>