enterprisifier 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +22 -0
- data/LICENSE +20 -0
- data/README.md +3 -0
- data/Rakefile +57 -0
- data/VERSION +1 -0
- data/lib/enterprisifier.rb +7 -0
- data/lib/enterprisifier/code_generation.rb +1 -0
- data/lib/enterprisifier/code_generation/code_builder.rb +33 -0
- data/lib/enterprisifier/code_generation/code_generator.rb +281 -0
- data/lib/enterprisifier/code_generation/generator.rb +102 -0
- data/lib/enterprisifier/code_generation/generators/attribute_generator.rb +22 -0
- data/lib/enterprisifier/code_generation/generators/choice_generator.rb +12 -0
- data/lib/enterprisifier/code_generation/generators/complex_content_generator.rb +12 -0
- data/lib/enterprisifier/code_generation/generators/complex_type_generator.rb +12 -0
- data/lib/enterprisifier/code_generation/generators/element_generator.rb +28 -0
- data/lib/enterprisifier/code_generation/generators/extension_generator.rb +11 -0
- data/lib/enterprisifier/code_generation/generators/group_generator.rb +27 -0
- data/lib/enterprisifier/code_generation/generators/restriction_generator.rb +11 -0
- data/lib/enterprisifier/code_generation/generators/sequence_generator.rb +12 -0
- data/lib/enterprisifier/code_generation/generators/simple_content_generator.rb +12 -0
- data/lib/enterprisifier/code_generation/generators/simple_type_generator.rb +11 -0
- data/lib/enterprisifier/code_generation/generators/union_generator.rb +34 -0
- data/lib/enterprisifier/constants.rb +3 -0
- data/lib/enterprisifier/logging.rb +5 -0
- data/lib/enterprisifier/marshalling.rb +0 -0
- data/lib/enterprisifier/marshalling/builder.rb +11 -0
- data/lib/enterprisifier/marshalling/instantiatable_element.rb +170 -0
- data/lib/enterprisifier/marshalling/namespace.rb +23 -0
- data/lib/enterprisifier/marshalling/reification.rb +30 -0
- data/lib/enterprisifier/marshalling/schema_composition.rb +170 -0
- data/lib/enterprisifier/marshalling/xsd/schema/attribute.rb +48 -0
- data/lib/enterprisifier/marshalling/xsd/schema/choice.rb +18 -0
- data/lib/enterprisifier/marshalling/xsd/schema/complex_content.rb +18 -0
- data/lib/enterprisifier/marshalling/xsd/schema/complex_type.rb +28 -0
- data/lib/enterprisifier/marshalling/xsd/schema/element.rb +92 -0
- data/lib/enterprisifier/marshalling/xsd/schema/extension.rb +29 -0
- data/lib/enterprisifier/marshalling/xsd/schema/group.rb +22 -0
- data/lib/enterprisifier/marshalling/xsd/schema/restriction.rb +29 -0
- data/lib/enterprisifier/marshalling/xsd/schema/sequence.rb +21 -0
- data/lib/enterprisifier/marshalling/xsd/schema/simple_content.rb +18 -0
- data/lib/enterprisifier/marshalling/xsd/schema/simple_type.rb +23 -0
- data/lib/enterprisifier/marshalling/xsd/schema/union.rb +23 -0
- data/lib/enterprisifier/marshalling/xsd/types/boolean.rb +14 -0
- data/lib/enterprisifier/marshalling/xsd/types/date.rb +13 -0
- data/lib/enterprisifier/marshalling/xsd/types/date_time.rb +13 -0
- data/lib/enterprisifier/marshalling/xsd/types/decimal.rb +13 -0
- data/lib/enterprisifier/marshalling/xsd/types/string.rb +14 -0
- data/lib/enterprisifier/marshalling/xsd/types/time.rb +14 -0
- data/lib/enterprisifier/schema.rb +1 -0
- data/lib/enterprisifier/schema/base_element.rb +156 -0
- data/lib/enterprisifier/schema/element_factory.rb +29 -0
- data/lib/enterprisifier/schema/elements/annotation.rb +20 -0
- data/lib/enterprisifier/schema/elements/attribute.rb +22 -0
- data/lib/enterprisifier/schema/elements/choice.rb +13 -0
- data/lib/enterprisifier/schema/elements/complex_content.rb +13 -0
- data/lib/enterprisifier/schema/elements/complex_type.rb +13 -0
- data/lib/enterprisifier/schema/elements/documentation.rb +12 -0
- data/lib/enterprisifier/schema/elements/element.rb +23 -0
- data/lib/enterprisifier/schema/elements/enumeration.rb +12 -0
- data/lib/enterprisifier/schema/elements/extension.rb +12 -0
- data/lib/enterprisifier/schema/elements/fraction_digits.rb +12 -0
- data/lib/enterprisifier/schema/elements/group.rb +12 -0
- data/lib/enterprisifier/schema/elements/import.rb +28 -0
- data/lib/enterprisifier/schema/elements/include.rb +28 -0
- data/lib/enterprisifier/schema/elements/max_inclusive.rb +12 -0
- data/lib/enterprisifier/schema/elements/min_inclusive.rb +12 -0
- data/lib/enterprisifier/schema/elements/pattern.rb +12 -0
- data/lib/enterprisifier/schema/elements/restriction.rb +12 -0
- data/lib/enterprisifier/schema/elements/schema.rb +71 -0
- data/lib/enterprisifier/schema/elements/sequence.rb +12 -0
- data/lib/enterprisifier/schema/elements/simple_content.rb +12 -0
- data/lib/enterprisifier/schema/elements/simple_type.rb +12 -0
- data/lib/enterprisifier/schema/elements/union.rb +17 -0
- data/lib/enterprisifier/schema/elements/unknown_element.rb +12 -0
- data/lib/enterprisifier/schema/loader.rb +61 -0
- data/test/enterprisifier_test.rb +35 -0
- data/test/example/e_business_for_media/aaaa/elements/aaaa_message_header.rb +15 -0
- data/test/example/e_business_for_media/aaaa/elements/aaaa_values.rb +52 -0
- data/test/example/e_business_for_media/aaaa/elements/action.rb +17 -0
- data/test/example/e_business_for_media/aaaa/elements/business_object.rb +17 -0
- data/test/example/e_business_for_media/aaaa/elements/media.rb +17 -0
- data/test/example/e_business_for_media/aaaa/elements/schema_name.rb +17 -0
- data/test/example/e_business_for_media/aaaa/elements/schema_version.rb +17 -0
- data/test/example/e_business_for_media/aaaa/elements/unique_message_id.rb +19 -0
- data/test/example/e_business_for_media/aaaa/types/aaaa_message_type.rb +58 -0
- data/test/example/e_business_for_media/aaaa/types/action_string.rb +18 -0
- data/test/example/e_business_for_media/aaaa/types/business_object_string.rb +18 -0
- data/test/example/e_business_for_media/aaaa/types/guid.rb +20 -0
- data/test/example/e_business_for_media/aaaa/types/media_string.rb +19 -0
- data/test/example/e_business_for_media/aaaa/types/schema_name_string.rb +18 -0
- data/test/example/e_business_for_media/aaaa/types/schema_version_string.rb +18 -0
- data/test/example/e_business_for_media/aaaa/types/unique_message_id.rb +18 -0
- data/test/example/e_business_for_media/iab/attributes/currency.rb +17 -0
- data/test/example/e_business_for_media/iab/attributes/id_owner.rb +19 -0
- data/test/example/e_business_for_media/iab/attributes/name.rb +19 -0
- data/test/example/e_business_for_media/iab/attributes/prefix.rb +18 -0
- data/test/example/e_business_for_media/iab/attributes/primary.rb +33 -0
- data/test/example/e_business_for_media/iab/attributes/script.rb +23 -0
- data/test/example/e_business_for_media/iab/attributes/sms_enabled.rb +20 -0
- data/test/example/e_business_for_media/iab/attributes/type.rb +30 -0
- data/test/example/e_business_for_media/iab/attributes/valid_from.rb +18 -0
- data/test/example/e_business_for_media/iab/attributes/valid_to.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/ad_server.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/additional_metrics.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/address.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/address_line.rb +22 -0
- data/test/example/e_business_for_media/iab/elements/advertiser.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/affix.rb +53 -0
- data/test/example/e_business_for_media/iab/elements/agency.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/agency_commission.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/alternate_script.rb +147 -0
- data/test/example/e_business_for_media/iab/elements/amount.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/area_city_code.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/attachments.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/audience.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/background.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/basis.rb +26 -0
- data/test/example/e_business_for_media/iab/elements/billing_frequency.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/billing_info.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/billing_notes.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/billing_partner.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/billing_statistics_source.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/brand_name.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/budget.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/building_number.rb +23 -0
- data/test/example/e_business_for_media/iab/elements/campaign_brief.rb +38 -0
- data/test/example/e_business_for_media/iab/elements/campaign_reference_id.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/campaign_reference_info.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/category.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/context.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/contract_details.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/count.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/country_code.rb +23 -0
- data/test/example/e_business_for_media/iab/elements/created_date.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/creating_system.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/date.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/delivery.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/delivery_address.rb +72 -0
- data/test/example/e_business_for_media/iab/elements/description.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/desired_positioning_notes.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/destination_system.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/discount.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/distribution.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/document_id.rb +20 -0
- data/test/example/e_business_for_media/iab/elements/document_name.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/document_sender.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/due_date.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/end_date.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/extension.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/family_name.rb +55 -0
- data/test/example/e_business_for_media/iab/elements/fax.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/flight_exclusivity_guidelines.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/format.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/formatted_name.rb +22 -0
- data/test/example/e_business_for_media/iab/elements/formatted_number.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/geographic_considerations.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/given_name.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/goal.rb +29 -0
- data/test/example/e_business_for_media/iab/elements/gross_cost.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/iab_advertiser_info.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/iab_billing_info.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/iab_message_base.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/iab_message_header.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/iab_publisher_info.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/iab_type_of_contact.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/id.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/id_value.rb +34 -0
- data/test/example/e_business_for_media/iab/elements/in_reference_to.rb +33 -0
- data/test/example/e_business_for_media/iab/elements/industry.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/instructions.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/international_country_code.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/internet_email_address.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/internet_web_address.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/legal_name.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/link.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/location.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/make_good_policy.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/middle_name.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/mobile.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/municipality.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/name.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/national_number.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/net_cost.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/non_standard_value.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/notes.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/order_status.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/other_contacts.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/other_id.rb +20 -0
- data/test/example/e_business_for_media/iab/elements/other_target.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/out_clause.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/pager.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/partner.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/payment_terms.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/payment_type.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/percent.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/person_name.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/post_office_box.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/postal_address.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/postal_code.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/preferred_given_name.rb +18 -0
- data/test/example/e_business_for_media/iab/elements/primary_contact.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/primary_id.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/primary_success_metric.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/product_name.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/property_name.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/publisher.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/referenced_document_id.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/referenced_version.rb +22 -0
- data/test/example/e_business_for_media/iab/elements/region.rb +21 -0
- data/test/example/e_business_for_media/iab/elements/request_for_proposal.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/rfp_details.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/rfp_response_requirements.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/role.rb +31 -0
- data/test/example/e_business_for_media/iab/elements/selection_criteria.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/sent_date.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/standard_value.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/start_date.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/street_name.rb +21 -0
- data/test/example/e_business_for_media/iab/elements/subscriber_number.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/target_audience.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/targeting.rb +42 -0
- data/test/example/e_business_for_media/iab/elements/telephone.rb +16 -0
- data/test/example/e_business_for_media/iab/elements/terms_and_conditions.rb +27 -0
- data/test/example/e_business_for_media/iab/elements/terms_attachment.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/terms_text.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/time.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/title.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/ttytdd.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/type.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/unit.rb +21 -0
- data/test/example/e_business_for_media/iab/elements/use.rb +17 -0
- data/test/example/e_business_for_media/iab/elements/value.rb +15 -0
- data/test/example/e_business_for_media/iab/elements/version.rb +24 -0
- data/test/example/e_business_for_media/iab/elements/when_available.rb +19 -0
- data/test/example/e_business_for_media/iab/elements/zero_cost.rb +15 -0
- data/test/example/e_business_for_media/iab/groups/telcom_number_group.rb +52 -0
- data/test/example/e_business_for_media/iab/types/attachment_type.rb +32 -0
- data/test/example/e_business_for_media/iab/types/base_cost.rb +32 -0
- data/test/example/e_business_for_media/iab/types/base_target_type.rb +31 -0
- data/test/example/e_business_for_media/iab/types/base_unit.rb +27 -0
- data/test/example/e_business_for_media/iab/types/campaign_reference_info_type.rb +81 -0
- data/test/example/e_business_for_media/iab/types/contact_method_location_pattern_extension_type.rb +22 -0
- data/test/example/e_business_for_media/iab/types/contact_method_location_type.rb +24 -0
- data/test/example/e_business_for_media/iab/types/contact_method_type.rb +81 -0
- data/test/example/e_business_for_media/iab/types/contact_method_use_pattern_extension_type.rb +22 -0
- data/test/example/e_business_for_media/iab/types/contact_method_use_type.rb +23 -0
- data/test/example/e_business_for_media/iab/types/contact_method_when_available_type.rb +20 -0
- data/test/example/e_business_for_media/iab/types/contract_details_type.rb +46 -0
- data/test/example/e_business_for_media/iab/types/cost_method_enumeration.rb +29 -0
- data/test/example/e_business_for_media/iab/types/cost_method_type.rb +28 -0
- data/test/example/e_business_for_media/iab/types/currency_code_type.rb +20 -0
- data/test/example/e_business_for_media/iab/types/discount_type.rb +36 -0
- data/test/example/e_business_for_media/iab/types/entity_id_type.rb +57 -0
- data/test/example/e_business_for_media/iab/types/generic_target_type.rb +31 -0
- data/test/example/e_business_for_media/iab/types/iab_advertiser_info_type.rb +38 -0
- data/test/example/e_business_for_media/iab/types/iab_billing_info_type.rb +54 -0
- data/test/example/e_business_for_media/iab/types/iab_contact_method_type.rb +44 -0
- data/test/example/e_business_for_media/iab/types/iab_date_time_type.rb +28 -0
- data/test/example/e_business_for_media/iab/types/iab_distribution_enumerated_type.rb +22 -0
- data/test/example/e_business_for_media/iab/types/iab_distribution_type.rb +20 -0
- data/test/example/e_business_for_media/iab/types/iab_message_base_type.rb +47 -0
- data/test/example/e_business_for_media/iab/types/iab_message_header_type.rb +34 -0
- data/test/example/e_business_for_media/iab/types/iab_partner_info_type.rb +67 -0
- data/test/example/e_business_for_media/iab/types/iab_payment_terms_enumerated_type.rb +23 -0
- data/test/example/e_business_for_media/iab/types/iab_payment_terms_type.rb +20 -0
- data/test/example/e_business_for_media/iab/types/iab_payment_type_enumerated_type.rb +21 -0
- data/test/example/e_business_for_media/iab/types/iab_publisher_info_type.rb +29 -0
- data/test/example/e_business_for_media/iab/types/iab_type_of_contact_type.rb +30 -0
- data/test/example/e_business_for_media/iab/types/internet_email_address_type.rb +19 -0
- data/test/example/e_business_for_media/iab/types/internet_web_address_type.rb +20 -0
- data/test/example/e_business_for_media/iab/types/mobile_telcom_number_type.rb +33 -0
- data/test/example/e_business_for_media/iab/types/monetary_type.rb +28 -0
- data/test/example/e_business_for_media/iab/types/percentage_type.rb +21 -0
- data/test/example/e_business_for_media/iab/types/person_name_type.rb +282 -0
- data/test/example/e_business_for_media/iab/types/postal_address_type.rb +120 -0
- data/test/example/e_business_for_media/iab/types/request_for_proposal_type.rb +35 -0
- data/test/example/e_business_for_media/iab/types/rfp_details_type.rb +118 -0
- data/test/example/e_business_for_media/iab/types/rfp_response_requirements_type.rb +33 -0
- data/test/example/e_business_for_media/iab/types/telcom_number_type.rb +34 -0
- data/test/example/e_business_for_media/iab/types/unit_type.rb +28 -0
- data/test/example/e_business_for_media/iab/types/unit_type_enumeration.rb +27 -0
- data/test/example/e_business_for_media/iab/types/zero_cost_type.rb +29 -0
- data/test/example/e_business_for_media/iab/types/zero_cost_type_enumeration.rb +21 -0
- data/test/marshalling_test.rb +13 -0
- data/test/mocks.rb +10 -0
- data/test/teststrap.rb +23 -0
- data/test/xsd/AAAA_Common.xsd +76 -0
- data/test/xsd/HRXMLlicense.txt +32 -0
- data/test/xsd/IAB_Acknowledgement.xsd +181 -0
- data/test/xsd/IAB_AdvertiserCommon.xsd +40 -0
- data/test/xsd/IAB_BillingCommon.xsd +75 -0
- data/test/xsd/IAB_CampaignCommon.xsd +80 -0
- data/test/xsd/IAB_Common.xsd +1176 -0
- data/test/xsd/IAB_ContractCommon.xsd +54 -0
- data/test/xsd/IAB_InsertionOrderCommon.xsd +40 -0
- data/test/xsd/IAB_LineItemCommon.xsd +328 -0
- data/test/xsd/IAB_MessageCommon.xsd +66 -0
- data/test/xsd/IAB_OrderCommon.xsd +98 -0
- data/test/xsd/IAB_ProposalCommon.xsd +30 -0
- data/test/xsd/IAB_PublisherCommon.xsd +26 -0
- data/test/xsd/IAB_RFPCommon.xsd +126 -0
- metadata +626 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
require "e_business_for_media/iab/elements/rfp_details"
|
2
|
+
require "e_business_for_media/iab/elements/rfp_response_requirements"
|
3
|
+
require "e_business_for_media/iab/types/iab_message_base_type"
|
4
|
+
require "enterprisifier/marshalling/xsd/schema/complex_content"
|
5
|
+
require "enterprisifier/marshalling/xsd/schema/complex_type"
|
6
|
+
require "enterprisifier/marshalling/xsd/schema/element"
|
7
|
+
require "enterprisifier/marshalling/xsd/schema/extension"
|
8
|
+
require "enterprisifier/marshalling/xsd/schema/sequence"
|
9
|
+
|
10
|
+
|
11
|
+
module EBusinessForMedia
|
12
|
+
module IAB
|
13
|
+
module Types
|
14
|
+
class RequestForProposalType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
|
15
|
+
namespace "iab" => "http://ns.iab.net"
|
16
|
+
complex_type "RequestForProposalType" do
|
17
|
+
mixed "false"
|
18
|
+
end
|
19
|
+
complex_content do
|
20
|
+
mixed "false"
|
21
|
+
extension EBusinessForMedia::IAB::Types::IABMessageBaseType do
|
22
|
+
sequence do
|
23
|
+
# Details of the requested media campaign
|
24
|
+
element EBusinessForMedia::IAB::Elements::RFPDetails
|
25
|
+
|
26
|
+
# Instructions for replying to the RFP
|
27
|
+
element EBusinessForMedia::IAB::Elements::RFPResponseRequirements
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
require "e_business_for_media/iab/elements/terms_and_conditions"
|
2
|
+
require "e_business_for_media/iab/types/attachment_type"
|
3
|
+
require "e_business_for_media/iab/types/base_target_type"
|
4
|
+
require "e_business_for_media/iab/types/generic_target_type"
|
5
|
+
require "e_business_for_media/iab/types/iab_payment_terms_type"
|
6
|
+
require "e_business_for_media/iab/types/monetary_type"
|
7
|
+
require "enterprisifier/marshalling/xsd/schema/complex_type"
|
8
|
+
require "enterprisifier/marshalling/xsd/schema/element"
|
9
|
+
require "enterprisifier/marshalling/xsd/schema/sequence"
|
10
|
+
require "enterprisifier/marshalling/xsd/types/date"
|
11
|
+
require "enterprisifier/marshalling/xsd/types/string"
|
12
|
+
|
13
|
+
|
14
|
+
module EBusinessForMedia
|
15
|
+
module IAB
|
16
|
+
module Types
|
17
|
+
class RFPDetailsType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
|
18
|
+
namespace "iab" => "http://ns.iab.net"
|
19
|
+
complex_type "RFPDetailsType"
|
20
|
+
|
21
|
+
sequence do
|
22
|
+
# Budget that the publisher should build towards
|
23
|
+
element "Budget" => EBusinessForMedia::IAB::Types::MonetaryType
|
24
|
+
|
25
|
+
# Anticipated start date of campaign
|
26
|
+
element "StartDate" => Enterprisifier::Marshalling::XSD::Types::Date
|
27
|
+
|
28
|
+
# Anticipated end date of campaign
|
29
|
+
element "EndDate" => Enterprisifier::Marshalling::XSD::Types::Date
|
30
|
+
|
31
|
+
element "CampaignBrief" do
|
32
|
+
complex_type do
|
33
|
+
sequence do
|
34
|
+
element "Background" => Enterprisifier::Marshalling::XSD::Types::String
|
35
|
+
|
36
|
+
# Can be used for a full description of the campign goals and publisher requests.
|
37
|
+
element "Description" => Enterprisifier::Marshalling::XSD::Types::String
|
38
|
+
|
39
|
+
element "GeographicConsiderations" => Enterprisifier::Marshalling::XSD::Types::String
|
40
|
+
|
41
|
+
element "TargetAudience" => Enterprisifier::Marshalling::XSD::Types::String
|
42
|
+
|
43
|
+
element "PrimarySuccessMetric" => Enterprisifier::Marshalling::XSD::Types::String
|
44
|
+
|
45
|
+
element "AdditionalMetrics" => Enterprisifier::Marshalling::XSD::Types::String do
|
46
|
+
min_occurs "0"
|
47
|
+
end
|
48
|
+
element "DesiredPositioningNotes" => Enterprisifier::Marshalling::XSD::Types::String do
|
49
|
+
min_occurs "0"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
# The RFP can be submitted as an attachment as well or instead.
|
55
|
+
element "Attachments" => EBusinessForMedia::IAB::Types::AttachmentType do
|
56
|
+
min_occurs "0"
|
57
|
+
max_occurs "unbounded"
|
58
|
+
end
|
59
|
+
# A generic object that can be used in repetition to state specific campaign goals
|
60
|
+
# and the measurement of that goal.
|
61
|
+
element "Goal" do
|
62
|
+
min_occurs "0"
|
63
|
+
max_occurs "unbounded"
|
64
|
+
complex_type do
|
65
|
+
sequence do
|
66
|
+
element "Value" => Enterprisifier::Marshalling::XSD::Types::String
|
67
|
+
|
68
|
+
element "Type" => Enterprisifier::Marshalling::XSD::Types::String
|
69
|
+
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
# Similar to Proposal Line Item Targeting - no industry standards exist for
|
74
|
+
# communicating targeting so this flexible framework can be used for providing
|
75
|
+
# text representations of the targeting being requested.
|
76
|
+
element "Targeting" do
|
77
|
+
min_occurs "0"
|
78
|
+
complex_type do
|
79
|
+
sequence do
|
80
|
+
element "Audience" => EBusinessForMedia::IAB::Types::BaseTargetType do
|
81
|
+
min_occurs "0"
|
82
|
+
max_occurs "unbounded"
|
83
|
+
end
|
84
|
+
element "Context" => EBusinessForMedia::IAB::Types::BaseTargetType do
|
85
|
+
min_occurs "0"
|
86
|
+
max_occurs "unbounded"
|
87
|
+
end
|
88
|
+
element "Delivery" => EBusinessForMedia::IAB::Types::BaseTargetType do
|
89
|
+
min_occurs "0"
|
90
|
+
max_occurs "unbounded"
|
91
|
+
end
|
92
|
+
element "OtherTarget" => EBusinessForMedia::IAB::Types::GenericTargetType do
|
93
|
+
min_occurs "0"
|
94
|
+
max_occurs "unbounded"
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
element "Notes" => Enterprisifier::Marshalling::XSD::Types::String do
|
100
|
+
min_occurs "0"
|
101
|
+
end
|
102
|
+
element "FlightExclusivityGuidelines" => Enterprisifier::Marshalling::XSD::Types::String do
|
103
|
+
min_occurs "0"
|
104
|
+
end
|
105
|
+
element "PaymentTerms" => EBusinessForMedia::IAB::Types::IABPaymentTermsType do
|
106
|
+
min_occurs "0"
|
107
|
+
end
|
108
|
+
element "BillingNotes" => Enterprisifier::Marshalling::XSD::Types::String do
|
109
|
+
min_occurs "0"
|
110
|
+
end
|
111
|
+
element EBusinessForMedia::IAB::Elements::TermsAndConditions do
|
112
|
+
min_occurs "0"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "e_business_for_media/iab/types/iab_date_time_type"
|
2
|
+
require "enterprisifier/marshalling/xsd/schema/complex_type"
|
3
|
+
require "enterprisifier/marshalling/xsd/schema/element"
|
4
|
+
require "enterprisifier/marshalling/xsd/schema/sequence"
|
5
|
+
require "enterprisifier/marshalling/xsd/types/string"
|
6
|
+
|
7
|
+
|
8
|
+
module EBusinessForMedia
|
9
|
+
module IAB
|
10
|
+
module Types
|
11
|
+
class RFPResponseRequirementsType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
|
12
|
+
namespace "iab" => "http://ns.iab.net"
|
13
|
+
complex_type "RFPResponseRequirementsType"
|
14
|
+
|
15
|
+
sequence do
|
16
|
+
element "DueDate" => EBusinessForMedia::IAB::Types::IABDateTimeType
|
17
|
+
|
18
|
+
# Excel spreadsheet, presentation, any notes on format of response.
|
19
|
+
element "Format" => Enterprisifier::Marshalling::XSD::Types::String
|
20
|
+
|
21
|
+
element "Instructions" => Enterprisifier::Marshalling::XSD::Types::String
|
22
|
+
|
23
|
+
element "DestinationSystem" => Enterprisifier::Marshalling::XSD::Types::String do
|
24
|
+
min_occurs "0"
|
25
|
+
end
|
26
|
+
element "SelectionCriteria" => Enterprisifier::Marshalling::XSD::Types::String do
|
27
|
+
min_occurs "0"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "e_business_for_media/iab/elements/formatted_number"
|
2
|
+
require "e_business_for_media/iab/groups/telcom_number_group"
|
3
|
+
require "enterprisifier/marshalling/xsd/schema/choice"
|
4
|
+
require "enterprisifier/marshalling/xsd/schema/complex_type"
|
5
|
+
require "enterprisifier/marshalling/xsd/schema/element"
|
6
|
+
require "enterprisifier/marshalling/xsd/schema/group"
|
7
|
+
|
8
|
+
|
9
|
+
module EBusinessForMedia
|
10
|
+
module IAB
|
11
|
+
module Types
|
12
|
+
# The TelcomNumberType is used to store a telephone number. Telephone numbers can
|
13
|
+
# be used to address any device on the Public Switched Telephone Network. Such
|
14
|
+
# devices include voice telephones, facsimile machines, and pagers. The number may
|
15
|
+
# be either a formatted string or a -set of structured elements. Telephone, Fax,
|
16
|
+
# Pager, and TTYTDD elements in this standard are all of type TelcomNumberType.
|
17
|
+
class TelcomNumberType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
|
18
|
+
namespace "iab" => "http://ns.iab.net"
|
19
|
+
complex_type "TelcomNumberType"
|
20
|
+
|
21
|
+
choice do
|
22
|
+
# Formatted string. Contains a telecommunication number string representation.
|
23
|
+
# This de-normalized form cannot easily be parsed. When formatted number is
|
24
|
+
# present, the non-formatted number MUST not be present.
|
25
|
+
element EBusinessForMedia::IAB::Elements::FormattedNumber
|
26
|
+
|
27
|
+
group do
|
28
|
+
ref EBusinessForMedia::IAB::Groups::TelcomNumberGroup
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "e_business_for_media/iab/types/unit_type_enumeration"
|
2
|
+
require "enterprisifier/marshalling/xsd/schema/choice"
|
3
|
+
require "enterprisifier/marshalling/xsd/schema/complex_type"
|
4
|
+
require "enterprisifier/marshalling/xsd/schema/element"
|
5
|
+
require "enterprisifier/marshalling/xsd/types/string"
|
6
|
+
|
7
|
+
|
8
|
+
module EBusinessForMedia
|
9
|
+
module IAB
|
10
|
+
module Types
|
11
|
+
# Provides a metric for units wherever used in the standards. Can be either one of
|
12
|
+
# the enumerated values or a non-standard value (string).
|
13
|
+
class UnitType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
|
14
|
+
namespace "iab" => "http://ns.iab.net"
|
15
|
+
complex_type "UnitType"
|
16
|
+
|
17
|
+
choice do
|
18
|
+
# One of the standard enumerated values for Unit Type.
|
19
|
+
element "StandardValue" => EBusinessForMedia::IAB::Types::UnitTypeEnumeration
|
20
|
+
|
21
|
+
# A non-standard value for Unit Type.
|
22
|
+
element "NonStandardValue" => Enterprisifier::Marshalling::XSD::Types::String
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "enterprisifier/marshalling/xsd/schema/restriction"
|
2
|
+
require "enterprisifier/marshalling/xsd/schema/simple_type"
|
3
|
+
require "enterprisifier/marshalling/xsd/types/string"
|
4
|
+
|
5
|
+
|
6
|
+
module EBusinessForMedia
|
7
|
+
module IAB
|
8
|
+
module Types
|
9
|
+
# Enumeration of standard unit types used in the industry.
|
10
|
+
class UnitTypeEnumeration < Enterprisifier::Marshalling::XSD::Schema::SimpleType
|
11
|
+
namespace "iab" => "http://ns.iab.net"
|
12
|
+
simple_type "UnitTypeEnumeration"
|
13
|
+
|
14
|
+
restriction Enterprisifier::Marshalling::XSD::Types::String do
|
15
|
+
enumeration "Impressions"
|
16
|
+
enumeration "Clicks"
|
17
|
+
enumeration "Actions"
|
18
|
+
enumeration "Uniques"
|
19
|
+
enumeration "ShareOfVoice"
|
20
|
+
enumeration "Downloads"
|
21
|
+
enumeration "Emails"
|
22
|
+
enumeration "Leads"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "e_business_for_media/iab/types/zero_cost_type_enumeration"
|
2
|
+
require "enterprisifier/marshalling/xsd/schema/choice"
|
3
|
+
require "enterprisifier/marshalling/xsd/schema/complex_type"
|
4
|
+
require "enterprisifier/marshalling/xsd/schema/element"
|
5
|
+
require "enterprisifier/marshalling/xsd/types/string"
|
6
|
+
|
7
|
+
|
8
|
+
module EBusinessForMedia
|
9
|
+
module IAB
|
10
|
+
module Types
|
11
|
+
# Provides a set of values to use to indicate zero cost types for items wherever
|
12
|
+
# used in the standards. Can be either one of the enumerated values or a
|
13
|
+
# non-standard value (string).
|
14
|
+
class ZeroCostType < Enterprisifier::Marshalling::XSD::Schema::ComplexType
|
15
|
+
namespace "iab" => "http://ns.iab.net"
|
16
|
+
complex_type "ZeroCostType"
|
17
|
+
|
18
|
+
choice do
|
19
|
+
# One of the standard enumerated values for zero cost.
|
20
|
+
element "StandardValue" => EBusinessForMedia::IAB::Types::ZeroCostTypeEnumeration
|
21
|
+
|
22
|
+
# A non-standard value for zero cost.
|
23
|
+
element "NonStandardValue" => Enterprisifier::Marshalling::XSD::Types::String
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "enterprisifier/marshalling/xsd/schema/restriction"
|
2
|
+
require "enterprisifier/marshalling/xsd/schema/simple_type"
|
3
|
+
require "enterprisifier/marshalling/xsd/types/string"
|
4
|
+
|
5
|
+
|
6
|
+
module EBusinessForMedia
|
7
|
+
module IAB
|
8
|
+
module Types
|
9
|
+
# Enumeration of standard zero cost item types used in the industry.
|
10
|
+
class ZeroCostTypeEnumeration < Enterprisifier::Marshalling::XSD::Schema::SimpleType
|
11
|
+
namespace "iab" => "http://ns.iab.net"
|
12
|
+
simple_type "ZeroCostTypeEnumeration"
|
13
|
+
|
14
|
+
restriction Enterprisifier::Marshalling::XSD::Types::String do
|
15
|
+
enumeration "MakeGood"
|
16
|
+
enumeration "AddedValue"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'teststrap'
|
2
|
+
require 'e_business_for_media/iab/elements/request_for_proposal'
|
3
|
+
|
4
|
+
context "enterprisifier marshalling of an rfp" do
|
5
|
+
setup do
|
6
|
+
root = Mocks.new_rfp
|
7
|
+
root.to_xml
|
8
|
+
end
|
9
|
+
|
10
|
+
should "validate against the appropriate xsd" do
|
11
|
+
XSDValidator.validate(topic, "IAB_RFPCommon")
|
12
|
+
end
|
13
|
+
end # enterprisifier marshalling
|
data/test/mocks.rb
ADDED
data/test/teststrap.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
$: << (Pathname(__FILE__).parent + "example").to_s
|
3
|
+
require 'rubygems'
|
4
|
+
require 'riot'
|
5
|
+
require 'enterprisifier'
|
6
|
+
require 'ruby-debug'
|
7
|
+
require 'mocks'
|
8
|
+
require 'nokogiri'
|
9
|
+
|
10
|
+
module XSDValidator
|
11
|
+
XSDPath = Pathname(__FILE__).parent + "xsd"
|
12
|
+
|
13
|
+
def self.validate(xml, xsd_name)
|
14
|
+
schema = Nokogiri::XML::Schema((XSDPath + "#{xsd_name}.xsd").open('r'))
|
15
|
+
doc = Nokogiri::XML(xml)
|
16
|
+
validates = true
|
17
|
+
schema.validate(doc).each do |error|
|
18
|
+
validates = false
|
19
|
+
puts error.message
|
20
|
+
end
|
21
|
+
return validates
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
|
3
|
+
<xs:schema xmlns="http://ns.ebizformedia.com" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ns.ebizformedia.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
4
|
+
<xs:element name="AaaaMessageHeader" type="aaaaMessageType" />
|
5
|
+
<xs:simpleType name="schemaNameString">
|
6
|
+
<xs:restriction base="xs:string" />
|
7
|
+
</xs:simpleType>
|
8
|
+
<xs:simpleType name="schemaVersionString">
|
9
|
+
<xs:restriction base="xs:string" />
|
10
|
+
</xs:simpleType>
|
11
|
+
<xs:simpleType name="mediaString">
|
12
|
+
<xs:restriction base="xs:string">
|
13
|
+
<xs:enumeration value="Interactive" />
|
14
|
+
</xs:restriction>
|
15
|
+
</xs:simpleType>
|
16
|
+
<xs:simpleType name="businessObjectString">
|
17
|
+
<xs:restriction base="xs:string" />
|
18
|
+
</xs:simpleType>
|
19
|
+
<xs:simpleType name="actionString">
|
20
|
+
<xs:restriction base="xs:string" />
|
21
|
+
</xs:simpleType>
|
22
|
+
<xs:simpleType name="guid">
|
23
|
+
<xs:annotation>
|
24
|
+
<xs:documentation xml:lang="en">The representation of a GUID, generally the id of an element.</xs:documentation>
|
25
|
+
</xs:annotation>
|
26
|
+
<xs:restriction base="xs:string">
|
27
|
+
<xs:pattern value="[a-fA-F\d]{8}-[a-fA-F\d]{4}-[a-fA-F\d]{4}-[a-fA-F\d]{4}-[a-fA-F\d]{12}" />
|
28
|
+
</xs:restriction>
|
29
|
+
</xs:simpleType>
|
30
|
+
<xs:simpleType name="uniqueMessageId">
|
31
|
+
<xs:restriction base="guid" />
|
32
|
+
</xs:simpleType>
|
33
|
+
<xs:complexType name="aaaaMessageType">
|
34
|
+
<xs:annotation>
|
35
|
+
<xs:documentation>The root of all media documents, this element will be extended to include the media content - THIS IS THE STANDARD HEADER FROM THE AAAA</xs:documentation>
|
36
|
+
</xs:annotation>
|
37
|
+
<xs:sequence>
|
38
|
+
<xs:element name="AAAA-Values">
|
39
|
+
<xs:complexType>
|
40
|
+
<xs:sequence>
|
41
|
+
<xs:element name="SchemaName" type="schemaNameString">
|
42
|
+
<xs:annotation>
|
43
|
+
<xs:documentation>Name of the Schema (XSD) file used for validation of the data. This value will be restricted in the media document. For example: spotRadioOrder</xs:documentation>
|
44
|
+
</xs:annotation>
|
45
|
+
</xs:element>
|
46
|
+
<xs:element name="SchemaVersion" type="schemaVersionString">
|
47
|
+
<xs:annotation>
|
48
|
+
<xs:documentation>Version number of the Schema (XSD) file used for validation of the data. This value will be restricted in the media document. For example: 0.2e.2</xs:documentation>
|
49
|
+
</xs:annotation>
|
50
|
+
</xs:element>
|
51
|
+
<xs:element name="Media" type="mediaString">
|
52
|
+
<xs:annotation>
|
53
|
+
<xs:documentation>Identifies the media for this transmission. This value will be restricted in the media document. For example: SpotRadio</xs:documentation>
|
54
|
+
</xs:annotation>
|
55
|
+
</xs:element>
|
56
|
+
<xs:element name="BusinessObject" type="businessObjectString">
|
57
|
+
<xs:annotation>
|
58
|
+
<xs:documentation>Identifies the object for this message. This value will be restricted in the media document. For example: Order, Invoice.</xs:documentation>
|
59
|
+
</xs:annotation>
|
60
|
+
</xs:element>
|
61
|
+
<xs:element name="Action" type="actionString">
|
62
|
+
<xs:annotation>
|
63
|
+
<xs:documentation>The action to apply to the business object e.g. Create, Revise, Delete, etc. This value will be restricted in the media document.</xs:documentation>
|
64
|
+
</xs:annotation>
|
65
|
+
</xs:element>
|
66
|
+
<xs:element name="UniqueMessageID" type="uniqueMessageId">
|
67
|
+
<xs:annotation>
|
68
|
+
<xs:documentation>Unique message id. Created by message originator and used throughout message lifetime. Message acknowledgement from receiver must include it. Intermediaries (hub, gateway, etc.) use and reference for troubleshooting purposes in the routing and delivery of the message.</xs:documentation>
|
69
|
+
</xs:annotation>
|
70
|
+
</xs:element>
|
71
|
+
</xs:sequence>
|
72
|
+
</xs:complexType>
|
73
|
+
</xs:element>
|
74
|
+
</xs:sequence>
|
75
|
+
</xs:complexType>
|
76
|
+
</xs:schema>
|