/* c/zx-e-dec.c - WARNING: This file was auto generated by xsd2sg.pl. DO NOT EDIT!
 * $Id$ */
/* Code generation design Copyright (c) 2006 Sampo Kellomaki (sampo@iki.fi),
 * All Rights Reserved. NO WARRANTY. See file COPYING for terms and conditions
 * of use. Some aspects of code generation were driven by schema
 * descriptions that were used as input and may be subject to their own copyright.
 * Code generation uses a template, whose copyright statement follows. */

/** dec-templ.c  -  XML decoder template, used in code generation
 ** Copyright (c) 2010 Sampo Kellomaki (sampo@iki.fi), All Rights Reserved.
 ** Copyright (c) 2006-2007 Symlabs (symlabs@symlabs.com), All Rights Reserved.
 ** Author: Sampo Kellomaki (sampo@iki.fi)
 ** This is confidential unpublished proprietary source code of the author.
 ** NO WARRANTY, not even implied warranties. Contains trade secrets.
 ** Distribution prohibited unless authorized in writing.
 ** Licensed under Apache License 2.0, see file COPYING.
 ** Id: dec-templ.c,v 1.30 2008-10-04 23:42:14 sampo Exp $
 **
 ** 28.5.2006, created, Sampo Kellomaki (sampo@iki.fi)
 ** 8.8.2006,  reworked namespace handling --Sampo
 ** 12.8.2006, added special scanning of xmlns to avoid backtracking elem recognition --Sampo
 ** 23.9.2006, added collection of WO information --Sampo
 ** 21.6.2007, improved handling of undeclared namespace prefixes --Sampo
 ** 27.10.2010, CSE refactoring, re-engineered namespace handling --Sampo
 ** 21.11.2010, re-engineered to extract most code to zx_DEC_elem, leaving just switches --Sampo
 **
 ** N.B: This template is meant to be processed by pd/xsd2sg.pl. Beware
 ** of special markers that xsd2sg.pl expects to find and understand.
 **/

#include "errmac.h"
#include "zx.h"
#include "c/zx-const.h"
#include "c/zx-data.h"
#include "c/zx-e-data.h"
#define TPF zx_
#include "zx_ext_pt.h"



