/* c/zx-hrxml-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-hrxml-data.h"
#define TPF zx_
#include "zx_ext_pt.h"



int zx_DEC_ATTR_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Date_ELEM:
    if (!x->Date)
      x->Date = el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_IssuingAuthority_ELEM:
    if (!x->IssuingAuthority)
      x->IssuingAuthority = (struct zx_hrxml_IssuingAuthority_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Achievement_ELEM:
    if (!x->Achievement)
      x->Achievement = (struct zx_hrxml_Achievement_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_script_ATTR:  x->script = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedName_ELEM:
    if (!x->FormattedName)
      x->FormattedName = el;
    return 1;
  case zx_hrxml_LegalName_ELEM:
    if (!x->LegalName)
      x->LegalName = el;
    return 1;
  case zx_hrxml_GivenName_ELEM:
    if (!x->GivenName)
      x->GivenName = el;
    return 1;
  case zx_hrxml_PreferredGivenName_ELEM:
    if (!x->PreferredGivenName)
      x->PreferredGivenName = el;
    return 1;
  case zx_hrxml_MiddleName_ELEM:
    if (!x->MiddleName)
      x->MiddleName = el;
    return 1;
  case zx_hrxml_FamilyName_ELEM:
    if (!x->FamilyName)
      x->FamilyName = (struct zx_hrxml_FamilyName_s*)el;
    return 1;
  case zx_hrxml_Affix_ELEM:
    if (!x->Affix)
      x->Affix = (struct zx_hrxml_Affix_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Value_ELEM:
    if (!x->Value)
      x->Value = el;
    return 1;
  case zx_hrxml_Area_ELEM:
    if (!x->Area)
      x->Area = (struct zx_hrxml_Area_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_PublicationDate_ELEM:
    if (!x->PublicationDate)
      x->PublicationDate = (struct zx_hrxml_PublicationDate_s*)el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_Abstract_ELEM:
    if (!x->Abstract)
      x->Abstract = el;
    return 1;
  case zx_hrxml_Copyright_ELEM:
    if (!x->Copyright)
      x->Copyright = (struct zx_hrxml_Copyright_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_JournalOrSerialName_ELEM:
    if (!x->JournalOrSerialName)
      x->JournalOrSerialName = el;
    return 1;
  case zx_hrxml_ISSN_ELEM:
    if (!x->ISSN)
      x->ISSN = el;
    return 1;
  case zx_hrxml_Volume_ELEM:
    if (!x->Volume)
      x->Volume = el;
    return 1;
  case zx_hrxml_Issue_ELEM:
    if (!x->Issue)
      x->Issue = el;
    return 1;
  case zx_hrxml_PageNumber_ELEM:
    if (!x->PageNumber)
      x->PageNumber = el;
    return 1;
  case zx_hrxml_PublicationLanguage_ELEM:
    if (!x->PublicationLanguage)
      x->PublicationLanguage = (struct zx_hrxml_PublicationLanguage_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;
  case zx_hrxml_Role_ELEM:
    if (!x->Role)
      x->Role = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Association_ELEM:
    if (!x->Association)
      x->Association = (struct zx_hrxml_Association_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_context_ATTR:  x->context = x->gg.attr; return 1;
    case zx_mimeType_ATTR:  x->mimeType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AvailabilityDates_ELEM:
    if (!x->AvailabilityDates)
      x->AvailabilityDates = (struct zx_hrxml_AvailabilityDates_s*)el;
    return 1;
  case zx_hrxml_TermOfNotice_ELEM:
    if (!x->TermOfNotice)
      x->TermOfNotice = (struct zx_hrxml_TermOfNotice_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_BKZId_ELEM:
    if (!x->BKZId)
      x->BKZId = (struct zx_hrxml_BKZId_s*)el;
    return 1;
  case zx_hrxml_BKZName_ELEM:
    if (!x->BKZName)
      x->BKZName = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_baseInterval_ATTR:  x->baseInterval = x->gg.attr; return 1;
    case zx_currencyCode_ATTR:  x->currencyCode = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_BasePayAmountMin_ELEM:
    if (!x->BasePayAmountMin)
      x->BasePayAmountMin = el;
    return 1;
  case zx_hrxml_BasePayAmountMax_ELEM:
    if (!x->BasePayAmountMax)
      x->BasePayAmountMax = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Insurance_ELEM:
    if (!x->Insurance)
      x->Insurance = (struct zx_hrxml_Insurance_s*)el;
    return 1;
  case zx_hrxml_RetirementOrSavingsPlan_ELEM:
    if (!x->RetirementOrSavingsPlan)
      x->RetirementOrSavingsPlan = el;
    return 1;
  case zx_hrxml_CompanyVehicle_ELEM:
    if (!x->CompanyVehicle)
      x->CompanyVehicle = (struct zx_hrxml_CompanyVehicle_s*)el;
    return 1;
  case zx_hrxml_RelocationAssistance_ELEM:
    if (!x->RelocationAssistance)
      x->RelocationAssistance = (struct zx_hrxml_RelocationAssistance_s*)el;
    return 1;
  case zx_hrxml_VisaSponsorship_ELEM:
    if (!x->VisaSponsorship)
      x->VisaSponsorship = el;
    return 1;
  case zx_hrxml_TimeOffAllowance_ELEM:
    if (!x->TimeOffAllowance)
      x->TimeOffAllowance = (struct zx_hrxml_TimeOffAllowance_s*)el;
    return 1;
  case zx_hrxml_ExpatriateBenefits_ELEM:
    if (!x->ExpatriateBenefits)
      x->ExpatriateBenefits = (struct zx_hrxml_ExpatriateBenefits_s*)el;
    return 1;
  case zx_hrxml_OtherBenefits_ELEM:
    if (!x->OtherBenefits)
      x->OtherBenefits = (struct zx_hrxml_OtherBenefits_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_DateOfBirth_ELEM:
    if (!x->DateOfBirth)
      x->DateOfBirth = el;
    return 1;
  case zx_hrxml_MonthDayOfBirth_ELEM:
    if (!x->MonthDayOfBirth)
      x->MonthDayOfBirth = el;
    return 1;
  case zx_hrxml_Age_ELEM:
    if (!x->Age)
      x->Age = el;
    return 1;
  case zx_hrxml_GenderCode_ELEM:
    if (!x->GenderCode)
      x->GenderCode = el;
    return 1;
  case zx_hrxml_EyeColor_ELEM:
    if (!x->EyeColor)
      x->EyeColor = el;
    return 1;
  case zx_hrxml_HairColor_ELEM:
    if (!x->HairColor)
      x->HairColor = el;
    return 1;
  case zx_hrxml_Height_ELEM:
    if (!x->Height)
      x->Height = (struct zx_hrxml_Height_s*)el;
    return 1;
  case zx_hrxml_Weight_ELEM:
    if (!x->Weight)
      x->Weight = (struct zx_hrxml_Weight_s*)el;
    return 1;
  case zx_hrxml_IdentifyingMarks_ELEM:
    if (!x->IdentifyingMarks)
      x->IdentifyingMarks = el;
    return 1;
  case zx_hrxml_DisabilityInfo_ELEM:
    if (!x->DisabilityInfo)
      x->DisabilityInfo = (struct zx_hrxml_DisabilityInfo_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_PublicationDate_ELEM:
    if (!x->PublicationDate)
      x->PublicationDate = (struct zx_hrxml_PublicationDate_s*)el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_Abstract_ELEM:
    if (!x->Abstract)
      x->Abstract = el;
    return 1;
  case zx_hrxml_Copyright_ELEM:
    if (!x->Copyright)
      x->Copyright = (struct zx_hrxml_Copyright_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_Edition_ELEM:
    if (!x->Edition)
      x->Edition = el;
    return 1;
  case zx_hrxml_Chapter_ELEM:
    if (!x->Chapter)
      x->Chapter = el;
    return 1;
  case zx_hrxml_ISSN_ELEM:
    if (!x->ISSN)
      x->ISSN = el;
    return 1;
  case zx_hrxml_ISBN_ELEM:
    if (!x->ISBN)
      x->ISBN = el;
    return 1;
  case zx_hrxml_NumberOfPages_ELEM:
    if (!x->NumberOfPages)
      x->NumberOfPages = el;
    return 1;
  case zx_hrxml_PublisherName_ELEM:
    if (!x->PublisherName)
      x->PublisherName = el;
    return 1;
  case zx_hrxml_PublisherLocation_ELEM:
    if (!x->PublisherLocation)
      x->PublisherLocation = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CandidateRecordInfo_ELEM:
    if (!x->CandidateRecordInfo)
      x->CandidateRecordInfo = (struct zx_hrxml_CandidateRecordInfo_s*)el;
    return 1;
  case zx_hrxml_RelatedPositionPostings_ELEM:
    if (!x->RelatedPositionPostings)
      x->RelatedPositionPostings = (struct zx_hrxml_RelatedPositionPostings_s*)el;
    return 1;
  case zx_hrxml_CandidateSupplier_ELEM:
    if (!x->CandidateSupplier)
      x->CandidateSupplier = (struct zx_hrxml_CandidateSupplier_s*)el;
    return 1;
  case zx_hrxml_DistributionGuidelines_ELEM:
    if (!x->DistributionGuidelines)
      x->DistributionGuidelines = el;
    return 1;
  case zx_hrxml_CandidateProfile_ELEM:
    if (!x->CandidateProfile)
      x->CandidateProfile = (struct zx_hrxml_CandidateProfile_s*)el;
    return 1;
  case zx_hrxml_Resume_ELEM:
    if (!x->Resume)
      x->Resume = (struct zx_hrxml_Resume_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ProfileId_ELEM:
    if (!x->ProfileId)
      x->ProfileId = (struct zx_hrxml_ProfileId_s*)el;
    return 1;
  case zx_hrxml_ProfileName_ELEM:
    if (!x->ProfileName)
      x->ProfileName = el;
    return 1;
  case zx_hrxml_AvailabilityInfo_ELEM:
    if (!x->AvailabilityInfo)
      x->AvailabilityInfo = (struct zx_hrxml_AvailabilityInfo_s*)el;
    return 1;
  case zx_hrxml_DistributionGuidelines_ELEM:
    if (!x->DistributionGuidelines)
      x->DistributionGuidelines = el;
    return 1;
  case zx_hrxml_PersonalData_ELEM:
    if (!x->PersonalData)
      x->PersonalData = (struct zx_hrxml_PersonalData_s*)el;
    return 1;
  case zx_hrxml_PreferredPosition_ELEM:
    if (!x->PreferredPosition)
      x->PreferredPosition = (struct zx_hrxml_PreferredPosition_s*)el;
    return 1;
  case zx_hrxml_EmploymentHistory_ELEM:
    if (!x->EmploymentHistory)
      x->EmploymentHistory = (struct zx_hrxml_EmploymentHistory_s*)el;
    return 1;
  case zx_hrxml_EducationHistory_ELEM:
    if (!x->EducationHistory)
      x->EducationHistory = (struct zx_hrxml_EducationHistory_s*)el;
    return 1;
  case zx_hrxml_MilitaryHistory_ELEM:
    if (!x->MilitaryHistory)
      x->MilitaryHistory = (struct zx_hrxml_MilitaryHistory_s*)el;
    return 1;
  case zx_hrxml_Associations_ELEM:
    if (!x->Associations)
      x->Associations = (struct zx_hrxml_Associations_s*)el;
    return 1;
  case zx_hrxml_SupportingMaterials_ELEM:
    if (!x->SupportingMaterials)
      x->SupportingMaterials = (struct zx_hrxml_SupportingMaterials_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Status_ELEM:
    if (!x->Status)
      x->Status = (struct zx_hrxml_Status_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_relationship_ATTR:  x->relationship = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SupplierId_ELEM:
    if (!x->SupplierId)
      x->SupplierId = (struct zx_hrxml_SupplierId_s*)el;
    return 1;
  case zx_hrxml_EntityName_ELEM:
    if (!x->EntityName)
      x->EntityName = el;
    return 1;
  case zx_hrxml_ContactName_ELEM:
    if (!x->ContactName)
      x->ContactName = (struct zx_hrxml_ContactName_s*)el;
    return 1;
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;
  case zx_hrxml_SourceType_ELEM:
    if (!x->SourceType)
      x->SourceType = (struct zx_hrxml_SourceType_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_NumberOfChildren_ELEM:
    if (!x->NumberOfChildren)
      x->NumberOfChildren = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_numberOfStudents_ATTR:  x->numberOfStudents = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_TimeMax_ELEM:
    if (!x->TimeMax)
      x->TimeMax = (struct zx_hrxml_TimeMax_s*)el;
    return 1;
  case zx_hrxml_DistanceMax_ELEM:
    if (!x->DistanceMax)
      x->DistanceMax = (struct zx_hrxml_DistanceMax_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_companyOffered_ATTR:  x->companyOffered = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StartingCompensation_ELEM:
    if (!x->StartingCompensation)
      x->StartingCompensation = (struct zx_hrxml_StartingCompensation_s*)el;
    return 1;
  case zx_hrxml_EndingCompensation_ELEM:
    if (!x->EndingCompensation)
      x->EndingCompensation = (struct zx_hrxml_EndingCompensation_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_OtherCompensation_ELEM:
    if (!x->OtherCompensation)
      x->OtherCompensation = (struct zx_hrxml_OtherCompensation_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;
    case zx_name_ATTR:  x->name = x->gg.attr; return 1;
    case zx_required_ATTR:  x->required = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CompetencyId_ELEM:
    if (!x->CompetencyId)
      x->CompetencyId = (struct zx_hrxml_CompetencyId_s*)el;
    return 1;
  case zx_hrxml_TaxonomyId_ELEM:
    if (!x->TaxonomyId)
      x->TaxonomyId = (struct zx_hrxml_TaxonomyId_s*)el;
    return 1;
  case zx_hrxml_CompetencyEvidence_ELEM:
    if (!x->CompetencyEvidence)
      x->CompetencyEvidence = (struct zx_hrxml_CompetencyEvidence_s*)el;
    return 1;
  case zx_hrxml_CompetencyWeight_ELEM:
    if (!x->CompetencyWeight)
      x->CompetencyWeight = (struct zx_hrxml_CompetencyWeight_s*)el;
    return 1;
  case zx_hrxml_Competency_ELEM:
    if (!x->Competency)
      x->Competency = (struct zx_hrxml_Competency_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateOfIncident_ATTR:  x->dateOfIncident = x->gg.attr; return 1;
    case zx_expirationDate_ATTR:  x->expirationDate = x->gg.attr; return 1;
    case zx_lastUsed_ATTR:  x->lastUsed = x->gg.attr; return 1;
    case zx_name_ATTR:  x->name = x->gg.attr; return 1;
    case zx_required_ATTR:  x->required = x->gg.attr; return 1;
    case zx_typeDescription_ATTR:  x->typeDescription = x->gg.attr; return 1;
    case zx_typeId_ATTR:  x->typeId = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_EvidenceId_ELEM:
    if (!x->EvidenceId)
      x->EvidenceId = (struct zx_hrxml_EvidenceId_s*)el;
    return 1;
  case zx_hrxml_NumericValue_ELEM:
    if (!x->NumericValue)
      x->NumericValue = (struct zx_hrxml_NumericValue_s*)el;
    return 1;
  case zx_hrxml_StringValue_ELEM:
    if (!x->StringValue)
      x->StringValue = (struct zx_hrxml_StringValue_s*)el;
    return 1;
  case zx_hrxml_SupportingInformation_ELEM:
    if (!x->SupportingInformation)
      x->SupportingInformation = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_NumericValue_ELEM:
    if (!x->NumericValue)
      x->NumericValue = (struct zx_hrxml_NumericValue_s*)el;
    return 1;
  case zx_hrxml_StringValue_ELEM:
    if (!x->StringValue)
      x->StringValue = (struct zx_hrxml_StringValue_s*)el;
    return 1;
  case zx_hrxml_SupportingInformation_ELEM:
    if (!x->SupportingInformation)
      x->SupportingInformation = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_PublicationDate_ELEM:
    if (!x->PublicationDate)
      x->PublicationDate = (struct zx_hrxml_PublicationDate_s*)el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_Abstract_ELEM:
    if (!x->Abstract)
      x->Abstract = el;
    return 1;
  case zx_hrxml_Copyright_ELEM:
    if (!x->Copyright)
      x->Copyright = (struct zx_hrxml_Copyright_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_EventName_ELEM:
    if (!x->EventName)
      x->EventName = el;
    return 1;
  case zx_hrxml_ConferenceDate_ELEM:
    if (!x->ConferenceDate)
      x->ConferenceDate = (struct zx_hrxml_ConferenceDate_s*)el;
    return 1;
  case zx_hrxml_ConferenceLocation_ELEM:
    if (!x->ConferenceLocation)
      x->ConferenceLocation = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_General_ELEM:
    if (!x->General)
      x->General = el;
    return 1;
  case zx_hrxml_Physical_ELEM:
    if (!x->Physical)
      x->Physical = el;
    return 1;
  case zx_hrxml_SafetyEquipment_ELEM:
    if (!x->SafetyEquipment)
      x->SafetyEquipment = (struct zx_hrxml_SafetyEquipment_s*)el;
    return 1;
  case zx_hrxml_DressCode_ELEM:
    if (!x->DressCode)
      x->DressCode = (struct zx_hrxml_DressCode_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonName_ELEM:
    if (!x->PersonName)
      x->PersonName = (struct zx_hrxml_PersonName_s*)el;
    return 1;
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Use_ELEM:
    if (!x->Use)
      x->Use = el;
    return 1;
  case zx_hrxml_Location_ELEM:
    if (!x->Location)
      x->Location = el;
    return 1;
  case zx_hrxml_WhenAvailable_ELEM:
    if (!x->WhenAvailable)
      x->WhenAvailable = el;
    return 1;
  case zx_hrxml_Telephone_ELEM:
    if (!x->Telephone)
      x->Telephone = (struct zx_hrxml_Telephone_s*)el;
    return 1;
  case zx_hrxml_Mobile_ELEM:
    if (!x->Mobile)
      x->Mobile = (struct zx_hrxml_Mobile_s*)el;
    return 1;
  case zx_hrxml_Fax_ELEM:
    if (!x->Fax)
      x->Fax = (struct zx_hrxml_Fax_s*)el;
    return 1;
  case zx_hrxml_Pager_ELEM:
    if (!x->Pager)
      x->Pager = (struct zx_hrxml_Pager_s*)el;
    return 1;
  case zx_hrxml_TTYTDD_ELEM:
    if (!x->TTYTDD)
      x->TTYTDD = (struct zx_hrxml_TTYTDD_s*)el;
    return 1;
  case zx_hrxml_InternetEmailAddress_ELEM:
    if (!x->InternetEmailAddress)
      x->InternetEmailAddress = el;
    return 1;
  case zx_hrxml_InternetWebAddress_ELEM:
    if (!x->InternetWebAddress)
      x->InternetWebAddress = el;
    return 1;
  case zx_hrxml_PostalAddress_ELEM:
    if (!x->PostalAddress)
      x->PostalAddress = (struct zx_hrxml_PostalAddress_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_script_ATTR:  x->script = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedName_ELEM:
    if (!x->FormattedName)
      x->FormattedName = el;
    return 1;
  case zx_hrxml_LegalName_ELEM:
    if (!x->LegalName)
      x->LegalName = el;
    return 1;
  case zx_hrxml_GivenName_ELEM:
    if (!x->GivenName)
      x->GivenName = el;
    return 1;
  case zx_hrxml_PreferredGivenName_ELEM:
    if (!x->PreferredGivenName)
      x->PreferredGivenName = el;
    return 1;
  case zx_hrxml_MiddleName_ELEM:
    if (!x->MiddleName)
      x->MiddleName = el;
    return 1;
  case zx_hrxml_FamilyName_ELEM:
    if (!x->FamilyName)
      x->FamilyName = (struct zx_hrxml_FamilyName_s*)el;
    return 1;
  case zx_hrxml_Affix_ELEM:
    if (!x->Affix)
      x->Affix = (struct zx_hrxml_Affix_s*)el;
    return 1;
  case zx_hrxml_AlternateScript_ELEM:
    if (!x->AlternateScript)
      x->AlternateScript = (struct zx_hrxml_AlternateScript_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CopyrightDates_ELEM:
    if (!x->CopyrightDates)
      x->CopyrightDates = (struct zx_hrxml_CopyrightDates_s*)el;
    return 1;
  case zx_hrxml_CopyrightText_ELEM:
    if (!x->CopyrightText)
      x->CopyrightText = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_OriginalDate_ELEM:
    if (!x->OriginalDate)
      x->OriginalDate = (struct zx_hrxml_OriginalDate_s*)el;
    return 1;
  case zx_hrxml_MostRecentDate_ELEM:
    if (!x->MostRecentDate)
      x->MostRecentDate = (struct zx_hrxml_MostRecentDate_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_currentlyEnrolled_ATTR:  x->currentlyEnrolled = x->gg.attr; return 1;
    case zx_enrollmentStatus_ATTR:  x->enrollmentStatus = x->gg.attr; return 1;
    case zx_studentInGoodStanding_ATTR:  x->studentInGoodStanding = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_degreeType_ATTR:  x->degreeType = x->gg.attr; return 1;
    case zx_examPassed_ATTR:  x->examPassed = x->gg.attr; return 1;
    case zx_graduatingDegree_ATTR:  x->graduatingDegree = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_DegreeName_ELEM:
    if (!x->DegreeName)
      x->DegreeName = (struct zx_hrxml_DegreeName_s*)el;
    return 1;
  case zx_hrxml_DegreeDate_ELEM:
    if (!x->DegreeDate)
      x->DegreeDate = (struct zx_hrxml_DegreeDate_s*)el;
    return 1;
  case zx_hrxml_OtherHonors_ELEM:
    if (!x->OtherHonors)
      x->OtherHonors = (struct zx_hrxml_OtherHonors_s*)el;
    return 1;
  case zx_hrxml_DegreeMajor_ELEM:
    if (!x->DegreeMajor)
      x->DegreeMajor = (struct zx_hrxml_DegreeMajor_s*)el;
    return 1;
  case zx_hrxml_DegreeMinor_ELEM:
    if (!x->DegreeMinor)
      x->DegreeMinor = (struct zx_hrxml_DegreeMinor_s*)el;
    return 1;
  case zx_hrxml_DegreeMeasure_ELEM:
    if (!x->DegreeMeasure)
      x->DegreeMeasure = (struct zx_hrxml_DegreeMeasure_s*)el;
    return 1;
  case zx_hrxml_DatesOfAttendance_ELEM:
    if (!x->DatesOfAttendance)
      x->DatesOfAttendance = (struct zx_hrxml_DatesOfAttendance_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_DegreeClassification_ELEM:
    if (!x->DegreeClassification)
      x->DegreeClassification = (struct zx_hrxml_DegreeClassification_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ProgramId_ELEM:
    if (!x->ProgramId)
      x->ProgramId = (struct zx_hrxml_ProgramId_s*)el;
    return 1;
  case zx_hrxml_DegreeConcentration_ELEM:
    if (!x->DegreeConcentration)
      x->DegreeConcentration = el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_Option_ELEM:
    if (!x->Option)
      x->Option = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_measureType_ATTR:  x->measureType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_EducationalMeasure_ELEM:
    if (!x->EducationalMeasure)
      x->EducationalMeasure = (struct zx_hrxml_EducationalMeasure_s*)el;
    return 1;
  case zx_hrxml_AcademicCreditCode_ELEM:
    if (!x->AcademicCreditCode)
      x->AcademicCreditCode = el;
    return 1;
  case zx_hrxml_CourseLevelCode_ELEM:
    if (!x->CourseLevelCode)
      x->CourseLevelCode = el;
    return 1;
  case zx_hrxml_CumulativeSummaryIndicator_ELEM:
    if (!x->CumulativeSummaryIndicator)
      x->CumulativeSummaryIndicator = el;
    return 1;
  case zx_hrxml_AcademicCreditHoursIncluded_ELEM:
    if (!x->AcademicCreditHoursIncluded)
      x->AcademicCreditHoursIncluded = el;
    return 1;
  case zx_hrxml_AcademicCreditHoursAttempted_ELEM:
    if (!x->AcademicCreditHoursAttempted)
      x->AcademicCreditHoursAttempted = el;
    return 1;
  case zx_hrxml_AcademicCreditHoursEarned_ELEM:
    if (!x->AcademicCreditHoursEarned)
      x->AcademicCreditHoursEarned = el;
    return 1;
  case zx_hrxml_ClassRank_ELEM:
    if (!x->ClassRank)
      x->ClassRank = (struct zx_hrxml_ClassRank_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ProgramId_ELEM:
    if (!x->ProgramId)
      x->ProgramId = (struct zx_hrxml_ProgramId_s*)el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_academicHonors_ATTR:  x->academicHonors = x->gg.attr; return 1;
    case zx_honorsProgram_ATTR:  x->honorsProgram = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AddressLine_ELEM:
    if (!x->AddressLine)
      x->AddressLine = el;
    return 1;
  case zx_hrxml_StreetName_ELEM:
    if (!x->StreetName)
      x->StreetName = el;
    return 1;
  case zx_hrxml_BuildingNumber_ELEM:
    if (!x->BuildingNumber)
      x->BuildingNumber = el;
    return 1;
  case zx_hrxml_Unit_ELEM:
    if (!x->Unit)
      x->Unit = el;
    return 1;
  case zx_hrxml_PostOfficeBox_ELEM:
    if (!x->PostOfficeBox)
      x->PostOfficeBox = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Race_ELEM:
    if (!x->Race)
      x->Race = el;
    return 1;
  case zx_hrxml_Ethnicity_ELEM:
    if (!x->Ethnicity)
      x->Ethnicity = el;
    return 1;
  case zx_hrxml_Nationality_ELEM:
    if (!x->Nationality)
      x->Nationality = el;
    return 1;
  case zx_hrxml_PrimaryLanguage_ELEM:
    if (!x->PrimaryLanguage)
      x->PrimaryLanguage = (struct zx_hrxml_PrimaryLanguage_s*)el;
    return 1;
  case zx_hrxml_BirthPlace_ELEM:
    if (!x->BirthPlace)
      x->BirthPlace = el;
    return 1;
  case zx_hrxml_Religion_ELEM:
    if (!x->Religion)
      x->Religion = el;
    return 1;
  case zx_hrxml_MaritalStatus_ELEM:
    if (!x->MaritalStatus)
      x->MaritalStatus = el;
    return 1;
  case zx_hrxml_ChildrenInfo_ELEM:
    if (!x->ChildrenInfo)
      x->ChildrenInfo = (struct zx_hrxml_ChildrenInfo_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_LevelOfDisability_ELEM:
    if (!x->LevelOfDisability)
      x->LevelOfDisability = el;
    return 1;
  case zx_hrxml_Percentage_ELEM:
    if (!x->Percentage)
      x->Percentage = el;
    return 1;
  case zx_hrxml_Type_ELEM:
    if (!x->Type)
      x->Type = el;
    return 1;
  case zx_hrxml_AccommodationsNeeded_ELEM:
    if (!x->AccommodationsNeeded)
      x->AccommodationsNeeded = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_unitOfMeasure_ATTR:  x->unitOfMeasure = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_suppliedByOrganization_ATTR:  x->suppliedByOrganization = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dunsNumberType_ATTR:  x->dunsNumberType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StandardValue_ELEM:
    if (!x->StandardValue)
      x->StandardValue = el;
    return 1;
  case zx_hrxml_NonStandardValue_ELEM:
    if (!x->NonStandardValue)
      x->NonStandardValue = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SchoolOrInstitution_ELEM:
    if (!x->SchoolOrInstitution)
      x->SchoolOrInstitution = (struct zx_hrxml_SchoolOrInstitution_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_MeasureSystem_ELEM:
    if (!x->MeasureSystem)
      x->MeasureSystem = el;
    return 1;
  case zx_hrxml_MeasureValue_ELEM:
    if (!x->MeasureValue)
      x->MeasureValue = el;
    return 1;
  case zx_hrxml_LowestPossibleValue_ELEM:
    if (!x->LowestPossibleValue)
      x->LowestPossibleValue = (struct zx_hrxml_LowestPossibleValue_s*)el;
    return 1;
  case zx_hrxml_HighestPossibleValue_ELEM:
    if (!x->HighestPossibleValue)
      x->HighestPossibleValue = (struct zx_hrxml_HighestPossibleValue_s*)el;
    return 1;
  case zx_hrxml_ExcessiveValueIndicator_ELEM:
    if (!x->ExcessiveValueIndicator)
      x->ExcessiveValueIndicator = el;
    return 1;
  case zx_hrxml_GoodStudentIndicator_ELEM:
    if (!x->GoodStudentIndicator)
      x->GoodStudentIndicator = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_contactType_ATTR:  x->contactType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonName_ELEM:
    if (!x->PersonName)
      x->PersonName = (struct zx_hrxml_PersonName_s*)el;
    return 1;
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;
  case zx_hrxml_LocationSummary_ELEM:
    if (!x->LocationSummary)
      x->LocationSummary = (struct zx_hrxml_LocationSummary_s*)el;
    return 1;
  case zx_hrxml_InternetDomainName_ELEM:
    if (!x->InternetDomainName)
      x->InternetDomainName = (struct zx_hrxml_InternetDomainName_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_employerOrgType_ATTR:  x->employerOrgType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_EmployerOrgName_ELEM:
    if (!x->EmployerOrgName)
      x->EmployerOrgName = el;
    return 1;
  case zx_hrxml_EmployerContactInfo_ELEM:
    if (!x->EmployerContactInfo)
      x->EmployerContactInfo = (struct zx_hrxml_EmployerContactInfo_s*)el;
    return 1;
  case zx_hrxml_PositionHistory_ELEM:
    if (!x->PositionHistory)
      x->PositionHistory = (struct zx_hrxml_PositionHistory_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_EmployerOrg_ELEM:
    if (!x->EmployerOrg)
      x->EmployerOrg = (struct zx_hrxml_EmployerOrg_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_currency_ATTR:  x->currency = x->gg.attr; return 1;
    case zx_intervalType_ATTR:  x->intervalType = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;
    case zx_id_ATTR:  x->id = x->gg.attr; return 1;
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ExpatriateBenefitsOffered_ELEM:
    if (!x->ExpatriateBenefitsOffered)
      x->ExpatriateBenefitsOffered = el;
    return 1;
  case zx_hrxml_ExpatriateBenefitList_ELEM:
    if (!x->ExpatriateBenefitList)
      x->ExpatriateBenefitList = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_prefix_ATTR:  x->prefix = x->gg.attr; return 1;
    case zx_primary_ATTR:  x->primary = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedNumber_ELEM:
    if (!x->FormattedNumber)
      x->FormattedNumber = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_unitOfMeasure_ATTR:  x->unitOfMeasure = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_NumericValue_ELEM:
    if (!x->NumericValue)
      x->NumericValue = (struct zx_hrxml_NumericValue_s*)el;
    return 1;
  case zx_hrxml_StringValue_ELEM:
    if (!x->StringValue)
      x->StringValue = (struct zx_hrxml_StringValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_name_ATTR:  x->name = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_classificationName_ATTR:  x->classificationName = x->gg.attr; return 1;
    case zx_primaryIndicator_ATTR:  x->primaryIndicator = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_primaryIndicator_ATTR:  x->primaryIndicator = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_InventorName_ELEM:
    if (!x->InventorName)
      x->InventorName = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_countryCode_ATTR:  x->countryCode = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_TaxonomyName_ELEM:
    if (!x->TaxonomyName)
      x->TaxonomyName = (struct zx_hrxml_TaxonomyName_s*)el;
    return 1;
  case zx_hrxml_CategoryCode_ELEM:
    if (!x->CategoryCode)
      x->CategoryCode = el;
    return 1;
  case zx_hrxml_CategoryDescription_ELEM:
    if (!x->CategoryDescription)
      x->CategoryDescription = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_JobCategory_ELEM:
    if (!x->JobCategory)
      x->JobCategory = (struct zx_hrxml_JobCategory_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_JobPlan_ELEM:
    if (!x->JobPlan)
      x->JobPlan = el;
    return 1;
  case zx_hrxml_JobGrade_ELEM:
    if (!x->JobGrade)
      x->JobGrade = el;
    return 1;
  case zx_hrxml_JobStep_ELEM:
    if (!x->JobStep)
      x->JobStep = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_LanguageCode_ELEM:
    if (!x->LanguageCode)
      x->LanguageCode = (struct zx_hrxml_LanguageCode_s*)el;
    return 1;
  case zx_hrxml_Read_ELEM:
    if (!x->Read)
      x->Read = el;
    return 1;
  case zx_hrxml_Write_ELEM:
    if (!x->Write)
      x->Write = el;
    return 1;
  case zx_hrxml_Speak_ELEM:
    if (!x->Speak)
      x->Speak = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Language_ELEM:
    if (!x->Language)
      x->Language = (struct zx_hrxml_Language_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_countryCode_ATTR:  x->countryCode = x->gg.attr; return 1;
    case zx_ownership_ATTR:  x->ownership = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonLegalId_ELEM:
    if (!x->PersonLegalId)
      x->PersonLegalId = (struct zx_hrxml_PersonLegalId_s*)el;
    return 1;
  case zx_hrxml_MilitaryStatus_ELEM:
    if (!x->MilitaryStatus)
      x->MilitaryStatus = (struct zx_hrxml_MilitaryStatus_s*)el;
    return 1;
  case zx_hrxml_VisaStatus_ELEM:
    if (!x->VisaStatus)
      x->VisaStatus = (struct zx_hrxml_VisaStatus_s*)el;
    return 1;
  case zx_hrxml_Citizenship_ELEM:
    if (!x->Citizenship)
      x->Citizenship = el;
    return 1;
  case zx_hrxml_Residency_ELEM:
    if (!x->Residency)
      x->Residency = el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_IssuingAuthority_ELEM:
    if (!x->IssuingAuthority)
      x->IssuingAuthority = (struct zx_hrxml_IssuingAuthority_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_EffectiveDate_ELEM:
    if (!x->EffectiveDate)
      x->EffectiveDate = (struct zx_hrxml_EffectiveDate_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_LicenseOrCertification_ELEM:
    if (!x->LicenseOrCertification)
      x->LicenseOrCertification = (struct zx_hrxml_LicenseOrCertification_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Item_ELEM:
    if (!x->Item)
      x->Item = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Municipality_ELEM:
    if (!x->Municipality)
      x->Municipality = el;
    return 1;
  case zx_hrxml_Region_ELEM:
    if (!x->Region)
      x->Region = el;
    return 1;
  case zx_hrxml_CountryCode_ELEM:
    if (!x->CountryCode)
      x->CountryCode = el;
    return 1;
  case zx_hrxml_PostalCode_ELEM:
    if (!x->PostalCode)
      x->PostalCode = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_NumericValue_ELEM:
    if (!x->NumericValue)
      x->NumericValue = (struct zx_hrxml_NumericValue_s*)el;
    return 1;
  case zx_hrxml_StringValue_ELEM:
    if (!x->StringValue)
      x->StringValue = (struct zx_hrxml_StringValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_measureType_ATTR:  x->measureType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_MeasureSystem_ELEM:
    if (!x->MeasureSystem)
      x->MeasureSystem = el;
    return 1;
  case zx_hrxml_MeasureValue_ELEM:
    if (!x->MeasureValue)
      x->MeasureValue = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CountryServed_ELEM:
    if (!x->CountryServed)
      x->CountryServed = el;
    return 1;
  case zx_hrxml_ServiceNumber_ELEM:
    if (!x->ServiceNumber)
      x->ServiceNumber = (struct zx_hrxml_ServiceNumber_s*)el;
    return 1;
  case zx_hrxml_ServiceDetail_ELEM:
    if (!x->ServiceDetail)
      x->ServiceDetail = (struct zx_hrxml_ServiceDetail_s*)el;
    return 1;
  case zx_hrxml_ServiceStatus_ELEM:
    if (!x->ServiceStatus)
      x->ServiceStatus = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_smsEnabled_ATTR:  x->smsEnabled = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedNumber_ELEM:
    if (!x->FormattedNumber)
      x->FormattedNumber = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_TextResume_ELEM:
    if (!x->TextResume)
      x->TextResume = el;
    return 1;
  case zx_hrxml_LinkToResume_ELEM:
    if (!x->LinkToResume)
      x->LinkToResume = el;
    return 1;
  case zx_hrxml_SupportingMaterials_ELEM:
    if (!x->SupportingMaterials)
      x->SupportingMaterials = (struct zx_hrxml_SupportingMaterials_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_RevisionDate_ELEM:
    if (!x->RevisionDate)
      x->RevisionDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;
    case zx_interval_ATTR:  x->interval = x->gg.attr; return 1;
    case zx_maxValue_ATTR:  x->maxValue = x->gg.attr; return 1;
    case zx_minValue_ATTR:  x->minValue = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_primaryIndicator_ATTR:  x->primaryIndicator = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IndustryDescription_ELEM:
    if (!x->IndustryDescription)
      x->IndustryDescription = el;
    return 1;
  case zx_hrxml_IndustryCode_ELEM:
    if (!x->IndustryCode)
      x->IndustryCode = (struct zx_hrxml_IndustryCode_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PositionLocation_ELEM:
    if (!x->PositionLocation)
      x->PositionLocation = (struct zx_hrxml_PositionLocation_s*)el;
    return 1;
  case zx_hrxml_WebSite_ELEM:
    if (!x->WebSite)
      x->WebSite = el;
    return 1;
  case zx_hrxml_LocationSummary_ELEM:
    if (!x->LocationSummary)
      x->LocationSummary = (struct zx_hrxml_LocationSummary_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_organizationType_ATTR:  x->organizationType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_OrganizationName_ELEM:
    if (!x->OrganizationName)
      x->OrganizationName = el;
    return 1;
  case zx_hrxml_OrgName_ELEM:
    if (!x->OrgName)
      x->OrgName = (struct zx_hrxml_OrgName_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_attendanceStatus_ATTR:  x->attendanceStatus = x->gg.attr; return 1;
    case zx_organizationType_ATTR:  x->organizationType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_hierarchicalRole_ATTR:  x->hierarchicalRole = x->gg.attr; return 1;
    case zx_typeOfGroup_ATTR:  x->typeOfGroup = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_OrganizationalUnitName_ELEM:
    if (!x->OrganizationalUnitName)
      x->OrganizationalUnitName = el;
    return 1;
  case zx_hrxml_OrganizationalUnitId_ELEM:
    if (!x->OrganizationalUnitId)
      x->OrganizationalUnitId = (struct zx_hrxml_OrganizationalUnitId_s*)el;
    return 1;
  case zx_hrxml_OrganizationId_ELEM:
    if (!x->OrganizationId)
      x->OrganizationId = (struct zx_hrxml_OrganizationId_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_IndustryCode_ELEM:
    if (!x->IndustryCode)
      x->IndustryCode = (struct zx_hrxml_IndustryCode_s*)el;
    return 1;
  case zx_hrxml_AccountingCode_ELEM:
    if (!x->AccountingCode)
      x->AccountingCode = (struct zx_hrxml_AccountingCode_s*)el;
    return 1;
  case zx_hrxml_WorkSite_ELEM:
    if (!x->WorkSite)
      x->WorkSite = (struct zx_hrxml_WorkSite_s*)el;
    return 1;
  case zx_hrxml_RelatedOrganizationalUnit_ELEM:
    if (!x->RelatedOrganizationalUnit)
      x->RelatedOrganizationalUnit = (struct zx_hrxml_RelatedOrganizationalUnit_s*)el;
    return 1;
  case zx_hrxml_PersonMember_ELEM:
    if (!x->PersonMember)
      x->PersonMember = (struct zx_hrxml_PersonMember_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_Applicable_ELEM:
    if (!x->Applicable)
      x->Applicable = el;
    return 1;
  case zx_hrxml_Value_ELEM:
    if (!x->Value)
      x->Value = el;
    return 1;
  case zx_hrxml_List_ELEM:
    if (!x->List)
      x->List = (struct zx_hrxml_List_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_currencyCode_ATTR:  x->currencyCode = x->gg.attr; return 1;
    case zx_otherInterval_ATTR:  x->otherInterval = x->gg.attr; return 1;
    case zx_otherPayType_ATTR:  x->otherPayType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_OtherPayAmountMin_ELEM:
    if (!x->OtherPayAmountMin)
      x->OtherPayAmountMin = el;
    return 1;
  case zx_hrxml_OtherPayAmountMax_ELEM:
    if (!x->OtherPayAmountMax)
      x->OtherPayAmountMax = el;
    return 1;
  case zx_hrxml_OtherPayCalculation_ELEM:
    if (!x->OtherPayCalculation)
      x->OtherPayCalculation = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_PublicationDate_ELEM:
    if (!x->PublicationDate)
      x->PublicationDate = (struct zx_hrxml_PublicationDate_s*)el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_Abstract_ELEM:
    if (!x->Abstract)
      x->Abstract = el;
    return 1;
  case zx_hrxml_Copyright_ELEM:
    if (!x->Copyright)
      x->Copyright = (struct zx_hrxml_Copyright_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_ISSN_ELEM:
    if (!x->ISSN)
      x->ISSN = el;
    return 1;
  case zx_hrxml_ISBN_ELEM:
    if (!x->ISBN)
      x->ISBN = el;
    return 1;
  case zx_hrxml_NumberOfPages_ELEM:
    if (!x->NumberOfPages)
      x->NumberOfPages = el;
    return 1;
  case zx_hrxml_PublisherName_ELEM:
    if (!x->PublisherName)
      x->PublisherName = el;
    return 1;
  case zx_hrxml_PublisherLocation_ELEM:
    if (!x->PublisherLocation)
      x->PublisherLocation = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedNumber_ELEM:
    if (!x->FormattedNumber)
      x->FormattedNumber = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PatentTitle_ELEM:
    if (!x->PatentTitle)
      x->PatentTitle = el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_Inventors_ELEM:
    if (!x->Inventors)
      x->Inventors = (struct zx_hrxml_Inventors_s*)el;
    return 1;
  case zx_hrxml_PatentDetail_ELEM:
    if (!x->PatentDetail)
      x->PatentDetail = (struct zx_hrxml_PatentDetail_s*)el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IssuingAuthority_ELEM:
    if (!x->IssuingAuthority)
      x->IssuingAuthority = (struct zx_hrxml_IssuingAuthority_s*)el;
    return 1;
  case zx_hrxml_PatentMilestone_ELEM:
    if (!x->PatentMilestone)
      x->PatentMilestone = (struct zx_hrxml_PatentMilestone_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Patent_ELEM:
    if (!x->Patent)
      x->Patent = (struct zx_hrxml_Patent_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Status_ELEM:
    if (!x->Status)
      x->Status = (struct zx_hrxml_Status_s*)el;
    return 1;
  case zx_hrxml_Date_ELEM:
    if (!x->Date)
      x->Date = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_LegalIdentifiers_ELEM:
    if (!x->LegalIdentifiers)
      x->LegalIdentifiers = (struct zx_hrxml_LegalIdentifiers_s*)el;
    return 1;
  case zx_hrxml_DemographicDescriptors_ELEM:
    if (!x->DemographicDescriptors)
      x->DemographicDescriptors = (struct zx_hrxml_DemographicDescriptors_s*)el;
    return 1;
  case zx_hrxml_BiologicalDescriptors_ELEM:
    if (!x->BiologicalDescriptors)
      x->BiologicalDescriptors = (struct zx_hrxml_BiologicalDescriptors_s*)el;
    return 1;
  case zx_hrxml_SupportingMaterials_ELEM:
    if (!x->SupportingMaterials)
      x->SupportingMaterials = (struct zx_hrxml_SupportingMaterials_s*)el;
    return 1;
  case zx_hrxml_OtherDescriptors_ELEM:
    if (!x->OtherDescriptors)
      x->OtherDescriptors = (struct zx_hrxml_OtherDescriptors_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_countryCode_ATTR:  x->countryCode = x->gg.attr; return 1;
    case zx_documentType_ATTR:  x->documentType = x->gg.attr; return 1;
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_idSource_ATTR:  x->idSource = x->gg.attr; return 1;
    case zx_issuingRegion_ATTR:  x->issuingRegion = x->gg.attr; return 1;
    case zx_jurisdiction_ATTR:  x->jurisdiction = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonName_ELEM:
    if (!x->PersonName)
      x->PersonName = (struct zx_hrxml_PersonName_s*)el;
    return 1;
  case zx_hrxml_PersonId_ELEM:
    if (!x->PersonId)
      x->PersonId = (struct zx_hrxml_PersonId_s*)el;
    return 1;
  case zx_hrxml_PersonRole_ELEM:
    if (!x->PersonRole)
      x->PersonRole = (struct zx_hrxml_PersonRole_s*)el;
    return 1;
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_script_ATTR:  x->script = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedName_ELEM:
    if (!x->FormattedName)
      x->FormattedName = el;
    return 1;
  case zx_hrxml_LegalName_ELEM:
    if (!x->LegalName)
      x->LegalName = el;
    return 1;
  case zx_hrxml_GivenName_ELEM:
    if (!x->GivenName)
      x->GivenName = el;
    return 1;
  case zx_hrxml_PreferredGivenName_ELEM:
    if (!x->PreferredGivenName)
      x->PreferredGivenName = el;
    return 1;
  case zx_hrxml_MiddleName_ELEM:
    if (!x->MiddleName)
      x->MiddleName = el;
    return 1;
  case zx_hrxml_FamilyName_ELEM:
    if (!x->FamilyName)
      x->FamilyName = (struct zx_hrxml_FamilyName_s*)el;
    return 1;
  case zx_hrxml_Affix_ELEM:
    if (!x->Affix)
      x->Affix = (struct zx_hrxml_Affix_s*)el;
    return 1;
  case zx_hrxml_AlternateScript_ELEM:
    if (!x->AlternateScript)
      x->AlternateScript = (struct zx_hrxml_AlternateScript_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_leader_ATTR:  x->leader = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_RoleName_ELEM:
    if (!x->RoleName)
      x->RoleName = el;
    return 1;
  case zx_hrxml_RoleId_ELEM:
    if (!x->RoleId)
      x->RoleId = (struct zx_hrxml_RoleId_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonId_ELEM:
    if (!x->PersonId)
      x->PersonId = (struct zx_hrxml_PersonId_s*)el;
    return 1;
  case zx_hrxml_PersonName_ELEM:
    if (!x->PersonName)
      x->PersonName = (struct zx_hrxml_PersonName_s*)el;
    return 1;
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;
  case zx_hrxml_PersonDescriptors_ELEM:
    if (!x->PersonDescriptors)
      x->PersonDescriptors = (struct zx_hrxml_PersonDescriptors_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_EffectiveDate_ELEM:
    if (!x->EffectiveDate)
      x->EffectiveDate = (struct zx_hrxml_EffectiveDate_s*)el;
    return 1;
  case zx_hrxml_SpatialLocation_ELEM:
    if (!x->SpatialLocation)
      x->SpatialLocation = (struct zx_hrxml_SpatialLocation_s*)el;
    return 1;
  case zx_hrxml_TravelDirections_ELEM:
    if (!x->TravelDirections)
      x->TravelDirections = (struct zx_hrxml_TravelDirections_s*)el;
    return 1;
  case zx_hrxml_PostalAddress_ELEM:
    if (!x->PostalAddress)
      x->PostalAddress = (struct zx_hrxml_PostalAddress_s*)el;
    return 1;
  case zx_hrxml_Area_ELEM:
    if (!x->Area)
      x->Area = (struct zx_hrxml_Area_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_currentEmployer_ATTR:  x->currentEmployer = x->gg.attr; return 1;
    case zx_positionType_ATTR:  x->positionType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_OrgName_ELEM:
    if (!x->OrgName)
      x->OrgName = (struct zx_hrxml_OrgName_s*)el;
    return 1;
  case zx_hrxml_OrgInfo_ELEM:
    if (!x->OrgInfo)
      x->OrgInfo = (struct zx_hrxml_OrgInfo_s*)el;
    return 1;
  case zx_hrxml_OrgIndustry_ELEM:
    if (!x->OrgIndustry)
      x->OrgIndustry = (struct zx_hrxml_OrgIndustry_s*)el;
    return 1;
  case zx_hrxml_OrgSize_ELEM:
    if (!x->OrgSize)
      x->OrgSize = el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;
  case zx_hrxml_Compensation_ELEM:
    if (!x->Compensation)
      x->Compensation = (struct zx_hrxml_Compensation_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_Verification_ELEM:
    if (!x->Verification)
      x->Verification = (struct zx_hrxml_Verification_s*)el;
    return 1;
  case zx_hrxml_JobLevelInfo_ELEM:
    if (!x->JobLevelInfo)
      x->JobLevelInfo = (struct zx_hrxml_JobLevelInfo_s*)el;
    return 1;
  case zx_hrxml_JobCategory_ELEM:
    if (!x->JobCategory)
      x->JobCategory = (struct zx_hrxml_JobCategory_s*)el;
    return 1;
  case zx_hrxml_Competency_ELEM:
    if (!x->Competency)
      x->Competency = (struct zx_hrxml_Competency_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CountryCode_ELEM:
    if (!x->CountryCode)
      x->CountryCode = el;
    return 1;
  case zx_hrxml_PostalCode_ELEM:
    if (!x->PostalCode)
      x->PostalCode = el;
    return 1;
  case zx_hrxml_Region_ELEM:
    if (!x->Region)
      x->Region = el;
    return 1;
  case zx_hrxml_Municipality_ELEM:
    if (!x->Municipality)
      x->Municipality = el;
    return 1;
  case zx_hrxml_DeliveryAddress_ELEM:
    if (!x->DeliveryAddress)
      x->DeliveryAddress = (struct zx_hrxml_DeliveryAddress_s*)el;
    return 1;
  case zx_hrxml_Recipient_ELEM:
    if (!x->Recipient)
      x->Recipient = (struct zx_hrxml_Recipient_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Company_ELEM:
    if (!x->Company)
      x->Company = (struct zx_hrxml_Company_s*)el;
    return 1;
  case zx_hrxml_CompanyScale_ELEM:
    if (!x->CompanyScale)
      x->CompanyScale = el;
    return 1;
  case zx_hrxml_IndustryCode_ELEM:
    if (!x->IndustryCode)
      x->IndustryCode = (struct zx_hrxml_IndustryCode_s*)el;
    return 1;
  case zx_hrxml_PhysicalLocation_ELEM:
    if (!x->PhysicalLocation)
      x->PhysicalLocation = (struct zx_hrxml_PhysicalLocation_s*)el;
    return 1;
  case zx_hrxml_JobCategory_ELEM:
    if (!x->JobCategory)
      x->JobCategory = (struct zx_hrxml_JobCategory_s*)el;
    return 1;
  case zx_hrxml_PositionTitle_ELEM:
    if (!x->PositionTitle)
      x->PositionTitle = el;
    return 1;
  case zx_hrxml_PositionClassification_ELEM:
    if (!x->PositionClassification)
      x->PositionClassification = el;
    return 1;
  case zx_hrxml_PositionSchedule_ELEM:
    if (!x->PositionSchedule)
      x->PositionSchedule = (struct zx_hrxml_PositionSchedule_s*)el;
    return 1;
  case zx_hrxml_Shift_ELEM:
    if (!x->Shift)
      x->Shift = (struct zx_hrxml_Shift_s*)el;
    return 1;
  case zx_hrxml_Competency_ELEM:
    if (!x->Competency)
      x->Competency = (struct zx_hrxml_Competency_s*)el;
    return 1;
  case zx_hrxml_RemunerationPackage_ELEM:
    if (!x->RemunerationPackage)
      x->RemunerationPackage = (struct zx_hrxml_RemunerationPackage_s*)el;
    return 1;
  case zx_hrxml_WorkStyle_ELEM:
    if (!x->WorkStyle)
      x->WorkStyle = el;
    return 1;
  case zx_hrxml_DressCode_ELEM:
    if (!x->DressCode)
      x->DressCode = (struct zx_hrxml_DressCode_s*)el;
    return 1;
  case zx_hrxml_Travel_ELEM:
    if (!x->Travel)
      x->Travel = (struct zx_hrxml_Travel_s*)el;
    return 1;
  case zx_hrxml_Relocation_ELEM:
    if (!x->Relocation)
      x->Relocation = (struct zx_hrxml_Relocation_s*)el;
    return 1;
  case zx_hrxml_PreferredLanguage_ELEM:
    if (!x->PreferredLanguage)
      x->PreferredLanguage = (struct zx_hrxml_PreferredLanguage_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_SearchCriteria_ELEM:
    if (!x->SearchCriteria)
      x->SearchCriteria = (struct zx_hrxml_SearchCriteria_s*)el;
    return 1;
  case zx_hrxml_SearchResult_ELEM:
    if (!x->SearchResult)
      x->SearchResult = (struct zx_hrxml_SearchResult_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_percentage_ATTR:  x->percentage = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CountryCode_ELEM:
    if (!x->CountryCode)
      x->CountryCode = el;
    return 1;
  case zx_hrxml_PostalCode_ELEM:
    if (!x->PostalCode)
      x->PostalCode = el;
    return 1;
  case zx_hrxml_Region_ELEM:
    if (!x->Region)
      x->Region = el;
    return 1;
  case zx_hrxml_Municipality_ELEM:
    if (!x->Municipality)
      x->Municipality = el;
    return 1;
  case zx_hrxml_DeliveryAddress_ELEM:
    if (!x->DeliveryAddress)
      x->DeliveryAddress = (struct zx_hrxml_DeliveryAddress_s*)el;
    return 1;
  case zx_hrxml_Recipient_ELEM:
    if (!x->Recipient)
      x->Recipient = (struct zx_hrxml_Recipient_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Company_ELEM:
    if (!x->Company)
      x->Company = (struct zx_hrxml_Company_s*)el;
    return 1;
  case zx_hrxml_CompanyScale_ELEM:
    if (!x->CompanyScale)
      x->CompanyScale = el;
    return 1;
  case zx_hrxml_IndustryCode_ELEM:
    if (!x->IndustryCode)
      x->IndustryCode = (struct zx_hrxml_IndustryCode_s*)el;
    return 1;
  case zx_hrxml_PhysicalLocation_ELEM:
    if (!x->PhysicalLocation)
      x->PhysicalLocation = (struct zx_hrxml_PhysicalLocation_s*)el;
    return 1;
  case zx_hrxml_JobCategory_ELEM:
    if (!x->JobCategory)
      x->JobCategory = (struct zx_hrxml_JobCategory_s*)el;
    return 1;
  case zx_hrxml_PositionTitle_ELEM:
    if (!x->PositionTitle)
      x->PositionTitle = el;
    return 1;
  case zx_hrxml_PositionClassification_ELEM:
    if (!x->PositionClassification)
      x->PositionClassification = el;
    return 1;
  case zx_hrxml_PositionSchedule_ELEM:
    if (!x->PositionSchedule)
      x->PositionSchedule = (struct zx_hrxml_PositionSchedule_s*)el;
    return 1;
  case zx_hrxml_Shift_ELEM:
    if (!x->Shift)
      x->Shift = (struct zx_hrxml_Shift_s*)el;
    return 1;
  case zx_hrxml_Competency_ELEM:
    if (!x->Competency)
      x->Competency = (struct zx_hrxml_Competency_s*)el;
    return 1;
  case zx_hrxml_RemunerationPackage_ELEM:
    if (!x->RemunerationPackage)
      x->RemunerationPackage = (struct zx_hrxml_RemunerationPackage_s*)el;
    return 1;
  case zx_hrxml_WorkStyle_ELEM:
    if (!x->WorkStyle)
      x->WorkStyle = el;
    return 1;
  case zx_hrxml_DressCode_ELEM:
    if (!x->DressCode)
      x->DressCode = (struct zx_hrxml_DressCode_s*)el;
    return 1;
  case zx_hrxml_Travel_ELEM:
    if (!x->Travel)
      x->Travel = (struct zx_hrxml_Travel_s*)el;
    return 1;
  case zx_hrxml_Relocation_ELEM:
    if (!x->Relocation)
      x->Relocation = (struct zx_hrxml_Relocation_s*)el;
    return 1;
  case zx_hrxml_PreferredLanguage_ELEM:
    if (!x->PreferredLanguage)
      x->PreferredLanguage = (struct zx_hrxml_PreferredLanguage_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;
  case zx_hrxml_Commute_ELEM:
    if (!x->Commute)
      x->Commute = (struct zx_hrxml_Commute_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_BasePay_ELEM:
    if (!x->BasePay)
      x->BasePay = (struct zx_hrxml_BasePay_s*)el;
    return 1;
  case zx_hrxml_OtherPay_ELEM:
    if (!x->OtherPay)
      x->OtherPay = (struct zx_hrxml_OtherPay_s*)el;
    return 1;
  case zx_hrxml_Benefits_ELEM:
    if (!x->Benefits)
      x->Benefits = (struct zx_hrxml_Benefits_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Association_ELEM:
    if (!x->Association)
      x->Association = (struct zx_hrxml_Association_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedPublicationDescription_ELEM:
    if (!x->FormattedPublicationDescription)
      x->FormattedPublicationDescription = (struct zx_hrxml_FormattedPublicationDescription_s*)el;
    return 1;
  case zx_hrxml_Article_ELEM:
    if (!x->Article)
      x->Article = (struct zx_hrxml_Article_s*)el;
    return 1;
  case zx_hrxml_Book_ELEM:
    if (!x->Book)
      x->Book = (struct zx_hrxml_Book_s*)el;
    return 1;
  case zx_hrxml_ConferencePaper_ELEM:
    if (!x->ConferencePaper)
      x->ConferencePaper = (struct zx_hrxml_ConferencePaper_s*)el;
    return 1;
  case zx_hrxml_OtherPublication_ELEM:
    if (!x->OtherPublication)
      x->OtherPublication = (struct zx_hrxml_OtherPublication_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_QualificationSummary_ELEM:
    if (!x->QualificationSummary)
      x->QualificationSummary = el;
    return 1;
  case zx_hrxml_Competency_ELEM:
    if (!x->Competency)
      x->Competency = (struct zx_hrxml_Competency_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StartRank_ELEM:
    if (!x->StartRank)
      x->StartRank = el;
    return 1;
  case zx_hrxml_CurrentOrEndRank_ELEM:
    if (!x->CurrentOrEndRank)
      x->CurrentOrEndRank = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CriterionName_ELEM:
    if (!x->CriterionName)
      x->CriterionName = el;
    return 1;
  case zx_hrxml_Requested_ELEM:
    if (!x->Requested)
      x->Requested = el;
    return 1;
  case zx_hrxml_Offered_ELEM:
    if (!x->Offered)
      x->Offered = el;
    return 1;
  case zx_hrxml_Score_ELEM:
    if (!x->Score)
      x->Score = (struct zx_hrxml_Score_s*)el;
    return 1;
  case zx_hrxml_Weight_ELEM:
    if (!x->Weight)
      x->Weight = (struct zx_hrxml_Weight_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;
  case zx_hrxml_RankedResult_ELEM:
    if (!x->RankedResult)
      x->RankedResult = (struct zx_hrxml_RankedResult_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_RankedResult_ELEM:
    if (!x->RankedResult)
      x->RankedResult = (struct zx_hrxml_RankedResult_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonName_ELEM:
    if (!x->PersonName)
      x->PersonName = (struct zx_hrxml_PersonName_s*)el;
    return 1;
  case zx_hrxml_AdditionalText_ELEM:
    if (!x->AdditionalText)
      x->AdditionalText = el;
    return 1;
  case zx_hrxml_Organization_ELEM:
    if (!x->Organization)
      x->Organization = (struct zx_hrxml_Organization_s*)el;
    return 1;
  case zx_hrxml_OrganizationName_ELEM:
    if (!x->OrganizationName)
      x->OrganizationName = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PersonName_ELEM:
    if (!x->PersonName)
      x->PersonName = (struct zx_hrxml_PersonName_s*)el;
    return 1;
  case zx_hrxml_PositionTitle_ELEM:
    if (!x->PositionTitle)
      x->PositionTitle = el;
    return 1;
  case zx_hrxml_ContactMethod_ELEM:
    if (!x->ContactMethod)
      x->ContactMethod = (struct zx_hrxml_ContactMethod_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Reference_ELEM:
    if (!x->Reference)
      x->Reference = (struct zx_hrxml_Reference_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_relationship_ATTR:  x->relationship = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_OrganizationName_ELEM:
    if (!x->OrganizationName)
      x->OrganizationName = el;
    return 1;
  case zx_hrxml_OrganizationId_ELEM:
    if (!x->OrganizationId)
      x->OrganizationId = (struct zx_hrxml_OrganizationId_s*)el;
    return 1;
  case zx_hrxml_TaxId_ELEM:
    if (!x->TaxId)
      x->TaxId = (struct zx_hrxml_TaxId_s*)el;
    return 1;
  case zx_hrxml_LegalId_ELEM:
    if (!x->LegalId)
      x->LegalId = (struct zx_hrxml_LegalId_s*)el;
    return 1;
  case zx_hrxml_DunsNumber_ELEM:
    if (!x->DunsNumber)
      x->DunsNumber = (struct zx_hrxml_DunsNumber_s*)el;
    return 1;
  case zx_hrxml_IsPublicCompany_ELEM:
    if (!x->IsPublicCompany)
      x->IsPublicCompany = el;
    return 1;
  case zx_hrxml_Stock_ELEM:
    if (!x->Stock)
      x->Stock = (struct zx_hrxml_Stock_s*)el;
    return 1;
  case zx_hrxml_MissionStatement_ELEM:
    if (!x->MissionStatement)
      x->MissionStatement = el;
    return 1;
  case zx_hrxml_ValueStatement_ELEM:
    if (!x->ValueStatement)
      x->ValueStatement = el;
    return 1;
  case zx_hrxml_InternetDomainName_ELEM:
    if (!x->InternetDomainName)
      x->InternetDomainName = (struct zx_hrxml_InternetDomainName_s*)el;
    return 1;
  case zx_hrxml_DoingBusinessAs_ELEM:
    if (!x->DoingBusinessAs)
      x->DoingBusinessAs = (struct zx_hrxml_DoingBusinessAs_s*)el;
    return 1;
  case zx_hrxml_LegalClassification_ELEM:
    if (!x->LegalClassification)
      x->LegalClassification = (struct zx_hrxml_LegalClassification_s*)el;
    return 1;
  case zx_hrxml_IndustryCode_ELEM:
    if (!x->IndustryCode)
      x->IndustryCode = (struct zx_hrxml_IndustryCode_s*)el;
    return 1;
  case zx_hrxml_Headcount_ELEM:
    if (!x->Headcount)
      x->Headcount = el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_WorkSite_ELEM:
    if (!x->WorkSite)
      x->WorkSite = (struct zx_hrxml_WorkSite_s*)el;
    return 1;
  case zx_hrxml_ContactInfo_ELEM:
    if (!x->ContactInfo)
      x->ContactInfo = (struct zx_hrxml_ContactInfo_s*)el;
    return 1;
  case zx_hrxml_RelatedOrganization_ELEM:
    if (!x->RelatedOrganization)
      x->RelatedOrganization = (struct zx_hrxml_RelatedOrganization_s*)el;
    return 1;
  case zx_hrxml_OrganizationalUnit_ELEM:
    if (!x->OrganizationalUnit)
      x->OrganizationalUnit = (struct zx_hrxml_OrganizationalUnit_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_hierarchicalRole_ATTR:  x->hierarchicalRole = x->gg.attr; return 1;
    case zx_natureOfRelationship_ATTR:  x->natureOfRelationship = x->gg.attr; return 1;
    case zx_relationship_ATTR:  x->relationship = x->gg.attr; return 1;
    case zx_typeOfGroup_ATTR:  x->typeOfGroup = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_OrganizationalUnitName_ELEM:
    if (!x->OrganizationalUnitName)
      x->OrganizationalUnitName = el;
    return 1;
  case zx_hrxml_OrganizationalUnitId_ELEM:
    if (!x->OrganizationalUnitId)
      x->OrganizationalUnitId = (struct zx_hrxml_OrganizationalUnitId_s*)el;
    return 1;
  case zx_hrxml_OrganizationId_ELEM:
    if (!x->OrganizationId)
      x->OrganizationId = (struct zx_hrxml_OrganizationId_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_IndustryCode_ELEM:
    if (!x->IndustryCode)
      x->IndustryCode = (struct zx_hrxml_IndustryCode_s*)el;
    return 1;
  case zx_hrxml_AccountingCode_ELEM:
    if (!x->AccountingCode)
      x->AccountingCode = (struct zx_hrxml_AccountingCode_s*)el;
    return 1;
  case zx_hrxml_WorkSite_ELEM:
    if (!x->WorkSite)
      x->WorkSite = (struct zx_hrxml_WorkSite_s*)el;
    return 1;
  case zx_hrxml_RelatedOrganizationalUnit_ELEM:
    if (!x->RelatedOrganizationalUnit)
      x->RelatedOrganizationalUnit = (struct zx_hrxml_RelatedOrganizationalUnit_s*)el;
    return 1;
  case zx_hrxml_PersonMember_ELEM:
    if (!x->PersonMember)
      x->PersonMember = (struct zx_hrxml_PersonMember_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_PositionPosting_ELEM:
    if (!x->PositionPosting)
      x->PositionPosting = (struct zx_hrxml_PositionPosting_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_relocationConsidered_ATTR:  x->relocationConsidered = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_companyOffered_ATTR:  x->companyOffered = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_BasePay_ELEM:
    if (!x->BasePay)
      x->BasePay = (struct zx_hrxml_BasePay_s*)el;
    return 1;
  case zx_hrxml_OtherPay_ELEM:
    if (!x->OtherPay)
      x->OtherPay = (struct zx_hrxml_OtherPay_s*)el;
    return 1;
  case zx_hrxml_Benefits_ELEM:
    if (!x->Benefits)
      x->Benefits = (struct zx_hrxml_Benefits_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ResumeId_ELEM:
    if (!x->ResumeId)
      x->ResumeId = el;
    return 1;
  case zx_hrxml_DistributionGuidelines_ELEM:
    if (!x->DistributionGuidelines)
      x->DistributionGuidelines = el;
    return 1;
  case zx_hrxml_StructuredXMLResume_ELEM:
    if (!x->StructuredXMLResume)
      x->StructuredXMLResume = (struct zx_hrxml_StructuredXMLResume_s*)el;
    return 1;
  case zx_hrxml_NonXMLResume_ELEM:
    if (!x->NonXMLResume)
      x->NonXMLResume = (struct zx_hrxml_NonXMLResume_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_EffectiveDate_ELEM:
    if (!x->EffectiveDate)
      x->EffectiveDate = (struct zx_hrxml_EffectiveDate_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ResumeAdditionalItem_ELEM:
    if (!x->ResumeAdditionalItem)
      x->ResumeAdditionalItem = (struct zx_hrxml_ResumeAdditionalItem_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_SpatialLocation_ELEM:
    if (!x->SpatialLocation)
      x->SpatialLocation = (struct zx_hrxml_SpatialLocation_s*)el;
    return 1;
  case zx_hrxml_TravelDirections_ELEM:
    if (!x->TravelDirections)
      x->TravelDirections = (struct zx_hrxml_TravelDirections_s*)el;
    return 1;
  case zx_hrxml_Area_ELEM:
    if (!x->Area)
      x->Area = (struct zx_hrxml_Area_s*)el;
    return 1;
  case zx_hrxml_PostalAddress_ELEM:
    if (!x->PostalAddress)
      x->PostalAddress = (struct zx_hrxml_PostalAddress_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_suppliedByOrganization_ATTR:  x->suppliedByOrganization = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_InternetDomainName_ELEM:
    if (!x->InternetDomainName)
      x->InternetDomainName = (struct zx_hrxml_InternetDomainName_s*)el;
    return 1;
  case zx_hrxml_SchoolId_ELEM:
    if (!x->SchoolId)
      x->SchoolId = (struct zx_hrxml_SchoolId_s*)el;
    return 1;
  case zx_hrxml_SchoolName_ELEM:
    if (!x->SchoolName)
      x->SchoolName = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_schoolType_ATTR:  x->schoolType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SchoolName_ELEM:
    if (!x->SchoolName)
      x->SchoolName = el;
    return 1;
  case zx_hrxml_School_ELEM:
    if (!x->School)
      x->School = (struct zx_hrxml_School_s*)el;
    return 1;
  case zx_hrxml_LocationSummary_ELEM:
    if (!x->LocationSummary)
      x->LocationSummary = (struct zx_hrxml_LocationSummary_s*)el;
    return 1;
  case zx_hrxml_PostalAddress_ELEM:
    if (!x->PostalAddress)
      x->PostalAddress = (struct zx_hrxml_PostalAddress_s*)el;
    return 1;
  case zx_hrxml_OrganizationUnit_ELEM:
    if (!x->OrganizationUnit)
      x->OrganizationUnit = (struct zx_hrxml_OrganizationUnit_s*)el;
    return 1;
  case zx_hrxml_Degree_ELEM:
    if (!x->Degree)
      x->Degree = (struct zx_hrxml_Degree_s*)el;
    return 1;
  case zx_hrxml_Major_ELEM:
    if (!x->Major)
      x->Major = el;
    return 1;
  case zx_hrxml_Minor_ELEM:
    if (!x->Minor)
      x->Minor = el;
    return 1;
  case zx_hrxml_Measure_ELEM:
    if (!x->Measure)
      x->Measure = (struct zx_hrxml_Measure_s*)el;
    return 1;
  case zx_hrxml_DatesOfAttendance_ELEM:
    if (!x->DatesOfAttendance)
      x->DatesOfAttendance = (struct zx_hrxml_DatesOfAttendance_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_ISCEDInstitutionClassification_ELEM:
    if (!x->ISCEDInstitutionClassification)
      x->ISCEDInstitutionClassification = el;
    return 1;
  case zx_hrxml_LocalInstitutionClassification_ELEM:
    if (!x->LocalInstitutionClassification)
      x->LocalInstitutionClassification = (struct zx_hrxml_LocalInstitutionClassification_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_unitOfMeasure_ATTR:  x->unitOfMeasure = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SearchCriteriaId_ELEM:
    if (!x->SearchCriteriaId)
      x->SearchCriteriaId = (struct zx_hrxml_SearchCriteriaId_s*)el;
    return 1;
  case zx_hrxml_SearchTarget_ELEM:
    if (!x->SearchTarget)
      x->SearchTarget = el;
    return 1;
  case zx_hrxml_UserId_ELEM:
    if (!x->UserId)
      x->UserId = (struct zx_hrxml_UserId_s*)el;
    return 1;
  case zx_hrxml_SearchTimeStamp_ELEM:
    if (!x->SearchTimeStamp)
      x->SearchTimeStamp = el;
    return 1;
  case zx_hrxml_SearchString_ELEM:
    if (!x->SearchString)
      x->SearchString = el;
    return 1;
  case zx_hrxml_SearchCriterion_ELEM:
    if (!x->SearchCriterion)
      x->SearchCriterion = (struct zx_hrxml_SearchCriterion_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CriterionName_ELEM:
    if (!x->CriterionName)
      x->CriterionName = el;
    return 1;
  case zx_hrxml_CriterionValue_ELEM:
    if (!x->CriterionValue)
      x->CriterionValue = el;
    return 1;
  case zx_hrxml_Weight_ELEM:
    if (!x->Weight)
      x->Weight = (struct zx_hrxml_Weight_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_unitOfMeasure_ATTR:  x->unitOfMeasure = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SearchResultId_ELEM:
    if (!x->SearchResultId)
      x->SearchResultId = (struct zx_hrxml_SearchResultId_s*)el;
    return 1;
  case zx_hrxml_SearchTarget_ELEM:
    if (!x->SearchTarget)
      x->SearchTarget = el;
    return 1;
  case zx_hrxml_UserId_ELEM:
    if (!x->UserId)
      x->UserId = (struct zx_hrxml_UserId_s*)el;
    return 1;
  case zx_hrxml_SearchTimeStamp_ELEM:
    if (!x->SearchTimeStamp)
      x->SearchTimeStamp = el;
    return 1;
  case zx_hrxml_MatchedObjectId_ELEM:
    if (!x->MatchedObjectId)
      x->MatchedObjectId = (struct zx_hrxml_MatchedObjectId_s*)el;
    return 1;
  case zx_hrxml_SearchRelevanceScore_ELEM:
    if (!x->SearchRelevanceScore)
      x->SearchRelevanceScore = (struct zx_hrxml_SearchRelevanceScore_s*)el;
    return 1;
  case zx_hrxml_SearchRelevanceRank_ELEM:
    if (!x->SearchRelevanceRank)
      x->SearchRelevanceRank = el;
    return 1;
  case zx_hrxml_SearchResultCount_ELEM:
    if (!x->SearchResultCount)
      x->SearchResultCount = el;
    return 1;
  case zx_hrxml_RankedSearchResults_ELEM:
    if (!x->RankedSearchResults)
      x->RankedSearchResults = (struct zx_hrxml_RankedSearchResults_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_IssuingAuthority_ELEM:
    if (!x->IssuingAuthority)
      x->IssuingAuthority = (struct zx_hrxml_IssuingAuthority_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_EffectiveDate_ELEM:
    if (!x->EffectiveDate)
      x->EffectiveDate = (struct zx_hrxml_EffectiveDate_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SecurityCredential_ELEM:
    if (!x->SecurityCredential)
      x->SecurityCredential = (struct zx_hrxml_SecurityCredential_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_branch_ATTR:  x->branch = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_UnitOrDivision_ELEM:
    if (!x->UnitOrDivision)
      x->UnitOrDivision = el;
    return 1;
  case zx_hrxml_RankAchieved_ELEM:
    if (!x->RankAchieved)
      x->RankAchieved = (struct zx_hrxml_RankAchieved_s*)el;
    return 1;
  case zx_hrxml_DatesOfService_ELEM:
    if (!x->DatesOfService)
      x->DatesOfService = (struct zx_hrxml_DatesOfService_s*)el;
    return 1;
  case zx_hrxml_Campaign_ELEM:
    if (!x->Campaign)
      x->Campaign = el;
    return 1;
  case zx_hrxml_AreaOfExpertise_ELEM:
    if (!x->AreaOfExpertise)
      x->AreaOfExpertise = el;
    return 1;
  case zx_hrxml_RecognitionAchieved_ELEM:
    if (!x->RecognitionAchieved)
      x->RecognitionAchieved = el;
    return 1;
  case zx_hrxml_DisciplinaryAction_ELEM:
    if (!x->DisciplinaryAction)
      x->DisciplinaryAction = el;
    return 1;
  case zx_hrxml_DischargeStatus_ELEM:
    if (!x->DischargeStatus)
      x->DischargeStatus = el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_shiftPeriod_ATTR:  x->shiftPeriod = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Name_ELEM:
    if (!x->Name)
      x->Name = el;
    return 1;
  case zx_hrxml_Hours_ELEM:
    if (!x->Hours)
      x->Hours = el;
    return 1;
  case zx_hrxml_StartTime_ELEM:
    if (!x->StartTime)
      x->StartTime = el;
    return 1;
  case zx_hrxml_EndTime_ELEM:
    if (!x->EndTime)
      x->EndTime = el;
    return 1;
  case zx_hrxml_PayTypeHours_ELEM:
    if (!x->PayTypeHours)
      x->PayTypeHours = el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_StandardValue_ELEM:
    if (!x->StandardValue)
      x->StandardValue = el;
    return 1;
  case zx_hrxml_NonStandardValue_ELEM:
    if (!x->NonStandardValue)
      x->NonStandardValue = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Latitude_ELEM:
    if (!x->Latitude)
      x->Latitude = (struct zx_hrxml_Latitude_s*)el;
    return 1;
  case zx_hrxml_Longitude_ELEM:
    if (!x->Longitude)
      x->Longitude = (struct zx_hrxml_Longitude_s*)el;
    return 1;
  case zx_hrxml_Altitude_ELEM:
    if (!x->Altitude)
      x->Altitude = el;
    return 1;
  case zx_hrxml_AltitudeMeanSeaLevel_ELEM:
    if (!x->AltitudeMeanSeaLevel)
      x->AltitudeMeanSeaLevel = el;
    return 1;
  case zx_hrxml_HorizontalAccuracy_ELEM:
    if (!x->HorizontalAccuracy)
      x->HorizontalAccuracy = (struct zx_hrxml_HorizontalAccuracy_s*)el;
    return 1;
  case zx_hrxml_VerticalAccuracy_ELEM:
    if (!x->VerticalAccuracy)
      x->VerticalAccuracy = (struct zx_hrxml_VerticalAccuracy_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_type_ATTR:  x->type = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Title_ELEM:
    if (!x->Title)
      x->Title = el;
    return 1;
  case zx_hrxml_Role_ELEM:
    if (!x->Role)
      x->Role = el;
    return 1;
  case zx_hrxml_StartDate_ELEM:
    if (!x->StartDate)
      x->StartDate = (struct zx_hrxml_StartDate_s*)el;
    return 1;
  case zx_hrxml_EndDate_ELEM:
    if (!x->EndDate)
      x->EndDate = (struct zx_hrxml_EndDate_s*)el;
    return 1;
  case zx_hrxml_EventName_ELEM:
    if (!x->EventName)
      x->EventName = el;
    return 1;
  case zx_hrxml_EventType_ELEM:
    if (!x->EventType)
      x->EventType = el;
    return 1;
  case zx_hrxml_Location_ELEM:
    if (!x->Location)
      x->Location = el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_AffiliatedOrganization_ELEM:
    if (!x->AffiliatedOrganization)
      x->AffiliatedOrganization = el;
    return 1;
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_SpeakingEvent_ELEM:
    if (!x->SpeakingEvent)
      x->SpeakingEvent = (struct zx_hrxml_SpeakingEvent_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_CompetencyId_ELEM:
    if (!x->CompetencyId)
      x->CompetencyId = (struct zx_hrxml_CompetencyId_s*)el;
    return 1;
  case zx_hrxml_ProficencyLevel_ELEM:
    if (!x->ProficencyLevel)
      x->ProficencyLevel = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_currency_ATTR:  x->currency = x->gg.attr; return 1;
    case zx_intervalType_ATTR:  x->intervalType = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Id_ELEM:
    if (!x->Id)
      x->Id = (struct zx_hrxml_Id_s*)el;
    return 1;
  case zx_hrxml_Symbol_ELEM:
    if (!x->Symbol)
      x->Symbol = el;
    return 1;
  case zx_hrxml_Exchange_ELEM:
    if (!x->Exchange)
      x->Exchange = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;
    case zx_maxValue_ATTR:  x->maxValue = x->gg.attr; return 1;
    case zx_minValue_ATTR:  x->minValue = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ContactInfo_ELEM:
    if (!x->ContactInfo)
      x->ContactInfo = (struct zx_hrxml_ContactInfo_s*)el;
    return 1;
  case zx_hrxml_ExecutiveSummary_ELEM:
    if (!x->ExecutiveSummary)
      x->ExecutiveSummary = el;
    return 1;
  case zx_hrxml_Objective_ELEM:
    if (!x->Objective)
      x->Objective = el;
    return 1;
  case zx_hrxml_EmploymentHistory_ELEM:
    if (!x->EmploymentHistory)
      x->EmploymentHistory = (struct zx_hrxml_EmploymentHistory_s*)el;
    return 1;
  case zx_hrxml_EducationHistory_ELEM:
    if (!x->EducationHistory)
      x->EducationHistory = (struct zx_hrxml_EducationHistory_s*)el;
    return 1;
  case zx_hrxml_LicensesAndCertifications_ELEM:
    if (!x->LicensesAndCertifications)
      x->LicensesAndCertifications = (struct zx_hrxml_LicensesAndCertifications_s*)el;
    return 1;
  case zx_hrxml_MilitaryHistory_ELEM:
    if (!x->MilitaryHistory)
      x->MilitaryHistory = (struct zx_hrxml_MilitaryHistory_s*)el;
    return 1;
  case zx_hrxml_PatentHistory_ELEM:
    if (!x->PatentHistory)
      x->PatentHistory = (struct zx_hrxml_PatentHistory_s*)el;
    return 1;
  case zx_hrxml_PublicationHistory_ELEM:
    if (!x->PublicationHistory)
      x->PublicationHistory = (struct zx_hrxml_PublicationHistory_s*)el;
    return 1;
  case zx_hrxml_SpeakingEventsHistory_ELEM:
    if (!x->SpeakingEventsHistory)
      x->SpeakingEventsHistory = (struct zx_hrxml_SpeakingEventsHistory_s*)el;
    return 1;
  case zx_hrxml_Qualifications_ELEM:
    if (!x->Qualifications)
      x->Qualifications = (struct zx_hrxml_Qualifications_s*)el;
    return 1;
  case zx_hrxml_Languages_ELEM:
    if (!x->Languages)
      x->Languages = (struct zx_hrxml_Languages_s*)el;
    return 1;
  case zx_hrxml_Achievements_ELEM:
    if (!x->Achievements)
      x->Achievements = (struct zx_hrxml_Achievements_s*)el;
    return 1;
  case zx_hrxml_Associations_ELEM:
    if (!x->Associations)
      x->Associations = (struct zx_hrxml_Associations_s*)el;
    return 1;
  case zx_hrxml_References_ELEM:
    if (!x->References)
      x->References = (struct zx_hrxml_References_s*)el;
    return 1;
  case zx_hrxml_SecurityCredentials_ELEM:
    if (!x->SecurityCredentials)
      x->SecurityCredentials = (struct zx_hrxml_SecurityCredentials_s*)el;
    return 1;
  case zx_hrxml_ResumeAdditionalItems_ELEM:
    if (!x->ResumeAdditionalItems)
      x->ResumeAdditionalItems = (struct zx_hrxml_ResumeAdditionalItems_s*)el;
    return 1;
  case zx_hrxml_SupportingMaterials_ELEM:
    if (!x->SupportingMaterials)
      x->SupportingMaterials = (struct zx_hrxml_SupportingMaterials_s*)el;
    return 1;
  case zx_hrxml_ProfessionalAssociations_ELEM:
    if (!x->ProfessionalAssociations)
      x->ProfessionalAssociations = (struct zx_hrxml_ProfessionalAssociations_s*)el;
    return 1;
  case zx_hrxml_Comments_ELEM:
    if (!x->Comments)
      x->Comments = el;
    return 1;
  case zx_hrxml_RevisionDate_ELEM:
    if (!x->RevisionDate)
      x->RevisionDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Link_ELEM:
    if (!x->Link)
      x->Link = el;
    return 1;
  case zx_hrxml_AttachmentReference_ELEM:
    if (!x->AttachmentReference)
      x->AttachmentReference = (struct zx_hrxml_AttachmentReference_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedNumber_ELEM:
    if (!x->FormattedNumber)
      x->FormattedNumber = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;
    case zx_id_ATTR:  x->id = x->gg.attr; return 1;
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_version_ATTR:  x->version = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_FormattedNumber_ELEM:
    if (!x->FormattedNumber)
      x->FormattedNumber = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Value_ELEM:
    if (!x->Value)
      x->Value = el;
    return 1;
  case zx_hrxml_Interval_ELEM:
    if (!x->Interval)
      x->Interval = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_unitOfMeasure_ATTR:  x->unitOfMeasure = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_timeOffType_ATTR:  x->timeOffType = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_Applicable_ELEM:
    if (!x->Applicable)
      x->Applicable = el;
    return 1;
  case zx_hrxml_TravelFrequency_ELEM:
    if (!x->TravelFrequency)
      x->TravelFrequency = el;
    return 1;
  case zx_hrxml_TravelConsiderations_ELEM:
    if (!x->TravelConsiderations)
      x->TravelConsiderations = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_lang_ATTR|zx_xml_NS:  x->lang = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_dateDescription_ATTR:  x->dateDescription = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_AnyDate_ELEM:
    if (!x->AnyDate)
      x->AnyDate = el;
    return 1;
  case zx_hrxml_YearMonth_ELEM:
    if (!x->YearMonth)
      x->YearMonth = el;
    return 1;
  case zx_hrxml_Year_ELEM:
    if (!x->Year)
      x->Year = el;
    return 1;
  case zx_hrxml_MonthDay_ELEM:
    if (!x->MonthDay)
      x->MonthDay = el;
    return 1;
  case zx_hrxml_StringDate_ELEM:
    if (!x->StringDate)
      x->StringDate = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_ContactInfo_ELEM:
    if (!x->ContactInfo)
      x->ContactInfo = (struct zx_hrxml_ContactInfo_s*)el;
    return 1;
  case zx_hrxml_ReasonForLeaving_ELEM:
    if (!x->ReasonForLeaving)
      x->ReasonForLeaving = el;
    return 1;
  case zx_hrxml_PermissionToContact_ELEM:
    if (!x->PermissionToContact)
      x->PermissionToContact = el;
    return 1;
  case zx_hrxml_VerifyEmployment_ELEM:
    if (!x->VerifyEmployment)
      x->VerifyEmployment = el;
    return 1;
  case zx_hrxml_EligibleForRehire_ELEM:
    if (!x->EligibleForRehire)
      x->EligibleForRehire = el;
    return 1;
  case zx_hrxml_AttendanceRating_ELEM:
    if (!x->AttendanceRating)
      x->AttendanceRating = el;
    return 1;
  case zx_hrxml_OverallPerformanceRating_ELEM:
    if (!x->OverallPerformanceRating)
      x->OverallPerformanceRating = el;
    return 1;
  case zx_hrxml_QuestionAnswerPair_ELEM:
    if (!x->QuestionAnswerPair)
      x->QuestionAnswerPair = el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_countryCode_ATTR:  x->countryCode = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_description_ATTR:  x->description = x->gg.attr; return 1;
    case zx_interval_ATTR:  x->interval = x->gg.attr; return 1;
    case zx_maxValue_ATTR:  x->maxValue = x->gg.attr; return 1;
    case zx_minValue_ATTR:  x->minValue = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_WorkSiteName_ELEM:
    if (!x->WorkSiteName)
      x->WorkSiteName = el;
    return 1;
  case zx_hrxml_WorkSiteId_ELEM:
    if (!x->WorkSiteId)
      x->WorkSiteId = (struct zx_hrxml_WorkSiteId_s*)el;
    return 1;
  case zx_hrxml_Details_ELEM:
    if (!x->Details)
      x->Details = (struct zx_hrxml_Details_s*)el;
    return 1;
  case zx_hrxml_PostalAddress_ELEM:
    if (!x->PostalAddress)
      x->PostalAddress = (struct zx_hrxml_PostalAddress_s*)el;
    return 1;
  case zx_hrxml_TravelDirections_ELEM:
    if (!x->TravelDirections)
      x->TravelDirections = (struct zx_hrxml_TravelDirections_s*)el;
    return 1;
  case zx_hrxml_ParkingInstructions_ELEM:
    if (!x->ParkingInstructions)
      x->ParkingInstructions = (struct zx_hrxml_ParkingInstructions_s*)el;
    return 1;
  case zx_hrxml_WorkSiteEnvironment_ELEM:
    if (!x->WorkSiteEnvironment)
      x->WorkSiteEnvironment = (struct zx_hrxml_WorkSiteEnvironment_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




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

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_EnvironmentName_ELEM:
    if (!x->EnvironmentName)
      x->EnvironmentName = el;
    return 1;
  case zx_hrxml_EnvironmentId_ELEM:
    if (!x->EnvironmentId)
      x->EnvironmentId = (struct zx_hrxml_EnvironmentId_s*)el;
    return 1;
  case zx_hrxml_WorkSiteId_ELEM:
    if (!x->WorkSiteId)
      x->WorkSiteId = (struct zx_hrxml_WorkSiteId_s*)el;
    return 1;
  case zx_hrxml_Description_ELEM:
    if (!x->Description)
      x->Description = (struct zx_hrxml_Description_s*)el;
    return 1;
  case zx_hrxml_Considerations_ELEM:
    if (!x->Considerations)
      x->Considerations = (struct zx_hrxml_Considerations_s*)el;
    return 1;
  case zx_hrxml_UserArea_ELEM:
    if (!x->UserArea)
      x->UserArea = (struct zx_hrxml_UserArea_s*)el;
    return 1;

  default: return 0;
  }
}




int zx_DEC_ATTR_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x)
{
  switch (x->gg.attr->g.tok) {
    case zx_idOwner_ATTR:  x->idOwner = x->gg.attr; return 1;
    case zx_validFrom_ATTR:  x->validFrom = x->gg.attr; return 1;
    case zx_validTo_ATTR:  x->validTo = x->gg.attr; return 1;

  default: return 0;
  }
}

int zx_DEC_ELEM_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x)
{
  struct zx_elem_s* el = x->gg.kids;
  switch (el->g.tok) {
  case zx_hrxml_IdValue_ELEM:
    if (!x->IdValue)
      x->IdValue = (struct zx_hrxml_IdValue_s*)el;
    return 1;

  default: return 0;
  }
}


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