#!/usr/bin/env python # # Generated Mon May 2 14:23:33 2011 by parse_xsd.py version 0.4. # import saml2 from saml2 import SamlBase from saml2 import xmldsig as ds NAMESPACE = "http://www.w3.org/2001/04/xmlenc#" class KeySizeType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:KeySizeType element""" c_tag = "KeySizeType" c_namespace = NAMESPACE c_value_type = {"base": "integer"} 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 key_size_type__from_string(xml_string): return saml2.create_class_from_xml_string(KeySizeType_, xml_string) class CipherValue(SamlBase): c_tag = "CipherValue" c_namespace = NAMESPACE c_value_type = {"base": "base64Binary"} 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 cipher_value_from_string(xml_string): return saml2.create_class_from_xml_string(CipherValue, xml_string) class TransformsType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:TransformsType element""" c_tag = "TransformsType" 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["{http://www.w3.org/2000/09/xmldsig#}Transform"] = ("transform", [ds.Transform]) c_cardinality["transform"] = {"min": 1} c_child_order.extend(["transform"]) def __init__( self, transform=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.transform = transform or [] def transforms_type__from_string(xml_string): return saml2.create_class_from_xml_string(TransformsType_, xml_string) class KA_Nonce(SamlBase): c_tag = "KA_Nonce" c_namespace = NAMESPACE c_value_type = {"base": "base64Binary"} 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 k_a__nonce_from_string(xml_string): return saml2.create_class_from_xml_string(KA_Nonce, xml_string) class OriginatorKeyInfo(ds.KeyInfo): c_tag = "OriginatorKeyInfo" c_namespace = NAMESPACE c_children = ds.KeyInfo.c_children.copy() c_attributes = ds.KeyInfo.c_attributes.copy() c_child_order = ds.KeyInfo.c_child_order[:] c_cardinality = ds.KeyInfo.c_cardinality.copy() def originator_key_info_from_string(xml_string): return saml2.create_class_from_xml_string(OriginatorKeyInfo, xml_string) class RecipientKeyInfo(ds.KeyInfo): c_tag = "RecipientKeyInfo" c_namespace = NAMESPACE c_children = ds.KeyInfo.c_children.copy() c_attributes = ds.KeyInfo.c_attributes.copy() c_child_order = ds.KeyInfo.c_child_order[:] c_cardinality = ds.KeyInfo.c_cardinality.copy() def recipient_key_info_from_string(xml_string): return saml2.create_class_from_xml_string(RecipientKeyInfo, xml_string) class AgreementMethodType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:AgreementMethodType element""" c_tag = "AgreementMethodType" 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["{http://www.w3.org/2001/04/xmlenc#}KA_Nonce"] = ("k_a__nonce", KA_Nonce) c_cardinality["k_a__nonce"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2001/04/xmlenc#}OriginatorKeyInfo"] = ("originator_key_info", OriginatorKeyInfo) c_cardinality["originator_key_info"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2001/04/xmlenc#}RecipientKeyInfo"] = ("recipient_key_info", RecipientKeyInfo) c_cardinality["recipient_key_info"] = {"min": 0, "max": 1} c_attributes["Algorithm"] = ("algorithm", "anyURI", True) c_child_order.extend(["k_a__nonce", "originator_key_info", "recipient_key_info"]) def __init__( self, k_a__nonce=None, originator_key_info=None, recipient_key_info=None, algorithm=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.k_a__nonce = k_a__nonce self.originator_key_info = originator_key_info self.recipient_key_info = recipient_key_info self.algorithm = algorithm def agreement_method_type__from_string(xml_string): return saml2.create_class_from_xml_string(AgreementMethodType_, xml_string) class ReferenceType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:ReferenceType element""" c_tag = "ReferenceType" 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["URI"] = ("uri", "anyURI", True) def __init__( self, uri=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.uri = uri def reference_type__from_string(xml_string): return saml2.create_class_from_xml_string(ReferenceType_, xml_string) class EncryptionPropertyType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:EncryptionPropertyType element""" c_tag = "EncryptionPropertyType" 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["Target"] = ("target", "anyURI", False) c_attributes["Id"] = ("id", "ID", False) def __init__( self, target=None, id=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.target = target self.id = id def encryption_property_type__from_string(xml_string): return saml2.create_class_from_xml_string(EncryptionPropertyType_, xml_string) class KeySize(KeySizeType_): c_tag = "KeySize" c_namespace = NAMESPACE c_children = KeySizeType_.c_children.copy() c_attributes = KeySizeType_.c_attributes.copy() c_child_order = KeySizeType_.c_child_order[:] c_cardinality = KeySizeType_.c_cardinality.copy() def key_size_from_string(xml_string): return saml2.create_class_from_xml_string(KeySize, xml_string) class OAEPparams(SamlBase): c_tag = "OAEPparams" c_namespace = NAMESPACE c_value_type = {"base": "base64Binary"} 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 oae_pparams_from_string(xml_string): return saml2.create_class_from_xml_string(OAEPparams, xml_string) class EncryptionMethodType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:EncryptionMethodType element""" c_tag = "EncryptionMethodType" 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["{http://www.w3.org/2001/04/xmlenc#}KeySize"] = ("key_size", KeySize) c_cardinality["key_size"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2001/04/xmlenc#}OAEPparams"] = ("oae_pparams", OAEPparams) c_cardinality["oae_pparams"] = {"min": 0, "max": 1} c_attributes["Algorithm"] = ("algorithm", "anyURI", True) c_child_order.extend(["key_size", "oae_pparams"]) def __init__( self, key_size=None, oae_pparams=None, algorithm=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.key_size = key_size self.oae_pparams = oae_pparams self.algorithm = algorithm def encryption_method_type__from_string(xml_string): return saml2.create_class_from_xml_string(EncryptionMethodType_, xml_string) class Transforms(TransformsType_): c_tag = "Transforms" c_namespace = NAMESPACE c_children = TransformsType_.c_children.copy() c_attributes = TransformsType_.c_attributes.copy() c_child_order = TransformsType_.c_child_order[:] c_cardinality = TransformsType_.c_cardinality.copy() def transforms_from_string(xml_string): return saml2.create_class_from_xml_string(Transforms, xml_string) class CipherReferenceType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:CipherReferenceType element""" c_tag = "CipherReferenceType" 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["{http://www.w3.org/2001/04/xmlenc#}Transforms"] = ("transforms", Transforms) c_cardinality["transforms"] = {"min": 0, "max": 1} c_attributes["URI"] = ("uri", "anyURI", True) c_child_order.extend(["transforms"]) def __init__( self, transforms=None, uri=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.transforms = transforms self.uri = uri def cipher_reference_type__from_string(xml_string): return saml2.create_class_from_xml_string(CipherReferenceType_, xml_string) class EncryptionMethod(EncryptionMethodType_): c_tag = "EncryptionMethod" c_namespace = NAMESPACE c_children = EncryptionMethodType_.c_children.copy() c_attributes = EncryptionMethodType_.c_attributes.copy() c_child_order = EncryptionMethodType_.c_child_order[:] c_cardinality = EncryptionMethodType_.c_cardinality.copy() def encryption_method_from_string(xml_string): return saml2.create_class_from_xml_string(EncryptionMethod, xml_string) class AgreementMethod(AgreementMethodType_): """The http://www.w3.org/2001/04/xmlenc#:AgreementMethod element""" c_tag = "AgreementMethod" c_namespace = NAMESPACE c_children = AgreementMethodType_.c_children.copy() c_attributes = AgreementMethodType_.c_attributes.copy() c_child_order = AgreementMethodType_.c_child_order[:] c_cardinality = AgreementMethodType_.c_cardinality.copy() def agreement_method_from_string(xml_string): return saml2.create_class_from_xml_string(AgreementMethod, xml_string) class DataReference(ReferenceType_): c_tag = "DataReference" c_namespace = NAMESPACE c_children = ReferenceType_.c_children.copy() c_attributes = ReferenceType_.c_attributes.copy() c_child_order = ReferenceType_.c_child_order[:] c_cardinality = ReferenceType_.c_cardinality.copy() def data_reference_from_string(xml_string): return saml2.create_class_from_xml_string(DataReference, xml_string) class KeyReference(ReferenceType_): c_tag = "KeyReference" c_namespace = NAMESPACE c_children = ReferenceType_.c_children.copy() c_attributes = ReferenceType_.c_attributes.copy() c_child_order = ReferenceType_.c_child_order[:] c_cardinality = ReferenceType_.c_cardinality.copy() def key_reference_from_string(xml_string): return saml2.create_class_from_xml_string(KeyReference, xml_string) class ReferenceList(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:ReferenceList element""" c_tag = "ReferenceList" 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["{http://www.w3.org/2001/04/xmlenc#}DataReference"] = ("data_reference", [DataReference]) c_cardinality["data_reference"] = {"min": 0} c_children["{http://www.w3.org/2001/04/xmlenc#}KeyReference"] = ("key_reference", [KeyReference]) c_cardinality["key_reference"] = {"min": 0} c_child_order.extend(["data_reference", "key_reference"]) def __init__( self, data_reference=None, key_reference=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.data_reference = data_reference or [] self.key_reference = key_reference or [] def reference_list_from_string(xml_string): return saml2.create_class_from_xml_string(ReferenceList, xml_string) class EncryptionProperty(EncryptionPropertyType_): """The http://www.w3.org/2001/04/xmlenc#:EncryptionProperty element""" c_tag = "EncryptionProperty" c_namespace = NAMESPACE c_children = EncryptionPropertyType_.c_children.copy() c_attributes = EncryptionPropertyType_.c_attributes.copy() c_child_order = EncryptionPropertyType_.c_child_order[:] c_cardinality = EncryptionPropertyType_.c_cardinality.copy() def encryption_property_from_string(xml_string): return saml2.create_class_from_xml_string(EncryptionProperty, xml_string) class CipherReference(CipherReferenceType_): """The http://www.w3.org/2001/04/xmlenc#:CipherReference element""" c_tag = "CipherReference" c_namespace = NAMESPACE c_children = CipherReferenceType_.c_children.copy() c_attributes = CipherReferenceType_.c_attributes.copy() c_child_order = CipherReferenceType_.c_child_order[:] c_cardinality = CipherReferenceType_.c_cardinality.copy() def cipher_reference_from_string(xml_string): return saml2.create_class_from_xml_string(CipherReference, xml_string) class EncryptionPropertiesType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:EncryptionPropertiesType element""" c_tag = "EncryptionPropertiesType" 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["{http://www.w3.org/2001/04/xmlenc#}EncryptionProperty"] = ("encryption_property", [EncryptionProperty]) c_cardinality["encryption_property"] = {"min": 1} c_attributes["Id"] = ("id", "ID", False) c_child_order.extend(["encryption_property"]) def __init__( self, encryption_property=None, id=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.encryption_property = encryption_property or [] self.id = id def encryption_properties_type__from_string(xml_string): return saml2.create_class_from_xml_string(EncryptionPropertiesType_, xml_string) class CipherDataType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:CipherDataType element""" c_tag = "CipherDataType" 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["{http://www.w3.org/2001/04/xmlenc#}CipherValue"] = ("cipher_value", CipherValue) c_cardinality["cipher_value"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2001/04/xmlenc#}CipherReference"] = ("cipher_reference", CipherReference) c_cardinality["cipher_reference"] = {"min": 0, "max": 1} c_child_order.extend(["cipher_value", "cipher_reference"]) def __init__( self, cipher_value=None, cipher_reference=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.cipher_value = cipher_value self.cipher_reference = cipher_reference def cipher_data_type__from_string(xml_string): return saml2.create_class_from_xml_string(CipherDataType_, xml_string) class EncryptionProperties(EncryptionPropertiesType_): """The http://www.w3.org/2001/04/xmlenc#:EncryptionProperties element""" c_tag = "EncryptionProperties" c_namespace = NAMESPACE c_children = EncryptionPropertiesType_.c_children.copy() c_attributes = EncryptionPropertiesType_.c_attributes.copy() c_child_order = EncryptionPropertiesType_.c_child_order[:] c_cardinality = EncryptionPropertiesType_.c_cardinality.copy() def encryption_properties_from_string(xml_string): return saml2.create_class_from_xml_string(EncryptionProperties, xml_string) class CipherData(CipherDataType_): """The http://www.w3.org/2001/04/xmlenc#:CipherData element""" c_tag = "CipherData" c_namespace = NAMESPACE c_children = CipherDataType_.c_children.copy() c_attributes = CipherDataType_.c_attributes.copy() c_child_order = CipherDataType_.c_child_order[:] c_cardinality = CipherDataType_.c_cardinality.copy() def cipher_data_from_string(xml_string): return saml2.create_class_from_xml_string(CipherData, xml_string) class EncryptedType_(SamlBase): """The http://www.w3.org/2001/04/xmlenc#:EncryptedType element""" c_tag = "EncryptedType" 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["{http://www.w3.org/2001/04/xmlenc#}EncryptionMethod"] = ("encryption_method", EncryptionMethod) c_cardinality["encryption_method"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2000/09/xmldsig#}KeyInfo"] = ("key_info", ds.KeyInfo) c_cardinality["key_info"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2001/04/xmlenc#}CipherData"] = ("cipher_data", CipherData) c_children["{http://www.w3.org/2001/04/xmlenc#}EncryptionProperties"] = ( "encryption_properties", EncryptionProperties, ) c_cardinality["encryption_properties"] = {"min": 0, "max": 1} c_attributes["Id"] = ("id", "ID", False) c_attributes["Type"] = ("type", "anyURI", False) c_attributes["MimeType"] = ("mime_type", "string", False) c_attributes["Encoding"] = ("encoding", "anyURI", False) c_child_order.extend(["encryption_method", "key_info", "cipher_data", "encryption_properties"]) def __init__( self, encryption_method=None, key_info=None, cipher_data=None, encryption_properties=None, id=None, type=None, mime_type=None, encoding=None, text=None, extension_elements=None, extension_attributes=None, ): SamlBase.__init__( self, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.encryption_method = encryption_method self.key_info = key_info self.cipher_data = cipher_data self.encryption_properties = encryption_properties self.id = id self.type = type self.mime_type = mime_type self.encoding = encoding class EncryptedDataType_(EncryptedType_): """The http://www.w3.org/2001/04/xmlenc#:EncryptedDataType element""" c_tag = "EncryptedDataType" c_namespace = NAMESPACE c_children = EncryptedType_.c_children.copy() c_attributes = EncryptedType_.c_attributes.copy() c_child_order = EncryptedType_.c_child_order[:] c_cardinality = EncryptedType_.c_cardinality.copy() def encrypted_data_type__from_string(xml_string): return saml2.create_class_from_xml_string(EncryptedDataType_, xml_string) class CarriedKeyName(SamlBase): c_tag = "CarriedKeyName" 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 carried_key_name_from_string(xml_string): return saml2.create_class_from_xml_string(CarriedKeyName, xml_string) class EncryptedKeyType_(EncryptedType_): """The http://www.w3.org/2001/04/xmlenc#:EncryptedKeyType element""" c_tag = "EncryptedKeyType" c_namespace = NAMESPACE c_children = EncryptedType_.c_children.copy() c_attributes = EncryptedType_.c_attributes.copy() c_child_order = EncryptedType_.c_child_order[:] c_cardinality = EncryptedType_.c_cardinality.copy() c_children["{http://www.w3.org/2001/04/xmlenc#}ReferenceList"] = ("reference_list", ReferenceList) c_cardinality["reference_list"] = {"min": 0, "max": 1} c_children["{http://www.w3.org/2001/04/xmlenc#}CarriedKeyName"] = ("carried_key_name", CarriedKeyName) c_cardinality["carried_key_name"] = {"min": 0, "max": 1} c_attributes["Recipient"] = ("recipient", "string", False) c_child_order.extend(["reference_list", "carried_key_name"]) def __init__( self, reference_list=None, carried_key_name=None, recipient=None, encryption_method=None, key_info=None, cipher_data=None, encryption_properties=None, id=None, type=None, mime_type=None, encoding=None, text=None, extension_elements=None, extension_attributes=None, ): EncryptedType_.__init__( self, encryption_method=encryption_method, key_info=key_info, cipher_data=cipher_data, encryption_properties=encryption_properties, id=id, type=type, mime_type=mime_type, encoding=encoding, text=text, extension_elements=extension_elements, extension_attributes=extension_attributes, ) self.reference_list = reference_list self.carried_key_name = carried_key_name self.recipient = recipient def encrypted_key_type__from_string(xml_string): return saml2.create_class_from_xml_string(EncryptedKeyType_, xml_string) class EncryptedData(EncryptedDataType_): """The http://www.w3.org/2001/04/xmlenc#:EncryptedData element""" c_tag = "EncryptedData" c_namespace = NAMESPACE c_children = EncryptedDataType_.c_children.copy() c_attributes = EncryptedDataType_.c_attributes.copy() c_child_order = EncryptedDataType_.c_child_order[:] c_cardinality = EncryptedDataType_.c_cardinality.copy() def encrypted_data_from_string(xml_string): return saml2.create_class_from_xml_string(EncryptedData, xml_string) class EncryptedKey(EncryptedKeyType_): """The http://www.w3.org/2001/04/xmlenc#:EncryptedKey element""" c_tag = "EncryptedKey" c_namespace = NAMESPACE c_children = EncryptedKeyType_.c_children.copy() c_attributes = EncryptedKeyType_.c_attributes.copy() c_child_order = EncryptedKeyType_.c_child_order[:] c_cardinality = EncryptedKeyType_.c_cardinality.copy() def encrypted_key_from_string(xml_string): return saml2.create_class_from_xml_string(EncryptedKey, xml_string) ds.KeyInfo.c_children["{http://www.w3.org/2000/09/xmlenc#}EncryptedKey"] = ("encrypted_key", EncryptedKey) ELEMENT_FROM_STRING = { EncryptionMethodType_.c_tag: encryption_method_type__from_string, KeySizeType_.c_tag: key_size_type__from_string, CipherData.c_tag: cipher_data_from_string, CipherDataType_.c_tag: cipher_data_type__from_string, CipherReference.c_tag: cipher_reference_from_string, CipherReferenceType_.c_tag: cipher_reference_type__from_string, TransformsType_.c_tag: transforms_type__from_string, EncryptedData.c_tag: encrypted_data_from_string, EncryptedDataType_.c_tag: encrypted_data_type__from_string, EncryptedKey.c_tag: encrypted_key_from_string, EncryptedKeyType_.c_tag: encrypted_key_type__from_string, AgreementMethod.c_tag: agreement_method_from_string, AgreementMethodType_.c_tag: agreement_method_type__from_string, ReferenceList.c_tag: reference_list_from_string, ReferenceType_.c_tag: reference_type__from_string, EncryptionProperties.c_tag: encryption_properties_from_string, EncryptionPropertiesType_.c_tag: encryption_properties_type__from_string, EncryptionProperty.c_tag: encryption_property_from_string, EncryptionPropertyType_.c_tag: encryption_property_type__from_string, CipherValue.c_tag: cipher_value_from_string, KA_Nonce.c_tag: k_a__nonce_from_string, OriginatorKeyInfo.c_tag: originator_key_info_from_string, RecipientKeyInfo.c_tag: recipient_key_info_from_string, KeySize.c_tag: key_size_from_string, OAEPparams.c_tag: oae_pparams_from_string, Transforms.c_tag: transforms_from_string, EncryptionMethod.c_tag: encryption_method_from_string, DataReference.c_tag: data_reference_from_string, KeyReference.c_tag: key_reference_from_string, CarriedKeyName.c_tag: carried_key_name_from_string, } ELEMENT_BY_TAG = { "EncryptionMethodType": EncryptionMethodType_, "KeySizeType": KeySizeType_, "CipherData": CipherData, "CipherDataType": CipherDataType_, "CipherReference": CipherReference, "CipherReferenceType": CipherReferenceType_, "TransformsType": TransformsType_, "EncryptedData": EncryptedData, "EncryptedDataType": EncryptedDataType_, "EncryptedKey": EncryptedKey, "EncryptedKeyType": EncryptedKeyType_, "AgreementMethod": AgreementMethod, "AgreementMethodType": AgreementMethodType_, "ReferenceList": ReferenceList, "ReferenceType": ReferenceType_, "EncryptionProperties": EncryptionProperties, "EncryptionPropertiesType": EncryptionPropertiesType_, "EncryptionProperty": EncryptionProperty, "EncryptionPropertyType": EncryptionPropertyType_, "CipherValue": CipherValue, "KA_Nonce": KA_Nonce, "OriginatorKeyInfo": OriginatorKeyInfo, "RecipientKeyInfo": RecipientKeyInfo, "KeySize": KeySize, "OAEPparams": OAEPparams, "Transforms": Transforms, "EncryptionMethod": EncryptionMethod, "DataReference": DataReference, "KeyReference": KeyReference, "CarriedKeyName": CarriedKeyName, "EncryptedType": EncryptedType_, } def factory(tag, **kwargs): return ELEMENT_BY_TAG[tag](**kwargs)