#!/usr/bin/env python # # Generated Mon Oct 25 16:19:28 2010 by parse_xsd.py version 0.4. # import saml2 from saml2 import SamlBase from saml2 import md NAMESPACE = 'urn:oasis:names:tc:SAML:2.0:metadata:dri' class CreationInstant(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:CreationInstant element """ c_tag = 'CreationInstant' c_namespace = NAMESPACE c_value_type = {'base': 'datetime'} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def creation_instant_from_string(xml_string): return saml2.create_class_from_xml_string(CreationInstant, xml_string) class SerialNumber(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:SerialNumber element """ c_tag = 'SerialNumber' c_namespace = NAMESPACE c_value_type = {'base': 'string'} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def serial_number_from_string(xml_string): return saml2.create_class_from_xml_string(SerialNumber, xml_string) class UsagePolicy(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:UsagePolicy element """ c_tag = 'UsagePolicy' c_namespace = NAMESPACE c_value_type = {'base': 'anyURI'} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def usage_policy_from_string(xml_string): return saml2.create_class_from_xml_string(UsagePolicy, xml_string) class PublisherType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:PublisherType element """ c_tag = 'PublisherType' c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_attributes['PublisherID'] = ('publisher_id', 'md:entityIDType', True) c_attributes['CreationInstant'] = ('creation_instant', 'datetime', False) c_attributes['SerialNumber'] = ('serial_number', 'string', False) def __init__(self, publisher_id=None, creation_instant=None, serial_number=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__(self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.publisher_id = publisher_id self.creation_instant = creation_instant self.serial_number = serial_number def publisher_type__from_string(xml_string): return saml2.create_class_from_xml_string(PublisherType_, xml_string) class RegistrationAuthority(md.EntityIDType_): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:RegistrationAuthority element """ c_tag = 'RegistrationAuthority' c_namespace = NAMESPACE c_children = md.EntityIDType_.c_children.copy() c_attributes = md.EntityIDType_.c_attributes.copy() c_child_order = md.EntityIDType_.c_child_order[:] c_cardinality = md.EntityIDType_.c_cardinality.copy() def registration_authority_from_string(xml_string): return saml2.create_class_from_xml_string(RegistrationAuthority, xml_string) class RegistrationInstant(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:RegistrationInstant element """ c_tag = 'RegistrationInstant' c_namespace = NAMESPACE c_value_type = {'base': 'datetime'} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def registration_instant_from_string(xml_string): return saml2.create_class_from_xml_string(RegistrationInstant, xml_string) class RegistrationPolicy(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:RegistrationPolicy element """ c_tag = 'RegistrationPolicy' c_namespace = NAMESPACE c_value_type = {'base': 'anyURI'} c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() def registration_policy_from_string(xml_string): return saml2.create_class_from_xml_string(RegistrationPolicy, xml_string) class Publisher(PublisherType_): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:Publisher element """ c_tag = 'Publisher' c_namespace = NAMESPACE c_children = PublisherType_.c_children.copy() c_attributes = PublisherType_.c_attributes.copy() c_child_order = PublisherType_.c_child_order[:] c_cardinality = PublisherType_.c_cardinality.copy() def publisher_from_string(xml_string): return saml2.create_class_from_xml_string(Publisher, xml_string) class RegistrationInfoType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:RegistrationInfoType element """ c_tag = 'RegistrationInfoType' c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children[ '{urn:oasis:names:tc:SAML:2.0:metadata:dri}RegistrationAuthority'] = ( 'registration_authority', RegistrationAuthority) c_children[ '{urn:oasis:names:tc:SAML:2.0:metadata:dri}RegistrationInstant'] = ( 'registration_instant', RegistrationInstant) c_children[ '{urn:oasis:names:tc:SAML:2.0:metadata:dri}RegistrationPolicy'] = ( 'registration_policy', RegistrationPolicy) c_cardinality['registration_policy'] = {"min": 0, "max": 1} c_child_order.extend(['registration_authority', 'registration_instant', 'registration_policy']) def __init__(self, registration_authority=None, registration_instant=None, registration_policy=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__(self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.registration_authority = registration_authority self.registration_instant = registration_instant self.registration_policy = registration_policy def registration_info_type__from_string(xml_string): return saml2.create_class_from_xml_string(RegistrationInfoType_, xml_string) class PublishersType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:PublishersType element """ c_tag = 'PublishersType' c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children['{urn:oasis:names:tc:SAML:2.0:metadata:dri}Publisher'] = ( 'publisher', [Publisher]) c_cardinality['publisher'] = {"min": 0} c_child_order.extend(['publisher']) def __init__(self, publisher=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__(self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.publisher = publisher or [] def publishers_type__from_string(xml_string): return saml2.create_class_from_xml_string(PublishersType_, xml_string) class RegistrationInfo(RegistrationInfoType_): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:RegistrationInfo element """ c_tag = 'RegistrationInfo' c_namespace = NAMESPACE c_children = RegistrationInfoType_.c_children.copy() c_attributes = RegistrationInfoType_.c_attributes.copy() c_child_order = RegistrationInfoType_.c_child_order[:] c_cardinality = RegistrationInfoType_.c_cardinality.copy() def registration_info_from_string(xml_string): return saml2.create_class_from_xml_string(RegistrationInfo, xml_string) class Publishers(PublishersType_): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:Publishers element """ c_tag = 'Publishers' c_namespace = NAMESPACE c_children = PublishersType_.c_children.copy() c_attributes = PublishersType_.c_attributes.copy() c_child_order = PublishersType_.c_child_order[:] c_cardinality = PublishersType_.c_cardinality.copy() def publishers_from_string(xml_string): return saml2.create_class_from_xml_string(Publishers, xml_string) class DocumentInfoType_(SamlBase): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:DocumentInfoType element """ c_tag = 'DocumentInfoType' c_namespace = NAMESPACE c_children = SamlBase.c_children.copy() c_attributes = SamlBase.c_attributes.copy() c_child_order = SamlBase.c_child_order[:] c_cardinality = SamlBase.c_cardinality.copy() c_children['{urn:oasis:names:tc:SAML:2.0:metadata:dri}CreationInstant'] = ( 'creation_instant', CreationInstant) c_cardinality['creation_instant'] = {"min": 0, "max": 1} c_children['{urn:oasis:names:tc:SAML:2.0:metadata:dri}SerialNumber'] = ( 'serial_number', SerialNumber) c_cardinality['serial_number'] = {"min": 0, "max": 1} c_children['{urn:oasis:names:tc:SAML:2.0:metadata:dri}UsagePolicy'] = ( 'usage_policy', UsagePolicy) c_cardinality['usage_policy'] = {"min": 0, "max": 1} c_children['{urn:oasis:names:tc:SAML:2.0:metadata:dri}Publishers'] = ( 'publishers', Publishers) c_cardinality['publishers'] = {"min": 0, "max": 1} c_child_order.extend( ['creation_instant', 'serial_number', 'usage_policy', 'publishers']) def __init__(self, creation_instant=None, serial_number=None, usage_policy=None, publishers=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__(self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.creation_instant = creation_instant self.serial_number = serial_number self.usage_policy = usage_policy self.publishers = publishers def document_info_type__from_string(xml_string): return saml2.create_class_from_xml_string(DocumentInfoType_, xml_string) class DocumentInfo(DocumentInfoType_): """The urn:oasis:names:tc:SAML:2.0:metadata:dri:DocumentInfo element """ c_tag = 'DocumentInfo' c_namespace = NAMESPACE c_children = DocumentInfoType_.c_children.copy() c_attributes = DocumentInfoType_.c_attributes.copy() c_child_order = DocumentInfoType_.c_child_order[:] c_cardinality = DocumentInfoType_.c_cardinality.copy() def document_info_from_string(xml_string): return saml2.create_class_from_xml_string(DocumentInfo, xml_string) ELEMENT_FROM_STRING = { DocumentInfo.c_tag: document_info_from_string, DocumentInfoType_.c_tag: document_info_type__from_string, CreationInstant.c_tag: creation_instant_from_string, SerialNumber.c_tag: serial_number_from_string, UsagePolicy.c_tag: usage_policy_from_string, Publishers.c_tag: publishers_from_string, PublishersType_.c_tag: publishers_type__from_string, Publisher.c_tag: publisher_from_string, PublisherType_.c_tag: publisher_type__from_string, RegistrationInfo.c_tag: registration_info_from_string, RegistrationInfoType_.c_tag: registration_info_type__from_string, RegistrationAuthority.c_tag: registration_authority_from_string, RegistrationInstant.c_tag: registration_instant_from_string, RegistrationPolicy.c_tag: registration_policy_from_string, } ELEMENT_BY_TAG = { 'DocumentInfo': DocumentInfo, 'DocumentInfoType': DocumentInfoType_, 'CreationInstant': CreationInstant, 'SerialNumber': SerialNumber, 'UsagePolicy': UsagePolicy, 'Publishers': Publishers, 'PublishersType': PublishersType_, 'Publisher': Publisher, 'PublisherType': PublisherType_, 'RegistrationInfo': RegistrationInfo, 'RegistrationInfoType': RegistrationInfoType_, 'RegistrationAuthority': RegistrationAuthority, 'RegistrationInstant': RegistrationInstant, 'RegistrationPolicy': RegistrationPolicy, } def factory(tag, **kwargs): return ELEMENT_BY_TAG[tag](**kwargs)