int zx_DEC_ATTR_e_Body(struct zx_ctx* c, struct zx_e_Body_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_id_ATTR:  x->id = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_e_Body(struct zx_ctx* c, struct zx_e_Body_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_sp_ArtifactResolve_ELEM:
    if (!x->ArtifactResolve)
      x->ArtifactResolve = (struct zx_sp_ArtifactResolve_s*)el;
    return 1;
  case zx_sp_ArtifactResponse_ELEM:
    if (!x->ArtifactResponse)
      x->ArtifactResponse = (struct zx_sp_ArtifactResponse_s*)el;
    return 1;
  case zx_sp_ManageNameIDRequest_ELEM:
    if (!x->ManageNameIDRequest)
      x->ManageNameIDRequest = (struct zx_sp_ManageNameIDRequest_s*)el;
    return 1;
  case zx_sp_ManageNameIDResponse_ELEM:
    if (!x->ManageNameIDResponse)
      x->ManageNameIDResponse = (struct zx_sp_ManageNameIDResponse_s*)el;
    return 1;
  case zx_sp_LogoutRequest_ELEM:
    if (!x->LogoutRequest)
      x->LogoutRequest = (struct zx_sp_LogoutRequest_s*)el;
    return 1;
  case zx_sp_LogoutResponse_ELEM:
    if (!x->LogoutResponse)
      x->LogoutResponse = (struct zx_sp_LogoutResponse_s*)el;
    return 1;
  case zx_sp_NameIDMappingRequest_ELEM:
    if (!x->NameIDMappingRequest)
      x->NameIDMappingRequest = (struct zx_sp_NameIDMappingRequest_s*)el;
    return 1;
  case zx_sp_NameIDMappingResponse_ELEM:
    if (!x->NameIDMappingResponse)
      x->NameIDMappingResponse = (struct zx_sp_NameIDMappingResponse_s*)el;
    return 1;
  case zx_sp_AttributeQuery_ELEM:
    if (!x->AttributeQuery)
      x->AttributeQuery = (struct zx_sp_AttributeQuery_s*)el;
    return 1;
  case zx_sp_AuthnQuery_ELEM:
    if (!x->AuthnQuery)
      x->AuthnQuery = (struct zx_sp_AuthnQuery_s*)el;
    return 1;
  case zx_sp_AuthzDecisionQuery_ELEM:
    if (!x->AuthzDecisionQuery)
      x->AuthzDecisionQuery = (struct zx_sp_AuthzDecisionQuery_s*)el;
    return 1;
  case zx_sp_AssertionIDRequest_ELEM:
    if (!x->AssertionIDRequest)
      x->AssertionIDRequest = (struct zx_sp_AssertionIDRequest_s*)el;
    return 1;
  case zx_sp_Response_ELEM:
    if (!x->Response)
      x->Response = (struct zx_sp_Response_s*)el;
    return 1;
  case zx_sp_AuthnRequest_ELEM:
    if (!x->AuthnRequest)
      x->AuthnRequest = (struct zx_sp_AuthnRequest_s*)el;
    return 1;
  case zx_sp11_Request_ELEM:
    if (!x->Request)
      x->Request = (struct zx_sp11_Request_s*)el;
    return 1;
  case zx_sp11_Response_ELEM:
    if (!x->sp11_Response)
      x->sp11_Response = (struct zx_sp11_Response_s*)el;
    return 1;
  case zx_ff12_RegisterNameIdentifierRequest_ELEM:
    if (!x->RegisterNameIdentifierRequest)
      x->RegisterNameIdentifierRequest = (struct zx_ff12_RegisterNameIdentifierRequest_s*)el;
    return 1;
  case zx_ff12_RegisterNameIdentifierResponse_ELEM:
    if (!x->RegisterNameIdentifierResponse)
      x->RegisterNameIdentifierResponse = (struct zx_ff12_RegisterNameIdentifierResponse_s*)el;
    return 1;
  case zx_ff12_FederationTerminationNotification_ELEM:
    if (!x->FederationTerminationNotification)
      x->FederationTerminationNotification = (struct zx_ff12_FederationTerminationNotification_s*)el;
    return 1;
  case zx_ff12_LogoutRequest_ELEM:
    if (!x->ff12_LogoutRequest)
      x->ff12_LogoutRequest = (struct zx_ff12_LogoutRequest_s*)el;
    return 1;
  case zx_ff12_LogoutResponse_ELEM:
    if (!x->ff12_LogoutResponse)
      x->ff12_LogoutResponse = (struct zx_ff12_LogoutResponse_s*)el;
    return 1;
  case zx_ff12_NameIdentifierMappingRequest_ELEM:
    if (!x->NameIdentifierMappingRequest)
      x->NameIdentifierMappingRequest = (struct zx_ff12_NameIdentifierMappingRequest_s*)el;
    return 1;
  case zx_ff12_NameIdentifierMappingResponse_ELEM:
    if (!x->NameIdentifierMappingResponse)
      x->NameIdentifierMappingResponse = (struct zx_ff12_NameIdentifierMappingResponse_s*)el;
    return 1;
  case zx_xasp_XACMLAuthzDecisionQuery_ELEM:
    if (!x->XACMLAuthzDecisionQuery)
      x->XACMLAuthzDecisionQuery = (struct zx_xasp_XACMLAuthzDecisionQuery_s*)el;
    return 1;
  case zx_xasp_XACMLPolicyQuery_ELEM:
    if (!x->XACMLPolicyQuery)
      x->XACMLPolicyQuery = (struct zx_xasp_XACMLPolicyQuery_s*)el;
    return 1;
  case zx_xaspcd1_XACMLAuthzDecisionQuery_ELEM:
    if (!x->xaspcd1_XACMLAuthzDecisionQuery)
      x->xaspcd1_XACMLAuthzDecisionQuery = (struct zx_xaspcd1_XACMLAuthzDecisionQuery_s*)el;
    return 1;
  case zx_xaspcd1_XACMLPolicyQuery_ELEM:
    if (!x->xaspcd1_XACMLPolicyQuery)
      x->xaspcd1_XACMLPolicyQuery = (struct zx_xaspcd1_XACMLPolicyQuery_s*)el;
    return 1;
  case zx_xac_Request_ELEM:
    if (!x->xac_Request)
      x->xac_Request = (struct zx_xac_Request_s*)el;
    return 1;
  case zx_xac_Response_ELEM:
    if (!x->xac_Response)
      x->xac_Response = (struct zx_xac_Response_s*)el;
    return 1;
  case zx_di_Query_ELEM:
    if (!x->Query)
      x->Query = (struct zx_di_Query_s*)el;
    return 1;
  case zx_di_QueryResponse_ELEM:
    if (!x->QueryResponse)
      x->QueryResponse = (struct zx_di_QueryResponse_s*)el;
    return 1;
  case zx_di12_Query_ELEM:
    if (!x->di12_Query)
      x->di12_Query = (struct zx_di12_Query_s*)el;
    return 1;
  case zx_di12_QueryResponse_ELEM:
    if (!x->di12_QueryResponse)
      x->di12_QueryResponse = (struct zx_di12_QueryResponse_s*)el;
    return 1;
  case zx_di12_Modify_ELEM:
    if (!x->Modify)
      x->Modify = (struct zx_di12_Modify_s*)el;
    return 1;
  case zx_di12_ModifyResponse_ELEM:
    if (!x->ModifyResponse)
      x->ModifyResponse = (struct zx_di12_ModifyResponse_s*)el;
    return 1;
  case zx_e_Fault_ELEM:
    if (!x->Fault)
      x->Fault = (struct zx_e_Fault_s*)el;
    return 1;
  case zx_di_SvcMDAssociationAdd_ELEM:
    if (!x->SvcMDAssociationAdd)
      x->SvcMDAssociationAdd = (struct zx_di_SvcMDAssociationAdd_s*)el;
    return 1;
  case zx_di_SvcMDAssociationAddResponse_ELEM:
    if (!x->SvcMDAssociationAddResponse)
      x->SvcMDAssociationAddResponse = (struct zx_di_SvcMDAssociationAddResponse_s*)el;
    return 1;
  case zx_di_SvcMDAssociationDelete_ELEM:
    if (!x->SvcMDAssociationDelete)
      x->SvcMDAssociationDelete = (struct zx_di_SvcMDAssociationDelete_s*)el;
    return 1;
  case zx_di_SvcMDAssociationDeleteResponse_ELEM:
    if (!x->SvcMDAssociationDeleteResponse)
      x->SvcMDAssociationDeleteResponse = (struct zx_di_SvcMDAssociationDeleteResponse_s*)el;
    return 1;
  case zx_di_SvcMDAssociationQuery_ELEM:
    if (!x->SvcMDAssociationQuery)
      x->SvcMDAssociationQuery = (struct zx_di_SvcMDAssociationQuery_s*)el;
    return 1;
  case zx_di_SvcMDAssociationQueryResponse_ELEM:
    if (!x->SvcMDAssociationQueryResponse)
      x->SvcMDAssociationQueryResponse = (struct zx_di_SvcMDAssociationQueryResponse_s*)el;
    return 1;
  case zx_di_SvcMDRegister_ELEM:
    if (!x->SvcMDRegister)
      x->SvcMDRegister = (struct zx_di_SvcMDRegister_s*)el;
    return 1;
  case zx_di_SvcMDRegisterResponse_ELEM:
    if (!x->SvcMDRegisterResponse)
      x->SvcMDRegisterResponse = (struct zx_di_SvcMDRegisterResponse_s*)el;
    return 1;
  case zx_di_SvcMDDelete_ELEM:
    if (!x->SvcMDDelete)
      x->SvcMDDelete = (struct zx_di_SvcMDDelete_s*)el;
    return 1;
  case zx_di_SvcMDDeleteResponse_ELEM:
    if (!x->SvcMDDeleteResponse)
      x->SvcMDDeleteResponse = (struct zx_di_SvcMDDeleteResponse_s*)el;
    return 1;
  case zx_di_SvcMDQuery_ELEM:
    if (!x->SvcMDQuery)
      x->SvcMDQuery = (struct zx_di_SvcMDQuery_s*)el;
    return 1;
  case zx_di_SvcMDQueryResponse_ELEM:
    if (!x->SvcMDQueryResponse)
      x->SvcMDQueryResponse = (struct zx_di_SvcMDQueryResponse_s*)el;
    return 1;
  case zx_di_SvcMDReplace_ELEM:
    if (!x->SvcMDReplace)
      x->SvcMDReplace = (struct zx_di_SvcMDReplace_s*)el;
    return 1;
  case zx_di_SvcMDReplaceResponse_ELEM:
    if (!x->SvcMDReplaceResponse)
      x->SvcMDReplaceResponse = (struct zx_di_SvcMDReplaceResponse_s*)el;
    return 1;
  case zx_dap_Create_ELEM:
    if (!x->Create)
      x->Create = (struct zx_dap_Create_s*)el;
    return 1;
  case zx_dap_CreateResponse_ELEM:
    if (!x->CreateResponse)
      x->CreateResponse = (struct zx_dap_CreateResponse_s*)el;
    return 1;
  case zx_dap_Query_ELEM:
    if (!x->dap_Query)
      x->dap_Query = (struct zx_dap_Query_s*)el;
    return 1;
  case zx_dap_QueryResponse_ELEM:
    if (!x->dap_QueryResponse)
      x->dap_QueryResponse = (struct zx_dap_QueryResponse_s*)el;
    return 1;
  case zx_dap_Modify_ELEM:
    if (!x->dap_Modify)
      x->dap_Modify = (struct zx_dap_Modify_s*)el;
    return 1;
  case zx_dap_ModifyResponse_ELEM:
    if (!x->dap_ModifyResponse)
      x->dap_ModifyResponse = (struct zx_dap_ModifyResponse_s*)el;
    return 1;
  case zx_dap_Delete_ELEM:
    if (!x->Delete)
      x->Delete = (struct zx_dap_Delete_s*)el;
    return 1;
  case zx_dap_DeleteResponse_ELEM:
    if (!x->DeleteResponse)
      x->DeleteResponse = (struct zx_dap_DeleteResponse_s*)el;
    return 1;
  case zx_dap_Notify_ELEM:
    if (!x->Notify)
      x->Notify = (struct zx_dap_Notify_s*)el;
    return 1;
  case zx_dap_NotifyResponse_ELEM:
    if (!x->NotifyResponse)
      x->NotifyResponse = (struct zx_dap_NotifyResponse_s*)el;
    return 1;
  case zx_ps_AddEntityRequest_ELEM:
    if (!x->AddEntityRequest)
      x->AddEntityRequest = (struct zx_ps_AddEntityRequest_s*)el;
    return 1;
  case zx_ps_AddEntityResponse_ELEM:
    if (!x->AddEntityResponse)
      x->AddEntityResponse = (struct zx_ps_AddEntityResponse_s*)el;
    return 1;
  case zx_ps_AddKnownEntityRequest_ELEM:
    if (!x->AddKnownEntityRequest)
      x->AddKnownEntityRequest = (struct zx_ps_AddKnownEntityRequest_s*)el;
    return 1;
  case zx_ps_AddKnownEntityResponse_ELEM:
    if (!x->AddKnownEntityResponse)
      x->AddKnownEntityResponse = (struct zx_ps_AddKnownEntityResponse_s*)el;
    return 1;
  case zx_ps_AddCollectionRequest_ELEM:
    if (!x->AddCollectionRequest)
      x->AddCollectionRequest = (struct zx_ps_AddCollectionRequest_s*)el;
    return 1;
  case zx_ps_AddCollectionResponse_ELEM:
    if (!x->AddCollectionResponse)
      x->AddCollectionResponse = (struct zx_ps_AddCollectionResponse_s*)el;
    return 1;
  case zx_ps_AddToCollectionRequest_ELEM:
    if (!x->AddToCollectionRequest)
      x->AddToCollectionRequest = (struct zx_ps_AddToCollectionRequest_s*)el;
    return 1;
  case zx_ps_AddToCollectionResponse_ELEM:
    if (!x->AddToCollectionResponse)
      x->AddToCollectionResponse = (struct zx_ps_AddToCollectionResponse_s*)el;
    return 1;
  case zx_ps_RemoveEntityRequest_ELEM:
    if (!x->RemoveEntityRequest)
      x->RemoveEntityRequest = (struct zx_ps_RemoveEntityRequest_s*)el;
    return 1;
  case zx_ps_RemoveEntityResponse_ELEM:
    if (!x->RemoveEntityResponse)
      x->RemoveEntityResponse = (struct zx_ps_RemoveEntityResponse_s*)el;
    return 1;
  case zx_ps_RemoveCollectionRequest_ELEM:
    if (!x->RemoveCollectionRequest)
      x->RemoveCollectionRequest = (struct zx_ps_RemoveCollectionRequest_s*)el;
    return 1;
  case zx_ps_RemoveCollectionResponse_ELEM:
    if (!x->RemoveCollectionResponse)
      x->RemoveCollectionResponse = (struct zx_ps_RemoveCollectionResponse_s*)el;
    return 1;
  case zx_ps_RemoveFromCollectionRequest_ELEM:
    if (!x->RemoveFromCollectionRequest)
      x->RemoveFromCollectionRequest = (struct zx_ps_RemoveFromCollectionRequest_s*)el;
    return 1;
  case zx_ps_RemoveFromCollectionResponse_ELEM:
    if (!x->RemoveFromCollectionResponse)
      x->RemoveFromCollectionResponse = (struct zx_ps_RemoveFromCollectionResponse_s*)el;
    return 1;
  case zx_ps_ListMembersRequest_ELEM:
    if (!x->ListMembersRequest)
      x->ListMembersRequest = (struct zx_ps_ListMembersRequest_s*)el;
    return 1;
  case zx_ps_ListMembersResponse_ELEM:
    if (!x->ListMembersResponse)
      x->ListMembersResponse = (struct zx_ps_ListMembersResponse_s*)el;
    return 1;
  case zx_ps_QueryObjectsRequest_ELEM:
    if (!x->QueryObjectsRequest)
      x->QueryObjectsRequest = (struct zx_ps_QueryObjectsRequest_s*)el;
    return 1;
  case zx_ps_QueryObjectsResponse_ELEM:
    if (!x->QueryObjectsResponse)
      x->QueryObjectsResponse = (struct zx_ps_QueryObjectsResponse_s*)el;
    return 1;
  case zx_ps_GetObjectInfoRequest_ELEM:
    if (!x->GetObjectInfoRequest)
      x->GetObjectInfoRequest = (struct zx_ps_GetObjectInfoRequest_s*)el;
    return 1;
  case zx_ps_GetObjectInfoResponse_ELEM:
    if (!x->GetObjectInfoResponse)
      x->GetObjectInfoResponse = (struct zx_ps_GetObjectInfoResponse_s*)el;
    return 1;
  case zx_ps_SetObjectInfoRequest_ELEM:
    if (!x->SetObjectInfoRequest)
      x->SetObjectInfoRequest = (struct zx_ps_SetObjectInfoRequest_s*)el;
    return 1;
  case zx_ps_SetObjectInfoResponse_ELEM:
    if (!x->SetObjectInfoResponse)
      x->SetObjectInfoResponse = (struct zx_ps_SetObjectInfoResponse_s*)el;
    return 1;
  case zx_ps_TestMembershipRequest_ELEM:
    if (!x->TestMembershipRequest)
      x->TestMembershipRequest = (struct zx_ps_TestMembershipRequest_s*)el;
    return 1;
  case zx_ps_TestMembershipResponse_ELEM:
    if (!x->TestMembershipResponse)
      x->TestMembershipResponse = (struct zx_ps_TestMembershipResponse_s*)el;
    return 1;
  case zx_ps_ResolveIdentifierRequest_ELEM:
    if (!x->ResolveIdentifierRequest)
      x->ResolveIdentifierRequest = (struct zx_ps_ResolveIdentifierRequest_s*)el;
    return 1;
  case zx_ps_ResolveIdentifierResponse_ELEM:
    if (!x->ResolveIdentifierResponse)
      x->ResolveIdentifierResponse = (struct zx_ps_ResolveIdentifierResponse_s*)el;
    return 1;
  case zx_ps_Notify_ELEM:
    if (!x->ps_Notify)
      x->ps_Notify = (struct zx_ps_Notify_s*)el;
    return 1;
  case zx_ps_NotifyResponse_ELEM:
    if (!x->ps_NotifyResponse)
      x->ps_NotifyResponse = (struct zx_ps_NotifyResponse_s*)el;
    return 1;
  case zx_im_IdentityMappingRequest_ELEM:
    if (!x->IdentityMappingRequest)
      x->IdentityMappingRequest = (struct zx_im_IdentityMappingRequest_s*)el;
    return 1;
  case zx_im_IdentityMappingResponse_ELEM:
    if (!x->IdentityMappingResponse)
      x->IdentityMappingResponse = (struct zx_im_IdentityMappingResponse_s*)el;
    return 1;
  case zx_as_SASLRequest_ELEM:
    if (!x->SASLRequest)
      x->SASLRequest = (struct zx_as_SASLRequest_s*)el;
    return 1;
  case zx_as_SASLResponse_ELEM:
    if (!x->SASLResponse)
      x->SASLResponse = (struct zx_as_SASLResponse_s*)el;
    return 1;
  case zx_mm7_SubmitReq_ELEM:
    if (!x->SubmitReq)
      x->SubmitReq = (struct zx_mm7_SubmitReq_s*)el;
    return 1;
  case zx_mm7_SubmitRsp_ELEM:
    if (!x->SubmitRsp)
      x->SubmitRsp = (struct zx_mm7_SubmitRsp_s*)el;
    return 1;
  case zx_mm7_DeliverReq_ELEM:
    if (!x->DeliverReq)
      x->DeliverReq = (struct zx_mm7_DeliverReq_s*)el;
    return 1;
  case zx_mm7_DeliverRsp_ELEM:
    if (!x->DeliverRsp)
      x->DeliverRsp = (struct zx_mm7_DeliverRsp_s*)el;
    return 1;
  case zx_mm7_CancelReq_ELEM:
    if (!x->CancelReq)
      x->CancelReq = (struct zx_mm7_CancelReq_s*)el;
    return 1;
  case zx_mm7_CancelRsp_ELEM:
    if (!x->CancelRsp)
      x->CancelRsp = (struct zx_mm7_CancelRsp_s*)el;
    return 1;
  case zx_mm7_ReplaceReq_ELEM:
    if (!x->ReplaceReq)
      x->ReplaceReq = (struct zx_mm7_ReplaceReq_s*)el;
    return 1;
  case zx_mm7_ReplaceRsp_ELEM:
    if (!x->ReplaceRsp)
      x->ReplaceRsp = (struct zx_mm7_ReplaceRsp_s*)el;
    return 1;
  case zx_mm7_extendedCancelReq_ELEM:
    if (!x->extendedCancelReq)
      x->extendedCancelReq = (struct zx_mm7_extendedCancelReq_s*)el;
    return 1;
  case zx_mm7_extendedCancelRsp_ELEM:
    if (!x->extendedCancelRsp)
      x->extendedCancelRsp = (struct zx_mm7_extendedCancelRsp_s*)el;
    return 1;
  case zx_mm7_extendedReplaceReq_ELEM:
    if (!x->extendedReplaceReq)
      x->extendedReplaceReq = (struct zx_mm7_extendedReplaceReq_s*)el;
    return 1;
  case zx_mm7_extendedReplaceRsp_ELEM:
    if (!x->extendedReplaceRsp)
      x->extendedReplaceRsp = (struct zx_mm7_extendedReplaceRsp_s*)el;
    return 1;
  case zx_mm7_DeliveryReportReq_ELEM:
    if (!x->DeliveryReportReq)
      x->DeliveryReportReq = (struct zx_mm7_DeliveryReportReq_s*)el;
    return 1;
  case zx_mm7_DeliveryReportRsp_ELEM:
    if (!x->DeliveryReportRsp)
      x->DeliveryReportRsp = (struct zx_mm7_DeliveryReportRsp_s*)el;
    return 1;
  case zx_mm7_ReadReplyReq_ELEM:
    if (!x->ReadReplyReq)
      x->ReadReplyReq = (struct zx_mm7_ReadReplyReq_s*)el;
    return 1;
  case zx_mm7_ReadReplyRsp_ELEM:
    if (!x->ReadReplyRsp)
      x->ReadReplyRsp = (struct zx_mm7_ReadReplyRsp_s*)el;
    return 1;
  case zx_mm7_RSErrorRsp_ELEM:
    if (!x->RSErrorRsp)
      x->RSErrorRsp = (struct zx_mm7_RSErrorRsp_s*)el;
    return 1;
  case zx_mm7_VASPErrorRsp_ELEM:
    if (!x->VASPErrorRsp)
      x->VASPErrorRsp = (struct zx_mm7_VASPErrorRsp_s*)el;
    return 1;
  case zx_mm7_QueryStatusReq_ELEM:
    if (!x->QueryStatusReq)
      x->QueryStatusReq = (struct zx_mm7_QueryStatusReq_s*)el;
    return 1;
  case zx_mm7_QueryStatusRsp_ELEM:
    if (!x->QueryStatusRsp)
      x->QueryStatusRsp = (struct zx_mm7_QueryStatusRsp_s*)el;
    return 1;
  case zx_cb_Query_ELEM:
    if (!x->cb_Query)
      x->cb_Query = (struct zx_cb_Query_s*)el;
    return 1;
  case zx_cb_QueryResponse_ELEM:
    if (!x->cb_QueryResponse)
      x->cb_QueryResponse = (struct zx_cb_QueryResponse_s*)el;
    return 1;
  case zx_cb_Create_ELEM:
    if (!x->cb_Create)
      x->cb_Create = (struct zx_cb_Create_s*)el;
    return 1;
  case zx_cb_CreateResponse_ELEM:
    if (!x->cb_CreateResponse)
      x->cb_CreateResponse = (struct zx_cb_CreateResponse_s*)el;
    return 1;
  case zx_cb_Delete_ELEM:
    if (!x->cb_Delete)
      x->cb_Delete = (struct zx_cb_Delete_s*)el;
    return 1;
  case zx_cb_DeleteResponse_ELEM:
    if (!x->cb_DeleteResponse)
      x->cb_DeleteResponse = (struct zx_cb_DeleteResponse_s*)el;
    return 1;
  case zx_cb_Modify_ELEM:
    if (!x->cb_Modify)
      x->cb_Modify = (struct zx_cb_Modify_s*)el;
    return 1;
  case zx_cb_ModifyResponse_ELEM:
    if (!x->cb_ModifyResponse)
      x->cb_ModifyResponse = (struct zx_cb_ModifyResponse_s*)el;
    return 1;
  case zx_cb_Notify_ELEM:
    if (!x->cb_Notify)
      x->cb_Notify = (struct zx_cb_Notify_s*)el;
    return 1;
  case zx_cb_NotifyResponse_ELEM:
    if (!x->cb_NotifyResponse)
      x->cb_NotifyResponse = (struct zx_cb_NotifyResponse_s*)el;
    return 1;
  case zx_cb_ReportUsage_ELEM:
    if (!x->ReportUsage)
      x->ReportUsage = (struct zx_cb_ReportUsage_s*)el;
    return 1;
  case zx_cb_ReportUsageResponse_ELEM:
    if (!x->ReportUsageResponse)
      x->ReportUsageResponse = (struct zx_cb_ReportUsageResponse_s*)el;
    return 1;
  case zx_gl_Query_ELEM:
    if (!x->gl_Query)
      x->gl_Query = (struct zx_gl_Query_s*)el;
    return 1;
  case zx_gl_QueryResponse_ELEM:
    if (!x->gl_QueryResponse)
      x->gl_QueryResponse = (struct zx_gl_QueryResponse_s*)el;
    return 1;
  case zx_gl_Create_ELEM:
    if (!x->gl_Create)
      x->gl_Create = (struct zx_gl_Create_s*)el;
    return 1;
  case zx_gl_CreateResponse_ELEM:
    if (!x->gl_CreateResponse)
      x->gl_CreateResponse = (struct zx_gl_CreateResponse_s*)el;
    return 1;
  case zx_gl_Delete_ELEM:
    if (!x->gl_Delete)
      x->gl_Delete = (struct zx_gl_Delete_s*)el;
    return 1;
  case zx_gl_DeleteResponse_ELEM:
    if (!x->gl_DeleteResponse)
      x->gl_DeleteResponse = (struct zx_gl_DeleteResponse_s*)el;
    return 1;
  case zx_gl_Modify_ELEM:
    if (!x->gl_Modify)
      x->gl_Modify = (struct zx_gl_Modify_s*)el;
    return 1;
  case zx_gl_ModifyResponse_ELEM:
    if (!x->gl_ModifyResponse)
      x->gl_ModifyResponse = (struct zx_gl_ModifyResponse_s*)el;
    return 1;
  case zx_gl_Notify_ELEM:
    if (!x->gl_Notify)
      x->gl_Notify = (struct zx_gl_Notify_s*)el;
    return 1;
  case zx_gl_NotifyResponse_ELEM:
    if (!x->gl_NotifyResponse)
      x->gl_NotifyResponse = (struct zx_gl_NotifyResponse_s*)el;
    return 1;
  case zx_demomed_StoreObjectRequest_ELEM:
    if (!x->StoreObjectRequest)
      x->StoreObjectRequest = (struct zx_demomed_StoreObjectRequest_s*)el;
    return 1;
  case zx_demomed_StoreObjectResponse_ELEM:
    if (!x->StoreObjectResponse)
      x->StoreObjectResponse = (struct zx_demomed_StoreObjectResponse_s*)el;
    return 1;
  case zx_demomed_GetObjectListRequest_ELEM:
    if (!x->GetObjectListRequest)
      x->GetObjectListRequest = (struct zx_demomed_GetObjectListRequest_s*)el;
    return 1;
  case zx_demomed_GetObjectListResponse_ELEM:
    if (!x->GetObjectListResponse)
      x->GetObjectListResponse = (struct zx_demomed_GetObjectListResponse_s*)el;
    return 1;
  case zx_demomed_GetObjectRequest_ELEM:
    if (!x->GetObjectRequest)
      x->GetObjectRequest = (struct zx_demomed_GetObjectRequest_s*)el;
    return 1;
  case zx_demomed_GetObjectResponse_ELEM:
    if (!x->GetObjectResponse)
      x->GetObjectResponse = (struct zx_demomed_GetObjectResponse_s*)el;
    return 1;
  case zx_demomed_DeleteObjectRequest_ELEM:
    if (!x->DeleteObjectRequest)
      x->DeleteObjectRequest = (struct zx_demomed_DeleteObjectRequest_s*)el;
    return 1;
  case zx_demomed_DeleteObjectResponse_ELEM:
    if (!x->DeleteObjectResponse)
      x->DeleteObjectResponse = (struct zx_demomed_DeleteObjectResponse_s*)el;
    return 1;
  case zx_pmm_Provision_ELEM:
    if (!x->Provision)
      x->Provision = (struct zx_pmm_Provision_s*)el;
    return 1;
  case zx_pmm_ProvisionResponse_ELEM:
    if (!x->ProvisionResponse)
      x->ProvisionResponse = (struct zx_pmm_ProvisionResponse_s*)el;
    return 1;
  case zx_pmm_PMActivate_ELEM:
    if (!x->PMActivate)
      x->PMActivate = (struct zx_pmm_PMActivate_s*)el;
    return 1;
  case zx_pmm_PMActivateResponse_ELEM:
    if (!x->PMActivateResponse)
      x->PMActivateResponse = (struct zx_pmm_PMActivateResponse_s*)el;
    return 1;
  case zx_pmm_PMDeactivate_ELEM:
    if (!x->PMDeactivate)
      x->PMDeactivate = (struct zx_pmm_PMDeactivate_s*)el;
    return 1;
  case zx_pmm_PMDeactivateResponse_ELEM:
    if (!x->PMDeactivateResponse)
      x->PMDeactivateResponse = (struct zx_pmm_PMDeactivateResponse_s*)el;
    return 1;
  case zx_pmm_PMDelete_ELEM:
    if (!x->PMDelete)
      x->PMDelete = (struct zx_pmm_PMDelete_s*)el;
    return 1;
  case zx_pmm_PMDeleteResponse_ELEM:
    if (!x->PMDeleteResponse)
      x->PMDeleteResponse = (struct zx_pmm_PMDeleteResponse_s*)el;
    return 1;
  case zx_pmm_PMUpdate_ELEM:
    if (!x->PMUpdate)
      x->PMUpdate = (struct zx_pmm_PMUpdate_s*)el;
    return 1;
  case zx_pmm_PMUpdateResponse_ELEM:
    if (!x->PMUpdateResponse)
      x->PMUpdateResponse = (struct zx_pmm_PMUpdateResponse_s*)el;
    return 1;
  case zx_pmm_PMGetStatus_ELEM:
    if (!x->PMGetStatus)
      x->PMGetStatus = (struct zx_pmm_PMGetStatus_s*)el;
    return 1;
  case zx_pmm_PMGetStatusResponse_ELEM:
    if (!x->PMGetStatusResponse)
      x->PMGetStatusResponse = (struct zx_pmm_PMGetStatusResponse_s*)el;
    return 1;
  case zx_pmm_PMSetStatus_ELEM:
    if (!x->PMSetStatus)
      x->PMSetStatus = (struct zx_pmm_PMSetStatus_s*)el;
    return 1;
  case zx_pmm_PMSetStatusResponse_ELEM:
    if (!x->PMSetStatusResponse)
      x->PMSetStatusResponse = (struct zx_pmm_PMSetStatusResponse_s*)el;
    return 1;
  case zx_prov_PMERegister_ELEM:
    if (!x->PMERegister)
      x->PMERegister = (struct zx_prov_PMERegister_s*)el;
    return 1;
  case zx_prov_PMERegisterResponse_ELEM:
    if (!x->PMERegisterResponse)
      x->PMERegisterResponse = (struct zx_prov_PMERegisterResponse_s*)el;
    return 1;
  case zx_prov_PMEUpload_ELEM:
    if (!x->PMEUpload)
      x->PMEUpload = (struct zx_prov_PMEUpload_s*)el;
    return 1;
  case zx_prov_PMEUploadResponse_ELEM:
    if (!x->PMEUploadResponse)
      x->PMEUploadResponse = (struct zx_prov_PMEUploadResponse_s*)el;
    return 1;
  case zx_prov_PMEDownload_ELEM:
    if (!x->PMEDownload)
      x->PMEDownload = (struct zx_prov_PMEDownload_s*)el;
    return 1;
  case zx_prov_PMEDownloadResponse_ELEM:
    if (!x->PMEDownloadResponse)
      x->PMEDownloadResponse = (struct zx_prov_PMEDownloadResponse_s*)el;
    return 1;
  case zx_prov_PMEEnable_ELEM:
    if (!x->PMEEnable)
      x->PMEEnable = (struct zx_prov_PMEEnable_s*)el;
    return 1;
  case zx_prov_PMEEnableResponse_ELEM:
    if (!x->PMEEnableResponse)
      x->PMEEnableResponse = (struct zx_prov_PMEEnableResponse_s*)el;
    return 1;
  case zx_prov_PMEDisable_ELEM:
    if (!x->PMEDisable)
      x->PMEDisable = (struct zx_prov_PMEDisable_s*)el;
    return 1;
  case zx_prov_PMEDisableResponse_ELEM:
    if (!x->PMEDisableResponse)
      x->PMEDisableResponse = (struct zx_prov_PMEDisableResponse_s*)el;
    return 1;
  case zx_prov_PMEDelete_ELEM:
    if (!x->PMEDelete)
      x->PMEDelete = (struct zx_prov_PMEDelete_s*)el;
    return 1;
  case zx_prov_PMEDeleteResponse_ELEM:
    if (!x->PMEDeleteResponse)
      x->PMEDeleteResponse = (struct zx_prov_PMEDeleteResponse_s*)el;
    return 1;
  case zx_prov_PMEGetInfo_ELEM:
    if (!x->PMEGetInfo)
      x->PMEGetInfo = (struct zx_prov_PMEGetInfo_s*)el;
    return 1;
  case zx_prov_PMEGetInfoResponse_ELEM:
    if (!x->PMEGetInfoResponse)
      x->PMEGetInfoResponse = (struct zx_prov_PMEGetInfoResponse_s*)el;
    return 1;
  case zx_prov_PMGetStatus_ELEM:
    if (!x->prov_PMGetStatus)
      x->prov_PMGetStatus = (struct zx_prov_PMGetStatus_s*)el;
    return 1;
  case zx_prov_PMGetStatusResponse_ELEM:
    if (!x->prov_PMGetStatusResponse)
      x->prov_PMGetStatusResponse = (struct zx_prov_PMGetStatusResponse_s*)el;
    return 1;
  case zx_prov_PMSetStatus_ELEM:
    if (!x->prov_PMSetStatus)
      x->prov_PMSetStatus = (struct zx_prov_PMSetStatus_s*)el;
    return 1;
  case zx_prov_PMSetStatusResponse_ELEM:
    if (!x->prov_PMSetStatusResponse)
      x->prov_PMSetStatusResponse = (struct zx_prov_PMSetStatusResponse_s*)el;
    return 1;
  case zx_prov_PMGetDescriptor_ELEM:
    if (!x->PMGetDescriptor)
      x->PMGetDescriptor = (struct zx_prov_PMGetDescriptor_s*)el;
    return 1;
  case zx_prov_PMGetDescriptorResponse_ELEM:
    if (!x->PMGetDescriptorResponse)
      x->PMGetDescriptorResponse = (struct zx_prov_PMGetDescriptorResponse_s*)el;
    return 1;
  case zx_prov_PMActivate_ELEM:
    if (!x->prov_PMActivate)
      x->prov_PMActivate = (struct zx_prov_PMActivate_s*)el;
    return 1;
  case zx_prov_PMActivateResponse_ELEM:
    if (!x->prov_PMActivateResponse)
      x->prov_PMActivateResponse = (struct zx_prov_PMActivateResponse_s*)el;
    return 1;
  case zx_prov_PMDeactivate_ELEM:
    if (!x->prov_PMDeactivate)
      x->prov_PMDeactivate = (struct zx_prov_PMDeactivate_s*)el;
    return 1;
  case zx_prov_PMDeactivateResponse_ELEM:
    if (!x->prov_PMDeactivateResponse)
      x->prov_PMDeactivateResponse = (struct zx_prov_PMDeactivateResponse_s*)el;
    return 1;
  case zx_prov_PMRegisterDescriptor_ELEM:
    if (!x->PMRegisterDescriptor)
      x->PMRegisterDescriptor = (struct zx_prov_PMRegisterDescriptor_s*)el;
    return 1;
  case zx_prov_PMRegisterDescriptorResponse_ELEM:
    if (!x->PMRegisterDescriptorResponse)
      x->PMRegisterDescriptorResponse = (struct zx_prov_PMRegisterDescriptorResponse_s*)el;
    return 1;
  case zx_prov_PMUpdate_ELEM:
    if (!x->prov_PMUpdate)
      x->prov_PMUpdate = (struct zx_prov_PMUpdate_s*)el;
    return 1;
  case zx_prov_PMUpdateResponse_ELEM:
    if (!x->prov_PMUpdateResponse)
      x->prov_PMUpdateResponse = (struct zx_prov_PMUpdateResponse_s*)el;
    return 1;
  case zx_prov_PMDelete_ELEM:
    if (!x->prov_PMDelete)
      x->prov_PMDelete = (struct zx_prov_PMDelete_s*)el;
    return 1;
  case zx_prov_PMDeleteResponse_ELEM:
    if (!x->prov_PMDeleteResponse)
      x->prov_PMDeleteResponse = (struct zx_prov_PMDeleteResponse_s*)el;
    return 1;
  case zx_prov_Poll_ELEM:
    if (!x->Poll)
      x->Poll = (struct zx_prov_Poll_s*)el;
    return 1;
  case zx_prov_PollResponse_ELEM:
    if (!x->PollResponse)
      x->PollResponse = (struct zx_prov_PollResponse_s*)el;
    return 1;
  case zx_prov_UpdateEPR_ELEM:
    if (!x->UpdateEPR)
      x->UpdateEPR = (struct zx_prov_UpdateEPR_s*)el;
    return 1;
  case zx_prov_UpdateEPRResponse_ELEM:
    if (!x->UpdateEPRResponse)
      x->UpdateEPRResponse = (struct zx_prov_UpdateEPRResponse_s*)el;
    return 1;
  case zx_idp_GetAssertion_ELEM:
    if (!x->GetAssertion)
      x->GetAssertion = (struct zx_idp_GetAssertion_s*)el;
    return 1;
  case zx_idp_GetAssertionResponse_ELEM:
    if (!x->GetAssertionResponse)
      x->GetAssertionResponse = (struct zx_idp_GetAssertionResponse_s*)el;
    return 1;
  case zx_idp_GetProviderInfo_ELEM:
    if (!x->GetProviderInfo)
      x->GetProviderInfo = (struct zx_idp_GetProviderInfo_s*)el;
    return 1;
  case zx_idp_GetProviderInfoResponse_ELEM:
    if (!x->GetProviderInfoResponse)
      x->GetProviderInfoResponse = (struct zx_idp_GetProviderInfoResponse_s*)el;
    return 1;
  case zx_idp_CreatedStatus_ELEM:
    if (!x->CreatedStatus)
      x->CreatedStatus = (struct zx_idp_CreatedStatus_s*)el;
    return 1;
  case zx_idp_CreatedStatusResponse_ELEM:
    if (!x->CreatedStatusResponse)
      x->CreatedStatusResponse = (struct zx_idp_CreatedStatusResponse_s*)el;
    return 1;
  case zx_shps_Delete_ELEM:
    if (!x->shps_Delete)
      x->shps_Delete = (struct zx_shps_Delete_s*)el;
    return 1;
  case zx_shps_DeleteResponse_ELEM:
    if (!x->shps_DeleteResponse)
      x->shps_DeleteResponse = (struct zx_shps_DeleteResponse_s*)el;
    return 1;
  case zx_shps_GetStatus_ELEM:
    if (!x->GetStatus)
      x->GetStatus = (struct zx_shps_GetStatus_s*)el;
    return 1;
  case zx_shps_GetStatusResponse_ELEM:
    if (!x->GetStatusResponse)
      x->GetStatusResponse = (struct zx_shps_GetStatusResponse_s*)el;
    return 1;
  case zx_shps_Query_ELEM:
    if (!x->shps_Query)
      x->shps_Query = (struct zx_shps_Query_s*)el;
    return 1;
  case zx_shps_QueryResponse_ELEM:
    if (!x->shps_QueryResponse)
      x->shps_QueryResponse = (struct zx_shps_QueryResponse_s*)el;
    return 1;
  case zx_shps_Invoke_ELEM:
    if (!x->Invoke)
      x->Invoke = el;
    return 1;
  case zx_shps_InvokeResponse_ELEM:
    if (!x->InvokeResponse)
      x->InvokeResponse = (struct zx_shps_InvokeResponse_s*)el;
    return 1;
  case zx_shps_QueryRegistered_ELEM:
    if (!x->QueryRegistered)
      x->QueryRegistered = (struct zx_shps_QueryRegistered_s*)el;
    return 1;
  case zx_shps_QueryRegisteredResponse_ELEM:
    if (!x->QueryRegisteredResponse)
      x->QueryRegisteredResponse = (struct zx_shps_QueryRegisteredResponse_s*)el;
    return 1;
  case zx_shps_Register_ELEM:
    if (!x->Register)
      x->Register = (struct zx_shps_Register_s*)el;
    return 1;
  case zx_shps_RegisterResponse_ELEM:
    if (!x->RegisterResponse)
      x->RegisterResponse = (struct zx_shps_RegisterResponse_s*)el;
    return 1;
  case zx_shps_SetStatus_ELEM:
    if (!x->SetStatus)
      x->SetStatus = (struct zx_shps_SetStatus_s*)el;
    return 1;
  case zx_shps_SetStatusResponse_ELEM:
    if (!x->SetStatusResponse)
      x->SetStatusResponse = (struct zx_shps_SetStatusResponse_s*)el;
    return 1;
  case zx_shps_Update_ELEM:
    if (!x->Update)
      x->Update = (struct zx_shps_Update_s*)el;
    return 1;
  case zx_shps_UpdateResponse_ELEM:
    if (!x->UpdateResponse)
      x->UpdateResponse = (struct zx_shps_UpdateResponse_s*)el;
    return 1;
  case zx_shps_Poll_ELEM:
    if (!x->shps_Poll)
      x->shps_Poll = (struct zx_shps_Poll_s*)el;
    return 1;
  case zx_shps_PollResponse_ELEM:
    if (!x->shps_PollResponse)
      x->shps_PollResponse = (struct zx_shps_PollResponse_s*)el;
    return 1;
  case zx_shps_ProxyInvoke_ELEM:
    if (!x->ProxyInvoke)
      x->ProxyInvoke = (struct zx_shps_ProxyInvoke_s*)el;
    return 1;
  case zx_shps_ProxyInvokeResponse_ELEM:
    if (!x->ProxyInvokeResponse)
      x->ProxyInvokeResponse = (struct zx_shps_ProxyInvokeResponse_s*)el;
    return 1;
  case zx_idhrxml_Create_ELEM:
    if (!x->idhrxml_Create)
      x->idhrxml_Create = (struct zx_idhrxml_Create_s*)el;
    return 1;
  case zx_idhrxml_CreateResponse_ELEM:
    if (!x->idhrxml_CreateResponse)
      x->idhrxml_CreateResponse = (struct zx_idhrxml_CreateResponse_s*)el;
    return 1;
  case zx_idhrxml_Query_ELEM:
    if (!x->idhrxml_Query)
      x->idhrxml_Query = (struct zx_idhrxml_Query_s*)el;
    return 1;
  case zx_idhrxml_QueryResponse_ELEM:
    if (!x->idhrxml_QueryResponse)
      x->idhrxml_QueryResponse = (struct zx_idhrxml_QueryResponse_s*)el;
    return 1;
  case zx_idhrxml_Modify_ELEM:
    if (!x->idhrxml_Modify)
      x->idhrxml_Modify = (struct zx_idhrxml_Modify_s*)el;
    return 1;
  case zx_idhrxml_ModifyResponse_ELEM:
    if (!x->idhrxml_ModifyResponse)
      x->idhrxml_ModifyResponse = (struct zx_idhrxml_ModifyResponse_s*)el;
    return 1;
  case zx_idhrxml_Delete_ELEM:
    if (!x->idhrxml_Delete)
      x->idhrxml_Delete = (struct zx_idhrxml_Delete_s*)el;
    return 1;
  case zx_idhrxml_DeleteResponse_ELEM:
    if (!x->idhrxml_DeleteResponse)
      x->idhrxml_DeleteResponse = (struct zx_idhrxml_DeleteResponse_s*)el;
    return 1;
  case zx_idhrxml_Notify_ELEM:
    if (!x->idhrxml_Notify)
      x->idhrxml_Notify = (struct zx_idhrxml_Notify_s*)el;
    return 1;
  case zx_idhrxml_NotifyResponse_ELEM:
    if (!x->idhrxml_NotifyResponse)
      x->idhrxml_NotifyResponse = (struct zx_idhrxml_NotifyResponse_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_e_Envelope(struct zx_ctx* c, struct zx_e_Envelope_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_id_ATTR:  x->id = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_e_Envelope(struct zx_ctx* c, struct zx_e_Envelope_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_e_Header_ELEM:
    if (!x->Header)
      x->Header = (struct zx_e_Header_s*)el;
    return 1;
  case zx_e_Body_ELEM:
    if (!x->Body)
      x->Body = (struct zx_e_Body_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_e_Fault(struct zx_ctx* c, struct zx_e_Fault_s* x)
{
  switch (x->gg.attr->g.tok) {

  default: return 0;
  }
}

int zx_DEC_ELEM_e_Fault(struct zx_ctx* c, struct zx_e_Fault_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_e_faultcode_ELEM:
    if (!x->faultcode)
      x->faultcode = el;
    return 1;
  case zx_e_faultstring_ELEM:
    if (!x->faultstring)
      x->faultstring = el;
    return 1;
  case zx_e_faultactor_ELEM:
    if (!x->faultactor)
      x->faultactor = el;
    return 1;
  case zx_e_detail_ELEM:
    if (!x->detail)
      x->detail = (struct zx_e_detail_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_e_Header(struct zx_ctx* c, struct zx_e_Header_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_id_ATTR:  x->id = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_e_Header(struct zx_ctx* c, struct zx_e_Header_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_paos_Request_ELEM:
    if (!x->Request)
      x->Request = (struct zx_paos_Request_s*)el;
    return 1;
  case zx_paos_Response_ELEM:
    if (!x->Response)
      x->Response = (struct zx_paos_Response_s*)el;
    return 1;
  case zx_ecp_Request_ELEM:
    if (!x->ecp_Request)
      x->ecp_Request = (struct zx_ecp_Request_s*)el;
    return 1;
  case zx_ecp_Response_ELEM:
    if (!x->ecp_Response)
      x->ecp_Response = (struct zx_ecp_Response_s*)el;
    return 1;
  case zx_ecp_RelayState_ELEM:
    if (!x->RelayState)
      x->RelayState = (struct zx_ecp_RelayState_s*)el;
    return 1;
  case zx_sbf_Framework_ELEM:
    if (!x->Framework)
      x->Framework = (struct zx_sbf_Framework_s*)el;
    return 1;
  case zx_b_Sender_ELEM:
    if (!x->Sender)
      x->Sender = (struct zx_b_Sender_s*)el;
    return 1;
  case zx_a_MessageID_ELEM:
    if (!x->MessageID)
      x->MessageID = (struct zx_a_MessageID_s*)el;
    return 1;
  case zx_wsse_Security_ELEM:
    if (!x->Security)
      x->Security = (struct zx_wsse_Security_s*)el;
    return 1;
  case zx_tas3_Status_ELEM:
    if (!x->Status)
      x->Status = (struct zx_tas3_Status_s*)el;
    return 1;
  case zx_a_RelatesTo_ELEM:
    if (!x->RelatesTo)
      x->RelatesTo = (struct zx_a_RelatesTo_s*)el;
    return 1;
  case zx_a_ReplyTo_ELEM:
    if (!x->ReplyTo)
      x->ReplyTo = (struct zx_a_ReplyTo_s*)el;
    return 1;
  case zx_a_From_ELEM:
    if (!x->From)
      x->From = (struct zx_a_From_s*)el;
    return 1;
  case zx_a_FaultTo_ELEM:
    if (!x->FaultTo)
      x->FaultTo = (struct zx_a_FaultTo_s*)el;
    return 1;
  case zx_a_To_ELEM:
    if (!x->To)
      x->To = (struct zx_a_To_s*)el;
    return 1;
  case zx_a_Action_ELEM:
    if (!x->Action)
      x->Action = (struct zx_a_Action_s*)el;
    return 1;
  case zx_a_ReferenceParameters_ELEM:
    if (!x->ReferenceParameters)
      x->ReferenceParameters = (struct zx_a_ReferenceParameters_s*)el;
    return 1;
  case zx_b_Framework_ELEM:
    if (!x->b_Framework)
      x->b_Framework = (struct zx_b_Framework_s*)el;
    return 1;
  case zx_b_TargetIdentity_ELEM:
    if (!x->TargetIdentity)
      x->TargetIdentity = (struct zx_b_TargetIdentity_s*)el;
    return 1;
  case zx_b_CredentialsContext_ELEM:
    if (!x->CredentialsContext)
      x->CredentialsContext = (struct zx_b_CredentialsContext_s*)el;
    return 1;
  case zx_b_EndpointUpdate_ELEM:
    if (!x->EndpointUpdate)
      x->EndpointUpdate = (struct zx_b_EndpointUpdate_s*)el;
    return 1;
  case zx_b_Timeout_ELEM:
    if (!x->Timeout)
      x->Timeout = (struct zx_b_Timeout_s*)el;
    return 1;
  case zx_b_ProcessingContext_ELEM:
    if (!x->ProcessingContext)
      x->ProcessingContext = (struct zx_b_ProcessingContext_s*)el;
    return 1;
  case zx_b_Consent_ELEM:
    if (!x->Consent)
      x->Consent = (struct zx_b_Consent_s*)el;
    return 1;
  case zx_b_UsageDirective_ELEM:
    if (!x->UsageDirective)
      x->UsageDirective = (struct zx_b_UsageDirective_s*)el;
    return 1;
  case zx_b_ApplicationEPR_ELEM:
    if (!x->ApplicationEPR)
      x->ApplicationEPR = (struct zx_b_ApplicationEPR_s*)el;
    return 1;
  case zx_b_UserInteraction_ELEM:
    if (!x->UserInteraction)
      x->UserInteraction = (struct zx_b_UserInteraction_s*)el;
    return 1;
  case zx_b_RedirectRequest_ELEM:
    if (!x->RedirectRequest)
      x->RedirectRequest = (struct zx_b_RedirectRequest_s*)el;
    return 1;
  case zx_b12_Correlation_ELEM:
    if (!x->Correlation)
      x->Correlation = (struct zx_b12_Correlation_s*)el;
    return 1;
  case zx_b12_Provider_ELEM:
    if (!x->Provider)
      x->Provider = (struct zx_b12_Provider_s*)el;
    return 1;
  case zx_b12_ProcessingContext_ELEM:
    if (!x->b12_ProcessingContext)
      x->b12_ProcessingContext = (struct zx_b12_ProcessingContext_s*)el;
    return 1;
  case zx_b12_Consent_ELEM:
    if (!x->b12_Consent)
      x->b12_Consent = (struct zx_b12_Consent_s*)el;
    return 1;
  case zx_b12_UsageDirective_ELEM:
    if (!x->b12_UsageDirective)
      x->b12_UsageDirective = (struct zx_b12_UsageDirective_s*)el;
    return 1;
  case zx_mm7_TransactionID_ELEM:
    if (!x->TransactionID)
      x->TransactionID = (struct zx_mm7_TransactionID_s*)el;
    return 1;
  case zx_tas3_Credentials_ELEM:
    if (!x->Credentials)
      x->Credentials = (struct zx_tas3_Credentials_s*)el;
    return 1;
  case zx_tas3_ESLPolicies_ELEM:
    if (!x->ESLPolicies)
      x->ESLPolicies = (struct zx_tas3_ESLPolicies_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_e_detail(struct zx_ctx* c, struct zx_e_detail_s* x)
{
  switch (x->gg.attr->g.tok) {

  default: return 0;
  }
}

int zx_DEC_ELEM_e_detail(struct zx_ctx* c, struct zx_e_detail_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_lu_Status_ELEM:
    if (!x->Status)
      x->Status = (struct zx_lu_Status_s*)el;
    return 1;

  default: return 0;
  }
}


/* EOF -- c/zx-e-dec.c */
