/* c/zx-hrxml-data.h - WARNING: This header was auto generated by xsd2sg.pl. DO NOT EDIT!
 * $Id$ */
/* Datastructure design, topography, and layout
 * Copyright (c) 2006,2010 Sampo Kellomaki (sampo@iki.fi),
 * All Rights Reserved. NO WARRANTY. See file COPYING for
 * terms and conditions of use. Element and attributes names as well
 * as some topography are derived from schema descriptions that were used as
 * input and may be subject to their own copright. */

#ifndef _c_zx_hrxml_data_h
#define _c_zx_hrxml_data_h

#include "zx.h"
#include "c/zx-const.h"
#include "c/zx-data.h"

#ifndef ZX_ELEM_EXT
#define ZX_ELEM_EXT  /* This extension point should be defined by who includes this file. */
#endif

/* -------------------------- hrxml_AccountingCode -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_OrganizationalUnit_s ) */
#ifndef zx_hrxml_AccountingCode_EXT
#define zx_hrxml_AccountingCode_EXT
#endif
struct zx_hrxml_AccountingCode_s {
  ZX_ELEM_EXT
  zx_hrxml_AccountingCode_EXT
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_AccountingCode(c, father) (struct zx_hrxml_AccountingCode_s*)zx_new_elem((c),(father),zx_hrxml_AccountingCode_ELEM)
int zx_DEC_ATTR_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x);
int zx_DEC_ELEM_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_AccountingCode_s* zx_DEEP_CLONE_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x);
int zx_WALK_SO_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_AccountingCode(struct zx_ctx* c, struct zx_hrxml_AccountingCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_AccountingCode_GET_description(struct zx_hrxml_AccountingCode_s* x);





void zx_hrxml_AccountingCode_PUT_description(struct zx_hrxml_AccountingCode_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Achievement -------------------------- */
/* refby( zx_hrxml_Achievements_s ) */
#ifndef zx_hrxml_Achievement_EXT
#define zx_hrxml_Achievement_EXT
#endif
struct zx_hrxml_Achievement_s {
  ZX_ELEM_EXT
  zx_hrxml_Achievement_EXT
  struct zx_elem_s* Date;	/* {0,1} hrxml:LocalDateType */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_IssuingAuthority_s* IssuingAuthority;	/* {0,1}  */
};

#define zx_NEW_hrxml_Achievement(c, father) (struct zx_hrxml_Achievement_s*)zx_new_elem((c),(father),zx_hrxml_Achievement_ELEM)
int zx_DEC_ATTR_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x);
int zx_DEC_ELEM_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Achievement_s* zx_DEEP_CLONE_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x);
int zx_WALK_SO_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Achievement(struct zx_ctx* c, struct zx_hrxml_Achievement_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Achievement_GET_Date(struct zx_hrxml_Achievement_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_Achievement_GET_Description(struct zx_hrxml_Achievement_s* x, int n);
struct zx_hrxml_IssuingAuthority_s* zx_hrxml_Achievement_GET_IssuingAuthority(struct zx_hrxml_Achievement_s* x, int n);

int zx_hrxml_Achievement_NUM_Date(struct zx_hrxml_Achievement_s* x);
int zx_hrxml_Achievement_NUM_Description(struct zx_hrxml_Achievement_s* x);
int zx_hrxml_Achievement_NUM_IssuingAuthority(struct zx_hrxml_Achievement_s* x);

struct zx_elem_s* zx_hrxml_Achievement_POP_Date(struct zx_hrxml_Achievement_s* x);
struct zx_hrxml_Description_s* zx_hrxml_Achievement_POP_Description(struct zx_hrxml_Achievement_s* x);
struct zx_hrxml_IssuingAuthority_s* zx_hrxml_Achievement_POP_IssuingAuthority(struct zx_hrxml_Achievement_s* x);

void zx_hrxml_Achievement_PUSH_Date(struct zx_hrxml_Achievement_s* x, struct zx_elem_s* y);
void zx_hrxml_Achievement_PUSH_Description(struct zx_hrxml_Achievement_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_Achievement_PUSH_IssuingAuthority(struct zx_hrxml_Achievement_s* x, struct zx_hrxml_IssuingAuthority_s* y);


void zx_hrxml_Achievement_PUT_Date(struct zx_hrxml_Achievement_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Achievement_PUT_Description(struct zx_hrxml_Achievement_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_Achievement_PUT_IssuingAuthority(struct zx_hrxml_Achievement_s* x, int n, struct zx_hrxml_IssuingAuthority_s* y);

void zx_hrxml_Achievement_ADD_Date(struct zx_hrxml_Achievement_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Achievement_ADD_Description(struct zx_hrxml_Achievement_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_Achievement_ADD_IssuingAuthority(struct zx_hrxml_Achievement_s* x, int n, struct zx_hrxml_IssuingAuthority_s* z);

void zx_hrxml_Achievement_DEL_Date(struct zx_hrxml_Achievement_s* x,int n);
void zx_hrxml_Achievement_DEL_Description(struct zx_hrxml_Achievement_s* x, int n);
void zx_hrxml_Achievement_DEL_IssuingAuthority(struct zx_hrxml_Achievement_s* x, int n);

void zx_hrxml_Achievement_REV_Date(struct zx_hrxml_Achievement_s* x);
void zx_hrxml_Achievement_REV_Description(struct zx_hrxml_Achievement_s* x);
void zx_hrxml_Achievement_REV_IssuingAuthority(struct zx_hrxml_Achievement_s* x);

#endif
/* -------------------------- hrxml_Achievements -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_Achievements_EXT
#define zx_hrxml_Achievements_EXT
#endif
struct zx_hrxml_Achievements_s {
  ZX_ELEM_EXT
  zx_hrxml_Achievements_EXT
  struct zx_hrxml_Achievement_s* Achievement;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_Achievements(c, father) (struct zx_hrxml_Achievements_s*)zx_new_elem((c),(father),zx_hrxml_Achievements_ELEM)
int zx_DEC_ATTR_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x);
int zx_DEC_ELEM_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Achievements_s* zx_DEEP_CLONE_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x);
int zx_WALK_SO_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Achievements(struct zx_ctx* c, struct zx_hrxml_Achievements_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Achievement_s* zx_hrxml_Achievements_GET_Achievement(struct zx_hrxml_Achievements_s* x, int n);

int zx_hrxml_Achievements_NUM_Achievement(struct zx_hrxml_Achievements_s* x);

struct zx_hrxml_Achievement_s* zx_hrxml_Achievements_POP_Achievement(struct zx_hrxml_Achievements_s* x);

void zx_hrxml_Achievements_PUSH_Achievement(struct zx_hrxml_Achievements_s* x, struct zx_hrxml_Achievement_s* y);


void zx_hrxml_Achievements_PUT_Achievement(struct zx_hrxml_Achievements_s* x, int n, struct zx_hrxml_Achievement_s* y);

void zx_hrxml_Achievements_ADD_Achievement(struct zx_hrxml_Achievements_s* x, int n, struct zx_hrxml_Achievement_s* z);

void zx_hrxml_Achievements_DEL_Achievement(struct zx_hrxml_Achievements_s* x, int n);

void zx_hrxml_Achievements_REV_Achievement(struct zx_hrxml_Achievements_s* x);

#endif
/* -------------------------- hrxml_AffirmativeActionPlanJobGroupId -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_AffirmativeActionPlanJobGroupId_EXT
#define zx_hrxml_AffirmativeActionPlanJobGroupId_EXT
#endif
struct zx_hrxml_AffirmativeActionPlanJobGroupId_s {
  ZX_ELEM_EXT
  zx_hrxml_AffirmativeActionPlanJobGroupId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_AffirmativeActionPlanJobGroupId(c, father) (struct zx_hrxml_AffirmativeActionPlanJobGroupId_s*)zx_new_elem((c),(father),zx_hrxml_AffirmativeActionPlanJobGroupId_ELEM)
int zx_DEC_ATTR_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);
int zx_DEC_ELEM_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* zx_DEEP_CLONE_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);
int zx_WALK_SO_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_AffirmativeActionPlanJobGroupId(struct zx_ctx* c, struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_AffirmativeActionPlanJobGroupId_GET_idOwner(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);
struct zx_attr_s* zx_hrxml_AffirmativeActionPlanJobGroupId_GET_validFrom(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);
struct zx_attr_s* zx_hrxml_AffirmativeActionPlanJobGroupId_GET_validTo(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_AffirmativeActionPlanJobGroupId_GET_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, int n);

int zx_hrxml_AffirmativeActionPlanJobGroupId_NUM_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_AffirmativeActionPlanJobGroupId_POP_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);

void zx_hrxml_AffirmativeActionPlanJobGroupId_PUSH_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_AffirmativeActionPlanJobGroupId_PUT_idOwner(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, struct zx_attr_s* y);
void zx_hrxml_AffirmativeActionPlanJobGroupId_PUT_validFrom(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, struct zx_attr_s* y);
void zx_hrxml_AffirmativeActionPlanJobGroupId_PUT_validTo(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, struct zx_attr_s* y);

void zx_hrxml_AffirmativeActionPlanJobGroupId_PUT_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_AffirmativeActionPlanJobGroupId_ADD_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_AffirmativeActionPlanJobGroupId_DEL_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x, int n);

void zx_hrxml_AffirmativeActionPlanJobGroupId_REV_IdValue(struct zx_hrxml_AffirmativeActionPlanJobGroupId_s* x);

#endif
/* -------------------------- hrxml_Affix -------------------------- */
/* refby( zx_hrxml_ContactName_s zx_hrxml_PersonName_s zx_hrxml_AlternateScript_s ) */
#ifndef zx_hrxml_Affix_EXT
#define zx_hrxml_Affix_EXT
#endif
struct zx_hrxml_Affix_s {
  ZX_ELEM_EXT
  zx_hrxml_Affix_EXT
  struct zx_attr_s* type;	/* {1,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_Affix(c, father) (struct zx_hrxml_Affix_s*)zx_new_elem((c),(father),zx_hrxml_Affix_ELEM)
int zx_DEC_ATTR_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x);
int zx_DEC_ELEM_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Affix_s* zx_DEEP_CLONE_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x);
int zx_WALK_SO_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Affix(struct zx_ctx* c, struct zx_hrxml_Affix_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Affix_GET_type(struct zx_hrxml_Affix_s* x);





void zx_hrxml_Affix_PUT_type(struct zx_hrxml_Affix_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_AlternateScript -------------------------- */
/* refby( zx_hrxml_ContactName_s zx_hrxml_PersonName_s ) */
#ifndef zx_hrxml_AlternateScript_EXT
#define zx_hrxml_AlternateScript_EXT
#endif
struct zx_hrxml_AlternateScript_s {
  ZX_ELEM_EXT
  zx_hrxml_AlternateScript_EXT
  struct zx_elem_s* FormattedName;	/* {0,1} xsd:string */
  struct zx_elem_s* LegalName;	/* {0,1} xsd:string */
  struct zx_elem_s* GivenName;	/* {0,-1} xsd:string */
  struct zx_elem_s* PreferredGivenName;	/* {0,1} xsd:string */
  struct zx_elem_s* MiddleName;	/* {0,1} xsd:string */
  struct zx_hrxml_FamilyName_s* FamilyName;	/* {0,-1}  */
  struct zx_hrxml_Affix_s* Affix;	/* {0,-1}  */
  struct zx_attr_s* script;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_AlternateScript(c, father) (struct zx_hrxml_AlternateScript_s*)zx_new_elem((c),(father),zx_hrxml_AlternateScript_ELEM)
int zx_DEC_ATTR_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x);
int zx_DEC_ELEM_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_AlternateScript_s* zx_DEEP_CLONE_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x);
int zx_WALK_SO_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_AlternateScript(struct zx_ctx* c, struct zx_hrxml_AlternateScript_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_AlternateScript_GET_script(struct zx_hrxml_AlternateScript_s* x);

struct zx_elem_s* zx_hrxml_AlternateScript_GET_FormattedName(struct zx_hrxml_AlternateScript_s* x, int n);
struct zx_elem_s* zx_hrxml_AlternateScript_GET_LegalName(struct zx_hrxml_AlternateScript_s* x, int n);
struct zx_elem_s* zx_hrxml_AlternateScript_GET_GivenName(struct zx_hrxml_AlternateScript_s* x, int n);
struct zx_elem_s* zx_hrxml_AlternateScript_GET_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x, int n);
struct zx_elem_s* zx_hrxml_AlternateScript_GET_MiddleName(struct zx_hrxml_AlternateScript_s* x, int n);
struct zx_hrxml_FamilyName_s* zx_hrxml_AlternateScript_GET_FamilyName(struct zx_hrxml_AlternateScript_s* x, int n);
struct zx_hrxml_Affix_s* zx_hrxml_AlternateScript_GET_Affix(struct zx_hrxml_AlternateScript_s* x, int n);

int zx_hrxml_AlternateScript_NUM_FormattedName(struct zx_hrxml_AlternateScript_s* x);
int zx_hrxml_AlternateScript_NUM_LegalName(struct zx_hrxml_AlternateScript_s* x);
int zx_hrxml_AlternateScript_NUM_GivenName(struct zx_hrxml_AlternateScript_s* x);
int zx_hrxml_AlternateScript_NUM_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x);
int zx_hrxml_AlternateScript_NUM_MiddleName(struct zx_hrxml_AlternateScript_s* x);
int zx_hrxml_AlternateScript_NUM_FamilyName(struct zx_hrxml_AlternateScript_s* x);
int zx_hrxml_AlternateScript_NUM_Affix(struct zx_hrxml_AlternateScript_s* x);

struct zx_elem_s* zx_hrxml_AlternateScript_POP_FormattedName(struct zx_hrxml_AlternateScript_s* x);
struct zx_elem_s* zx_hrxml_AlternateScript_POP_LegalName(struct zx_hrxml_AlternateScript_s* x);
struct zx_elem_s* zx_hrxml_AlternateScript_POP_GivenName(struct zx_hrxml_AlternateScript_s* x);
struct zx_elem_s* zx_hrxml_AlternateScript_POP_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x);
struct zx_elem_s* zx_hrxml_AlternateScript_POP_MiddleName(struct zx_hrxml_AlternateScript_s* x);
struct zx_hrxml_FamilyName_s* zx_hrxml_AlternateScript_POP_FamilyName(struct zx_hrxml_AlternateScript_s* x);
struct zx_hrxml_Affix_s* zx_hrxml_AlternateScript_POP_Affix(struct zx_hrxml_AlternateScript_s* x);

void zx_hrxml_AlternateScript_PUSH_FormattedName(struct zx_hrxml_AlternateScript_s* x, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUSH_LegalName(struct zx_hrxml_AlternateScript_s* x, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUSH_GivenName(struct zx_hrxml_AlternateScript_s* x, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUSH_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUSH_MiddleName(struct zx_hrxml_AlternateScript_s* x, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUSH_FamilyName(struct zx_hrxml_AlternateScript_s* x, struct zx_hrxml_FamilyName_s* y);
void zx_hrxml_AlternateScript_PUSH_Affix(struct zx_hrxml_AlternateScript_s* x, struct zx_hrxml_Affix_s* y);

void zx_hrxml_AlternateScript_PUT_script(struct zx_hrxml_AlternateScript_s* x, struct zx_attr_s* y);

void zx_hrxml_AlternateScript_PUT_FormattedName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUT_LegalName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUT_GivenName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUT_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUT_MiddleName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_AlternateScript_PUT_FamilyName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_hrxml_FamilyName_s* y);
void zx_hrxml_AlternateScript_PUT_Affix(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_hrxml_Affix_s* y);

void zx_hrxml_AlternateScript_ADD_FormattedName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_AlternateScript_ADD_LegalName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_AlternateScript_ADD_GivenName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_AlternateScript_ADD_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_AlternateScript_ADD_MiddleName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_AlternateScript_ADD_FamilyName(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_hrxml_FamilyName_s* z);
void zx_hrxml_AlternateScript_ADD_Affix(struct zx_hrxml_AlternateScript_s* x, int n, struct zx_hrxml_Affix_s* z);

void zx_hrxml_AlternateScript_DEL_FormattedName(struct zx_hrxml_AlternateScript_s* x,int n);
void zx_hrxml_AlternateScript_DEL_LegalName(struct zx_hrxml_AlternateScript_s* x,int n);
void zx_hrxml_AlternateScript_DEL_GivenName(struct zx_hrxml_AlternateScript_s* x,int n);
void zx_hrxml_AlternateScript_DEL_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x,int n);
void zx_hrxml_AlternateScript_DEL_MiddleName(struct zx_hrxml_AlternateScript_s* x,int n);
void zx_hrxml_AlternateScript_DEL_FamilyName(struct zx_hrxml_AlternateScript_s* x, int n);
void zx_hrxml_AlternateScript_DEL_Affix(struct zx_hrxml_AlternateScript_s* x, int n);

void zx_hrxml_AlternateScript_REV_FormattedName(struct zx_hrxml_AlternateScript_s* x);
void zx_hrxml_AlternateScript_REV_LegalName(struct zx_hrxml_AlternateScript_s* x);
void zx_hrxml_AlternateScript_REV_GivenName(struct zx_hrxml_AlternateScript_s* x);
void zx_hrxml_AlternateScript_REV_PreferredGivenName(struct zx_hrxml_AlternateScript_s* x);
void zx_hrxml_AlternateScript_REV_MiddleName(struct zx_hrxml_AlternateScript_s* x);
void zx_hrxml_AlternateScript_REV_FamilyName(struct zx_hrxml_AlternateScript_s* x);
void zx_hrxml_AlternateScript_REV_Affix(struct zx_hrxml_AlternateScript_s* x);

#endif
/* -------------------------- hrxml_Area -------------------------- */
/* refby( zx_hrxml_SEPPhysicalLocation_s zx_hrxml_PhysicalLocation_s zx_hrxml_Area_s ) */
#ifndef zx_hrxml_Area_EXT
#define zx_hrxml_Area_EXT
#endif
struct zx_hrxml_Area_s {
  ZX_ELEM_EXT
  zx_hrxml_Area_EXT
  struct zx_elem_s* Value;	/* {1,1} xsd:string */
  struct zx_hrxml_Area_s* Area;	/* {0,-1}  */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_Area(c, father) (struct zx_hrxml_Area_s*)zx_new_elem((c),(father),zx_hrxml_Area_ELEM)
int zx_DEC_ATTR_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x);
int zx_DEC_ELEM_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Area_s* zx_DEEP_CLONE_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x);
int zx_WALK_SO_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Area(struct zx_ctx* c, struct zx_hrxml_Area_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Area_GET_type(struct zx_hrxml_Area_s* x);

struct zx_elem_s* zx_hrxml_Area_GET_Value(struct zx_hrxml_Area_s* x, int n);
struct zx_hrxml_Area_s* zx_hrxml_Area_GET_Area(struct zx_hrxml_Area_s* x, int n);

int zx_hrxml_Area_NUM_Value(struct zx_hrxml_Area_s* x);
int zx_hrxml_Area_NUM_Area(struct zx_hrxml_Area_s* x);

struct zx_elem_s* zx_hrxml_Area_POP_Value(struct zx_hrxml_Area_s* x);
struct zx_hrxml_Area_s* zx_hrxml_Area_POP_Area(struct zx_hrxml_Area_s* x);

void zx_hrxml_Area_PUSH_Value(struct zx_hrxml_Area_s* x, struct zx_elem_s* y);
void zx_hrxml_Area_PUSH_Area(struct zx_hrxml_Area_s* x, struct zx_hrxml_Area_s* y);

void zx_hrxml_Area_PUT_type(struct zx_hrxml_Area_s* x, struct zx_attr_s* y);

void zx_hrxml_Area_PUT_Value(struct zx_hrxml_Area_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Area_PUT_Area(struct zx_hrxml_Area_s* x, int n, struct zx_hrxml_Area_s* y);

void zx_hrxml_Area_ADD_Value(struct zx_hrxml_Area_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Area_ADD_Area(struct zx_hrxml_Area_s* x, int n, struct zx_hrxml_Area_s* z);

void zx_hrxml_Area_DEL_Value(struct zx_hrxml_Area_s* x,int n);
void zx_hrxml_Area_DEL_Area(struct zx_hrxml_Area_s* x, int n);

void zx_hrxml_Area_REV_Value(struct zx_hrxml_Area_s* x);
void zx_hrxml_Area_REV_Area(struct zx_hrxml_Area_s* x);

#endif
/* -------------------------- hrxml_Article -------------------------- */
/* refby( zx_hrxml_PublicationHistory_s ) */
#ifndef zx_hrxml_Article_EXT
#define zx_hrxml_Article_EXT
#endif
struct zx_hrxml_Article_s {
  ZX_ELEM_EXT
  zx_hrxml_Article_EXT
  struct zx_elem_s* Title;	/* {1,1} xsd:string */
  struct zx_elem_s* Name;	/* {0,-1} xsd:string */
  struct zx_hrxml_PublicationDate_s* PublicationDate;	/* {0,1}  */
  struct zx_elem_s* Link;	/* {0,-1} InternetWebAddressType */
  struct zx_elem_s* Abstract;	/* {0,1} xsd:string */
  struct zx_hrxml_Copyright_s* Copyright;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* JournalOrSerialName;	/* {0,1} xsd:string */
  struct zx_elem_s* ISSN;	/* {0,1} xsd:string */
  struct zx_elem_s* Volume;	/* {0,1} xsd:string */
  struct zx_elem_s* Issue;	/* {0,1} xsd:string */
  struct zx_elem_s* PageNumber;	/* {0,1} xsd:string */
  struct zx_hrxml_PublicationLanguage_s* PublicationLanguage;	/* {0,1}  */
};

#define zx_NEW_hrxml_Article(c, father) (struct zx_hrxml_Article_s*)zx_new_elem((c),(father),zx_hrxml_Article_ELEM)
int zx_DEC_ATTR_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x);
int zx_DEC_ELEM_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Article_s* zx_DEEP_CLONE_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x);
int zx_WALK_SO_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Article(struct zx_ctx* c, struct zx_hrxml_Article_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Article_GET_Title(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_Name(struct zx_hrxml_Article_s* x, int n);
struct zx_hrxml_PublicationDate_s* zx_hrxml_Article_GET_PublicationDate(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_Link(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_Abstract(struct zx_hrxml_Article_s* x, int n);
struct zx_hrxml_Copyright_s* zx_hrxml_Article_GET_Copyright(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_Comments(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_JournalOrSerialName(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_ISSN(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_Volume(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_Issue(struct zx_hrxml_Article_s* x, int n);
struct zx_elem_s* zx_hrxml_Article_GET_PageNumber(struct zx_hrxml_Article_s* x, int n);
struct zx_hrxml_PublicationLanguage_s* zx_hrxml_Article_GET_PublicationLanguage(struct zx_hrxml_Article_s* x, int n);

int zx_hrxml_Article_NUM_Title(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Name(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_PublicationDate(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Link(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Abstract(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Copyright(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Comments(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_JournalOrSerialName(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_ISSN(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Volume(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_Issue(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_PageNumber(struct zx_hrxml_Article_s* x);
int zx_hrxml_Article_NUM_PublicationLanguage(struct zx_hrxml_Article_s* x);

struct zx_elem_s* zx_hrxml_Article_POP_Title(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_Name(struct zx_hrxml_Article_s* x);
struct zx_hrxml_PublicationDate_s* zx_hrxml_Article_POP_PublicationDate(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_Link(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_Abstract(struct zx_hrxml_Article_s* x);
struct zx_hrxml_Copyright_s* zx_hrxml_Article_POP_Copyright(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_Comments(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_JournalOrSerialName(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_ISSN(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_Volume(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_Issue(struct zx_hrxml_Article_s* x);
struct zx_elem_s* zx_hrxml_Article_POP_PageNumber(struct zx_hrxml_Article_s* x);
struct zx_hrxml_PublicationLanguage_s* zx_hrxml_Article_POP_PublicationLanguage(struct zx_hrxml_Article_s* x);

void zx_hrxml_Article_PUSH_Title(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_Name(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_PublicationDate(struct zx_hrxml_Article_s* x, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_Article_PUSH_Link(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_Abstract(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_Copyright(struct zx_hrxml_Article_s* x, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_Article_PUSH_Comments(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_JournalOrSerialName(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_ISSN(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_Volume(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_Issue(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_PageNumber(struct zx_hrxml_Article_s* x, struct zx_elem_s* y);
void zx_hrxml_Article_PUSH_PublicationLanguage(struct zx_hrxml_Article_s* x, struct zx_hrxml_PublicationLanguage_s* y);


void zx_hrxml_Article_PUT_Title(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_Name(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_PublicationDate(struct zx_hrxml_Article_s* x, int n, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_Article_PUT_Link(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_Abstract(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_Copyright(struct zx_hrxml_Article_s* x, int n, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_Article_PUT_Comments(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_JournalOrSerialName(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_ISSN(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_Volume(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_Issue(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_PageNumber(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Article_PUT_PublicationLanguage(struct zx_hrxml_Article_s* x, int n, struct zx_hrxml_PublicationLanguage_s* y);

void zx_hrxml_Article_ADD_Title(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_Name(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_PublicationDate(struct zx_hrxml_Article_s* x, int n, struct zx_hrxml_PublicationDate_s* z);
void zx_hrxml_Article_ADD_Link(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_Abstract(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_Copyright(struct zx_hrxml_Article_s* x, int n, struct zx_hrxml_Copyright_s* z);
void zx_hrxml_Article_ADD_Comments(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_JournalOrSerialName(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_ISSN(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_Volume(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_Issue(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_PageNumber(struct zx_hrxml_Article_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Article_ADD_PublicationLanguage(struct zx_hrxml_Article_s* x, int n, struct zx_hrxml_PublicationLanguage_s* z);

void zx_hrxml_Article_DEL_Title(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_Name(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_PublicationDate(struct zx_hrxml_Article_s* x, int n);
void zx_hrxml_Article_DEL_Link(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_Abstract(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_Copyright(struct zx_hrxml_Article_s* x, int n);
void zx_hrxml_Article_DEL_Comments(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_JournalOrSerialName(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_ISSN(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_Volume(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_Issue(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_PageNumber(struct zx_hrxml_Article_s* x,int n);
void zx_hrxml_Article_DEL_PublicationLanguage(struct zx_hrxml_Article_s* x, int n);

void zx_hrxml_Article_REV_Title(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Name(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_PublicationDate(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Link(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Abstract(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Copyright(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Comments(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_JournalOrSerialName(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_ISSN(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Volume(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_Issue(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_PageNumber(struct zx_hrxml_Article_s* x);
void zx_hrxml_Article_REV_PublicationLanguage(struct zx_hrxml_Article_s* x);

#endif
/* -------------------------- hrxml_Association -------------------------- */
/* refby( zx_hrxml_Associations_s zx_hrxml_ProfessionalAssociations_s ) */
#ifndef zx_hrxml_Association_EXT
#define zx_hrxml_Association_EXT
#endif
struct zx_hrxml_Association_s {
  ZX_ELEM_EXT
  zx_hrxml_Association_EXT
  struct zx_elem_s* Name;	/* {1,1} xsd:string */
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Link;	/* {0,1} InternetWebAddressType */
  struct zx_hrxml_StartDate_s* StartDate;	/* {0,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
  struct zx_elem_s* Role;	/* {0,-1} xsd:string */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_Association(c, father) (struct zx_hrxml_Association_s*)zx_new_elem((c),(father),zx_hrxml_Association_ELEM)
int zx_DEC_ATTR_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x);
int zx_DEC_ELEM_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Association_s* zx_DEEP_CLONE_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x);
int zx_WALK_SO_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Association(struct zx_ctx* c, struct zx_hrxml_Association_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Association_GET_type(struct zx_hrxml_Association_s* x);

struct zx_elem_s* zx_hrxml_Association_GET_Name(struct zx_hrxml_Association_s* x, int n);
struct zx_hrxml_Id_s* zx_hrxml_Association_GET_Id(struct zx_hrxml_Association_s* x, int n);
struct zx_elem_s* zx_hrxml_Association_GET_Link(struct zx_hrxml_Association_s* x, int n);
struct zx_hrxml_StartDate_s* zx_hrxml_Association_GET_StartDate(struct zx_hrxml_Association_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_Association_GET_EndDate(struct zx_hrxml_Association_s* x, int n);
struct zx_elem_s* zx_hrxml_Association_GET_Role(struct zx_hrxml_Association_s* x, int n);
struct zx_elem_s* zx_hrxml_Association_GET_Comments(struct zx_hrxml_Association_s* x, int n);

int zx_hrxml_Association_NUM_Name(struct zx_hrxml_Association_s* x);
int zx_hrxml_Association_NUM_Id(struct zx_hrxml_Association_s* x);
int zx_hrxml_Association_NUM_Link(struct zx_hrxml_Association_s* x);
int zx_hrxml_Association_NUM_StartDate(struct zx_hrxml_Association_s* x);
int zx_hrxml_Association_NUM_EndDate(struct zx_hrxml_Association_s* x);
int zx_hrxml_Association_NUM_Role(struct zx_hrxml_Association_s* x);
int zx_hrxml_Association_NUM_Comments(struct zx_hrxml_Association_s* x);

struct zx_elem_s* zx_hrxml_Association_POP_Name(struct zx_hrxml_Association_s* x);
struct zx_hrxml_Id_s* zx_hrxml_Association_POP_Id(struct zx_hrxml_Association_s* x);
struct zx_elem_s* zx_hrxml_Association_POP_Link(struct zx_hrxml_Association_s* x);
struct zx_hrxml_StartDate_s* zx_hrxml_Association_POP_StartDate(struct zx_hrxml_Association_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_Association_POP_EndDate(struct zx_hrxml_Association_s* x);
struct zx_elem_s* zx_hrxml_Association_POP_Role(struct zx_hrxml_Association_s* x);
struct zx_elem_s* zx_hrxml_Association_POP_Comments(struct zx_hrxml_Association_s* x);

void zx_hrxml_Association_PUSH_Name(struct zx_hrxml_Association_s* x, struct zx_elem_s* y);
void zx_hrxml_Association_PUSH_Id(struct zx_hrxml_Association_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_Association_PUSH_Link(struct zx_hrxml_Association_s* x, struct zx_elem_s* y);
void zx_hrxml_Association_PUSH_StartDate(struct zx_hrxml_Association_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_Association_PUSH_EndDate(struct zx_hrxml_Association_s* x, struct zx_hrxml_EndDate_s* y);
void zx_hrxml_Association_PUSH_Role(struct zx_hrxml_Association_s* x, struct zx_elem_s* y);
void zx_hrxml_Association_PUSH_Comments(struct zx_hrxml_Association_s* x, struct zx_elem_s* y);

void zx_hrxml_Association_PUT_type(struct zx_hrxml_Association_s* x, struct zx_attr_s* y);

void zx_hrxml_Association_PUT_Name(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Association_PUT_Id(struct zx_hrxml_Association_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_Association_PUT_Link(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Association_PUT_StartDate(struct zx_hrxml_Association_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_Association_PUT_EndDate(struct zx_hrxml_Association_s* x, int n, struct zx_hrxml_EndDate_s* y);
void zx_hrxml_Association_PUT_Role(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Association_PUT_Comments(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Association_ADD_Name(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Association_ADD_Id(struct zx_hrxml_Association_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_Association_ADD_Link(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Association_ADD_StartDate(struct zx_hrxml_Association_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_Association_ADD_EndDate(struct zx_hrxml_Association_s* x, int n, struct zx_hrxml_EndDate_s* z);
void zx_hrxml_Association_ADD_Role(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Association_ADD_Comments(struct zx_hrxml_Association_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Association_DEL_Name(struct zx_hrxml_Association_s* x,int n);
void zx_hrxml_Association_DEL_Id(struct zx_hrxml_Association_s* x, int n);
void zx_hrxml_Association_DEL_Link(struct zx_hrxml_Association_s* x,int n);
void zx_hrxml_Association_DEL_StartDate(struct zx_hrxml_Association_s* x, int n);
void zx_hrxml_Association_DEL_EndDate(struct zx_hrxml_Association_s* x, int n);
void zx_hrxml_Association_DEL_Role(struct zx_hrxml_Association_s* x,int n);
void zx_hrxml_Association_DEL_Comments(struct zx_hrxml_Association_s* x,int n);

void zx_hrxml_Association_REV_Name(struct zx_hrxml_Association_s* x);
void zx_hrxml_Association_REV_Id(struct zx_hrxml_Association_s* x);
void zx_hrxml_Association_REV_Link(struct zx_hrxml_Association_s* x);
void zx_hrxml_Association_REV_StartDate(struct zx_hrxml_Association_s* x);
void zx_hrxml_Association_REV_EndDate(struct zx_hrxml_Association_s* x);
void zx_hrxml_Association_REV_Role(struct zx_hrxml_Association_s* x);
void zx_hrxml_Association_REV_Comments(struct zx_hrxml_Association_s* x);

#endif
/* -------------------------- hrxml_Associations -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_Associations_EXT
#define zx_hrxml_Associations_EXT
#endif
struct zx_hrxml_Associations_s {
  ZX_ELEM_EXT
  zx_hrxml_Associations_EXT
  struct zx_hrxml_Association_s* Association;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_Associations(c, father) (struct zx_hrxml_Associations_s*)zx_new_elem((c),(father),zx_hrxml_Associations_ELEM)
int zx_DEC_ATTR_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x);
int zx_DEC_ELEM_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Associations_s* zx_DEEP_CLONE_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x);
int zx_WALK_SO_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Associations(struct zx_ctx* c, struct zx_hrxml_Associations_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Association_s* zx_hrxml_Associations_GET_Association(struct zx_hrxml_Associations_s* x, int n);

int zx_hrxml_Associations_NUM_Association(struct zx_hrxml_Associations_s* x);

struct zx_hrxml_Association_s* zx_hrxml_Associations_POP_Association(struct zx_hrxml_Associations_s* x);

void zx_hrxml_Associations_PUSH_Association(struct zx_hrxml_Associations_s* x, struct zx_hrxml_Association_s* y);


void zx_hrxml_Associations_PUT_Association(struct zx_hrxml_Associations_s* x, int n, struct zx_hrxml_Association_s* y);

void zx_hrxml_Associations_ADD_Association(struct zx_hrxml_Associations_s* x, int n, struct zx_hrxml_Association_s* z);

void zx_hrxml_Associations_DEL_Association(struct zx_hrxml_Associations_s* x, int n);

void zx_hrxml_Associations_REV_Association(struct zx_hrxml_Associations_s* x);

#endif
/* -------------------------- hrxml_AttachmentReference -------------------------- */
/* refby( zx_hrxml_SupportingMaterials_s ) */
#ifndef zx_hrxml_AttachmentReference_EXT
#define zx_hrxml_AttachmentReference_EXT
#endif
struct zx_hrxml_AttachmentReference_s {
  ZX_ELEM_EXT
  zx_hrxml_AttachmentReference_EXT
  struct zx_attr_s* context;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* mimeType;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_AttachmentReference(c, father) (struct zx_hrxml_AttachmentReference_s*)zx_new_elem((c),(father),zx_hrxml_AttachmentReference_ELEM)
int zx_DEC_ATTR_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x);
int zx_DEC_ELEM_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_AttachmentReference_s* zx_DEEP_CLONE_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x);
int zx_WALK_SO_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_AttachmentReference(struct zx_ctx* c, struct zx_hrxml_AttachmentReference_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_AttachmentReference_GET_context(struct zx_hrxml_AttachmentReference_s* x);
struct zx_attr_s* zx_hrxml_AttachmentReference_GET_mimeType(struct zx_hrxml_AttachmentReference_s* x);





void zx_hrxml_AttachmentReference_PUT_context(struct zx_hrxml_AttachmentReference_s* x, struct zx_attr_s* y);
void zx_hrxml_AttachmentReference_PUT_mimeType(struct zx_hrxml_AttachmentReference_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_AvailabilityDates -------------------------- */
/* refby( zx_hrxml_AvailabilityInfo_s ) */
#ifndef zx_hrxml_AvailabilityDates_EXT
#define zx_hrxml_AvailabilityDates_EXT
#endif
struct zx_hrxml_AvailabilityDates_s {
  ZX_ELEM_EXT
  zx_hrxml_AvailabilityDates_EXT
  struct zx_hrxml_StartDate_s* StartDate;	/* {0,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
};

#define zx_NEW_hrxml_AvailabilityDates(c, father) (struct zx_hrxml_AvailabilityDates_s*)zx_new_elem((c),(father),zx_hrxml_AvailabilityDates_ELEM)
int zx_DEC_ATTR_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x);
int zx_DEC_ELEM_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_AvailabilityDates_s* zx_DEEP_CLONE_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x);
int zx_WALK_SO_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_AvailabilityDates(struct zx_ctx* c, struct zx_hrxml_AvailabilityDates_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_StartDate_s* zx_hrxml_AvailabilityDates_GET_StartDate(struct zx_hrxml_AvailabilityDates_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_AvailabilityDates_GET_EndDate(struct zx_hrxml_AvailabilityDates_s* x, int n);

int zx_hrxml_AvailabilityDates_NUM_StartDate(struct zx_hrxml_AvailabilityDates_s* x);
int zx_hrxml_AvailabilityDates_NUM_EndDate(struct zx_hrxml_AvailabilityDates_s* x);

struct zx_hrxml_StartDate_s* zx_hrxml_AvailabilityDates_POP_StartDate(struct zx_hrxml_AvailabilityDates_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_AvailabilityDates_POP_EndDate(struct zx_hrxml_AvailabilityDates_s* x);

void zx_hrxml_AvailabilityDates_PUSH_StartDate(struct zx_hrxml_AvailabilityDates_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_AvailabilityDates_PUSH_EndDate(struct zx_hrxml_AvailabilityDates_s* x, struct zx_hrxml_EndDate_s* y);


void zx_hrxml_AvailabilityDates_PUT_StartDate(struct zx_hrxml_AvailabilityDates_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_AvailabilityDates_PUT_EndDate(struct zx_hrxml_AvailabilityDates_s* x, int n, struct zx_hrxml_EndDate_s* y);

void zx_hrxml_AvailabilityDates_ADD_StartDate(struct zx_hrxml_AvailabilityDates_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_AvailabilityDates_ADD_EndDate(struct zx_hrxml_AvailabilityDates_s* x, int n, struct zx_hrxml_EndDate_s* z);

void zx_hrxml_AvailabilityDates_DEL_StartDate(struct zx_hrxml_AvailabilityDates_s* x, int n);
void zx_hrxml_AvailabilityDates_DEL_EndDate(struct zx_hrxml_AvailabilityDates_s* x, int n);

void zx_hrxml_AvailabilityDates_REV_StartDate(struct zx_hrxml_AvailabilityDates_s* x);
void zx_hrxml_AvailabilityDates_REV_EndDate(struct zx_hrxml_AvailabilityDates_s* x);

#endif
/* -------------------------- hrxml_AvailabilityInfo -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s ) */
#ifndef zx_hrxml_AvailabilityInfo_EXT
#define zx_hrxml_AvailabilityInfo_EXT
#endif
struct zx_hrxml_AvailabilityInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_AvailabilityInfo_EXT
  struct zx_hrxml_AvailabilityDates_s* AvailabilityDates;	/* {0,-1}  */
  struct zx_hrxml_TermOfNotice_s* TermOfNotice;	/* {0,1}  */
};

#define zx_NEW_hrxml_AvailabilityInfo(c, father) (struct zx_hrxml_AvailabilityInfo_s*)zx_new_elem((c),(father),zx_hrxml_AvailabilityInfo_ELEM)
int zx_DEC_ATTR_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x);
int zx_DEC_ELEM_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_AvailabilityInfo_s* zx_DEEP_CLONE_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x);
int zx_WALK_SO_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_AvailabilityInfo(struct zx_ctx* c, struct zx_hrxml_AvailabilityInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_AvailabilityDates_s* zx_hrxml_AvailabilityInfo_GET_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x, int n);
struct zx_hrxml_TermOfNotice_s* zx_hrxml_AvailabilityInfo_GET_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x, int n);

int zx_hrxml_AvailabilityInfo_NUM_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x);
int zx_hrxml_AvailabilityInfo_NUM_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x);

struct zx_hrxml_AvailabilityDates_s* zx_hrxml_AvailabilityInfo_POP_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x);
struct zx_hrxml_TermOfNotice_s* zx_hrxml_AvailabilityInfo_POP_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x);

void zx_hrxml_AvailabilityInfo_PUSH_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x, struct zx_hrxml_AvailabilityDates_s* y);
void zx_hrxml_AvailabilityInfo_PUSH_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x, struct zx_hrxml_TermOfNotice_s* y);


void zx_hrxml_AvailabilityInfo_PUT_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x, int n, struct zx_hrxml_AvailabilityDates_s* y);
void zx_hrxml_AvailabilityInfo_PUT_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x, int n, struct zx_hrxml_TermOfNotice_s* y);

void zx_hrxml_AvailabilityInfo_ADD_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x, int n, struct zx_hrxml_AvailabilityDates_s* z);
void zx_hrxml_AvailabilityInfo_ADD_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x, int n, struct zx_hrxml_TermOfNotice_s* z);

void zx_hrxml_AvailabilityInfo_DEL_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x, int n);
void zx_hrxml_AvailabilityInfo_DEL_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x, int n);

void zx_hrxml_AvailabilityInfo_REV_AvailabilityDates(struct zx_hrxml_AvailabilityInfo_s* x);
void zx_hrxml_AvailabilityInfo_REV_TermOfNotice(struct zx_hrxml_AvailabilityInfo_s* x);

#endif
/* -------------------------- hrxml_BKZClassification -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_BKZClassification_EXT
#define zx_hrxml_BKZClassification_EXT
#endif
struct zx_hrxml_BKZClassification_s {
  ZX_ELEM_EXT
  zx_hrxml_BKZClassification_EXT
  struct zx_hrxml_BKZId_s* BKZId;	/* {0,1}  */
  struct zx_elem_s* BKZName;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_BKZClassification(c, father) (struct zx_hrxml_BKZClassification_s*)zx_new_elem((c),(father),zx_hrxml_BKZClassification_ELEM)
int zx_DEC_ATTR_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x);
int zx_DEC_ELEM_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_BKZClassification_s* zx_DEEP_CLONE_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x);
int zx_WALK_SO_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_BKZClassification(struct zx_ctx* c, struct zx_hrxml_BKZClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_BKZId_s* zx_hrxml_BKZClassification_GET_BKZId(struct zx_hrxml_BKZClassification_s* x, int n);
struct zx_elem_s* zx_hrxml_BKZClassification_GET_BKZName(struct zx_hrxml_BKZClassification_s* x, int n);

int zx_hrxml_BKZClassification_NUM_BKZId(struct zx_hrxml_BKZClassification_s* x);
int zx_hrxml_BKZClassification_NUM_BKZName(struct zx_hrxml_BKZClassification_s* x);

struct zx_hrxml_BKZId_s* zx_hrxml_BKZClassification_POP_BKZId(struct zx_hrxml_BKZClassification_s* x);
struct zx_elem_s* zx_hrxml_BKZClassification_POP_BKZName(struct zx_hrxml_BKZClassification_s* x);

void zx_hrxml_BKZClassification_PUSH_BKZId(struct zx_hrxml_BKZClassification_s* x, struct zx_hrxml_BKZId_s* y);
void zx_hrxml_BKZClassification_PUSH_BKZName(struct zx_hrxml_BKZClassification_s* x, struct zx_elem_s* y);


void zx_hrxml_BKZClassification_PUT_BKZId(struct zx_hrxml_BKZClassification_s* x, int n, struct zx_hrxml_BKZId_s* y);
void zx_hrxml_BKZClassification_PUT_BKZName(struct zx_hrxml_BKZClassification_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_BKZClassification_ADD_BKZId(struct zx_hrxml_BKZClassification_s* x, int n, struct zx_hrxml_BKZId_s* z);
void zx_hrxml_BKZClassification_ADD_BKZName(struct zx_hrxml_BKZClassification_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_BKZClassification_DEL_BKZId(struct zx_hrxml_BKZClassification_s* x, int n);
void zx_hrxml_BKZClassification_DEL_BKZName(struct zx_hrxml_BKZClassification_s* x,int n);

void zx_hrxml_BKZClassification_REV_BKZId(struct zx_hrxml_BKZClassification_s* x);
void zx_hrxml_BKZClassification_REV_BKZName(struct zx_hrxml_BKZClassification_s* x);

#endif
/* -------------------------- hrxml_BKZId -------------------------- */
/* refby( zx_hrxml_BKZClassification_s ) */
#ifndef zx_hrxml_BKZId_EXT
#define zx_hrxml_BKZId_EXT
#endif
struct zx_hrxml_BKZId_s {
  ZX_ELEM_EXT
  zx_hrxml_BKZId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_BKZId(c, father) (struct zx_hrxml_BKZId_s*)zx_new_elem((c),(father),zx_hrxml_BKZId_ELEM)
int zx_DEC_ATTR_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x);
int zx_DEC_ELEM_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_BKZId_s* zx_DEEP_CLONE_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x);
int zx_WALK_SO_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_BKZId(struct zx_ctx* c, struct zx_hrxml_BKZId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_BKZId_GET_idOwner(struct zx_hrxml_BKZId_s* x);
struct zx_attr_s* zx_hrxml_BKZId_GET_validFrom(struct zx_hrxml_BKZId_s* x);
struct zx_attr_s* zx_hrxml_BKZId_GET_validTo(struct zx_hrxml_BKZId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_BKZId_GET_IdValue(struct zx_hrxml_BKZId_s* x, int n);

int zx_hrxml_BKZId_NUM_IdValue(struct zx_hrxml_BKZId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_BKZId_POP_IdValue(struct zx_hrxml_BKZId_s* x);

void zx_hrxml_BKZId_PUSH_IdValue(struct zx_hrxml_BKZId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_BKZId_PUT_idOwner(struct zx_hrxml_BKZId_s* x, struct zx_attr_s* y);
void zx_hrxml_BKZId_PUT_validFrom(struct zx_hrxml_BKZId_s* x, struct zx_attr_s* y);
void zx_hrxml_BKZId_PUT_validTo(struct zx_hrxml_BKZId_s* x, struct zx_attr_s* y);

void zx_hrxml_BKZId_PUT_IdValue(struct zx_hrxml_BKZId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_BKZId_ADD_IdValue(struct zx_hrxml_BKZId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_BKZId_DEL_IdValue(struct zx_hrxml_BKZId_s* x, int n);

void zx_hrxml_BKZId_REV_IdValue(struct zx_hrxml_BKZId_s* x);

#endif
/* -------------------------- hrxml_BasePay -------------------------- */
/* refby( zx_hrxml_PrehireRemuneration_s zx_hrxml_RemunerationPackage_s ) */
#ifndef zx_hrxml_BasePay_EXT
#define zx_hrxml_BasePay_EXT
#endif
struct zx_hrxml_BasePay_s {
  ZX_ELEM_EXT
  zx_hrxml_BasePay_EXT
  struct zx_elem_s* BasePayAmountMin;	/* {0,1} xsd:decimal */
  struct zx_elem_s* BasePayAmountMax;	/* {0,1} xsd:decimal */
  struct zx_attr_s* baseInterval;	/* {0,1} attribute hrxml:FrequencyType */
  struct zx_attr_s* currencyCode;	/* {0,1} attribute hrxml:CurrencyCodeType */
};

#define zx_NEW_hrxml_BasePay(c, father) (struct zx_hrxml_BasePay_s*)zx_new_elem((c),(father),zx_hrxml_BasePay_ELEM)
int zx_DEC_ATTR_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x);
int zx_DEC_ELEM_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_BasePay_s* zx_DEEP_CLONE_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x);
int zx_WALK_SO_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_BasePay(struct zx_ctx* c, struct zx_hrxml_BasePay_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_BasePay_GET_baseInterval(struct zx_hrxml_BasePay_s* x);
struct zx_attr_s* zx_hrxml_BasePay_GET_currencyCode(struct zx_hrxml_BasePay_s* x);

struct zx_elem_s* zx_hrxml_BasePay_GET_BasePayAmountMin(struct zx_hrxml_BasePay_s* x, int n);
struct zx_elem_s* zx_hrxml_BasePay_GET_BasePayAmountMax(struct zx_hrxml_BasePay_s* x, int n);

int zx_hrxml_BasePay_NUM_BasePayAmountMin(struct zx_hrxml_BasePay_s* x);
int zx_hrxml_BasePay_NUM_BasePayAmountMax(struct zx_hrxml_BasePay_s* x);

struct zx_elem_s* zx_hrxml_BasePay_POP_BasePayAmountMin(struct zx_hrxml_BasePay_s* x);
struct zx_elem_s* zx_hrxml_BasePay_POP_BasePayAmountMax(struct zx_hrxml_BasePay_s* x);

void zx_hrxml_BasePay_PUSH_BasePayAmountMin(struct zx_hrxml_BasePay_s* x, struct zx_elem_s* y);
void zx_hrxml_BasePay_PUSH_BasePayAmountMax(struct zx_hrxml_BasePay_s* x, struct zx_elem_s* y);

void zx_hrxml_BasePay_PUT_baseInterval(struct zx_hrxml_BasePay_s* x, struct zx_attr_s* y);
void zx_hrxml_BasePay_PUT_currencyCode(struct zx_hrxml_BasePay_s* x, struct zx_attr_s* y);

void zx_hrxml_BasePay_PUT_BasePayAmountMin(struct zx_hrxml_BasePay_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BasePay_PUT_BasePayAmountMax(struct zx_hrxml_BasePay_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_BasePay_ADD_BasePayAmountMin(struct zx_hrxml_BasePay_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BasePay_ADD_BasePayAmountMax(struct zx_hrxml_BasePay_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_BasePay_DEL_BasePayAmountMin(struct zx_hrxml_BasePay_s* x,int n);
void zx_hrxml_BasePay_DEL_BasePayAmountMax(struct zx_hrxml_BasePay_s* x,int n);

void zx_hrxml_BasePay_REV_BasePayAmountMin(struct zx_hrxml_BasePay_s* x);
void zx_hrxml_BasePay_REV_BasePayAmountMax(struct zx_hrxml_BasePay_s* x);

#endif
/* -------------------------- hrxml_Benefits -------------------------- */
/* refby( zx_hrxml_PrehireRemuneration_s zx_hrxml_RemunerationPackage_s ) */
#ifndef zx_hrxml_Benefits_EXT
#define zx_hrxml_Benefits_EXT
#endif
struct zx_hrxml_Benefits_s {
  ZX_ELEM_EXT
  zx_hrxml_Benefits_EXT
  struct zx_hrxml_Insurance_s* Insurance;	/* {0,-1}  */
  struct zx_elem_s* RetirementOrSavingsPlan;	/* {0,1} xsd:boolean */
  struct zx_hrxml_CompanyVehicle_s* CompanyVehicle;	/* {0,-1}  */
  struct zx_hrxml_RelocationAssistance_s* RelocationAssistance;	/* {0,-1}  */
  struct zx_elem_s* VisaSponsorship;	/* {0,1} xsd:boolean */
  struct zx_hrxml_TimeOffAllowance_s* TimeOffAllowance;	/* {0,-1}  */
  struct zx_hrxml_ExpatriateBenefits_s* ExpatriateBenefits;	/* {0,1}  */
  struct zx_hrxml_OtherBenefits_s* OtherBenefits;	/* {0,-1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Benefits(c, father) (struct zx_hrxml_Benefits_s*)zx_new_elem((c),(father),zx_hrxml_Benefits_ELEM)
int zx_DEC_ATTR_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x);
int zx_DEC_ELEM_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Benefits_s* zx_DEEP_CLONE_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x);
int zx_WALK_SO_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Benefits(struct zx_ctx* c, struct zx_hrxml_Benefits_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Insurance_s* zx_hrxml_Benefits_GET_Insurance(struct zx_hrxml_Benefits_s* x, int n);
struct zx_elem_s* zx_hrxml_Benefits_GET_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x, int n);
struct zx_hrxml_CompanyVehicle_s* zx_hrxml_Benefits_GET_CompanyVehicle(struct zx_hrxml_Benefits_s* x, int n);
struct zx_hrxml_RelocationAssistance_s* zx_hrxml_Benefits_GET_RelocationAssistance(struct zx_hrxml_Benefits_s* x, int n);
struct zx_elem_s* zx_hrxml_Benefits_GET_VisaSponsorship(struct zx_hrxml_Benefits_s* x, int n);
struct zx_hrxml_TimeOffAllowance_s* zx_hrxml_Benefits_GET_TimeOffAllowance(struct zx_hrxml_Benefits_s* x, int n);
struct zx_hrxml_ExpatriateBenefits_s* zx_hrxml_Benefits_GET_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x, int n);
struct zx_hrxml_OtherBenefits_s* zx_hrxml_Benefits_GET_OtherBenefits(struct zx_hrxml_Benefits_s* x, int n);
struct zx_elem_s* zx_hrxml_Benefits_GET_Comments(struct zx_hrxml_Benefits_s* x, int n);

int zx_hrxml_Benefits_NUM_Insurance(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_CompanyVehicle(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_RelocationAssistance(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_VisaSponsorship(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_TimeOffAllowance(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_OtherBenefits(struct zx_hrxml_Benefits_s* x);
int zx_hrxml_Benefits_NUM_Comments(struct zx_hrxml_Benefits_s* x);

struct zx_hrxml_Insurance_s* zx_hrxml_Benefits_POP_Insurance(struct zx_hrxml_Benefits_s* x);
struct zx_elem_s* zx_hrxml_Benefits_POP_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x);
struct zx_hrxml_CompanyVehicle_s* zx_hrxml_Benefits_POP_CompanyVehicle(struct zx_hrxml_Benefits_s* x);
struct zx_hrxml_RelocationAssistance_s* zx_hrxml_Benefits_POP_RelocationAssistance(struct zx_hrxml_Benefits_s* x);
struct zx_elem_s* zx_hrxml_Benefits_POP_VisaSponsorship(struct zx_hrxml_Benefits_s* x);
struct zx_hrxml_TimeOffAllowance_s* zx_hrxml_Benefits_POP_TimeOffAllowance(struct zx_hrxml_Benefits_s* x);
struct zx_hrxml_ExpatriateBenefits_s* zx_hrxml_Benefits_POP_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x);
struct zx_hrxml_OtherBenefits_s* zx_hrxml_Benefits_POP_OtherBenefits(struct zx_hrxml_Benefits_s* x);
struct zx_elem_s* zx_hrxml_Benefits_POP_Comments(struct zx_hrxml_Benefits_s* x);

void zx_hrxml_Benefits_PUSH_Insurance(struct zx_hrxml_Benefits_s* x, struct zx_hrxml_Insurance_s* y);
void zx_hrxml_Benefits_PUSH_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x, struct zx_elem_s* y);
void zx_hrxml_Benefits_PUSH_CompanyVehicle(struct zx_hrxml_Benefits_s* x, struct zx_hrxml_CompanyVehicle_s* y);
void zx_hrxml_Benefits_PUSH_RelocationAssistance(struct zx_hrxml_Benefits_s* x, struct zx_hrxml_RelocationAssistance_s* y);
void zx_hrxml_Benefits_PUSH_VisaSponsorship(struct zx_hrxml_Benefits_s* x, struct zx_elem_s* y);
void zx_hrxml_Benefits_PUSH_TimeOffAllowance(struct zx_hrxml_Benefits_s* x, struct zx_hrxml_TimeOffAllowance_s* y);
void zx_hrxml_Benefits_PUSH_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x, struct zx_hrxml_ExpatriateBenefits_s* y);
void zx_hrxml_Benefits_PUSH_OtherBenefits(struct zx_hrxml_Benefits_s* x, struct zx_hrxml_OtherBenefits_s* y);
void zx_hrxml_Benefits_PUSH_Comments(struct zx_hrxml_Benefits_s* x, struct zx_elem_s* y);


void zx_hrxml_Benefits_PUT_Insurance(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_Insurance_s* y);
void zx_hrxml_Benefits_PUT_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Benefits_PUT_CompanyVehicle(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_CompanyVehicle_s* y);
void zx_hrxml_Benefits_PUT_RelocationAssistance(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_RelocationAssistance_s* y);
void zx_hrxml_Benefits_PUT_VisaSponsorship(struct zx_hrxml_Benefits_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Benefits_PUT_TimeOffAllowance(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_TimeOffAllowance_s* y);
void zx_hrxml_Benefits_PUT_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_ExpatriateBenefits_s* y);
void zx_hrxml_Benefits_PUT_OtherBenefits(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_OtherBenefits_s* y);
void zx_hrxml_Benefits_PUT_Comments(struct zx_hrxml_Benefits_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Benefits_ADD_Insurance(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_Insurance_s* z);
void zx_hrxml_Benefits_ADD_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Benefits_ADD_CompanyVehicle(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_CompanyVehicle_s* z);
void zx_hrxml_Benefits_ADD_RelocationAssistance(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_RelocationAssistance_s* z);
void zx_hrxml_Benefits_ADD_VisaSponsorship(struct zx_hrxml_Benefits_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Benefits_ADD_TimeOffAllowance(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_TimeOffAllowance_s* z);
void zx_hrxml_Benefits_ADD_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_ExpatriateBenefits_s* z);
void zx_hrxml_Benefits_ADD_OtherBenefits(struct zx_hrxml_Benefits_s* x, int n, struct zx_hrxml_OtherBenefits_s* z);
void zx_hrxml_Benefits_ADD_Comments(struct zx_hrxml_Benefits_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Benefits_DEL_Insurance(struct zx_hrxml_Benefits_s* x, int n);
void zx_hrxml_Benefits_DEL_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x,int n);
void zx_hrxml_Benefits_DEL_CompanyVehicle(struct zx_hrxml_Benefits_s* x, int n);
void zx_hrxml_Benefits_DEL_RelocationAssistance(struct zx_hrxml_Benefits_s* x, int n);
void zx_hrxml_Benefits_DEL_VisaSponsorship(struct zx_hrxml_Benefits_s* x,int n);
void zx_hrxml_Benefits_DEL_TimeOffAllowance(struct zx_hrxml_Benefits_s* x, int n);
void zx_hrxml_Benefits_DEL_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x, int n);
void zx_hrxml_Benefits_DEL_OtherBenefits(struct zx_hrxml_Benefits_s* x, int n);
void zx_hrxml_Benefits_DEL_Comments(struct zx_hrxml_Benefits_s* x,int n);

void zx_hrxml_Benefits_REV_Insurance(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_RetirementOrSavingsPlan(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_CompanyVehicle(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_RelocationAssistance(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_VisaSponsorship(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_TimeOffAllowance(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_ExpatriateBenefits(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_OtherBenefits(struct zx_hrxml_Benefits_s* x);
void zx_hrxml_Benefits_REV_Comments(struct zx_hrxml_Benefits_s* x);

#endif
/* -------------------------- hrxml_BiologicalDescriptors -------------------------- */
/* refby( zx_hrxml_PersonDescriptors_s ) */
#ifndef zx_hrxml_BiologicalDescriptors_EXT
#define zx_hrxml_BiologicalDescriptors_EXT
#endif
struct zx_hrxml_BiologicalDescriptors_s {
  ZX_ELEM_EXT
  zx_hrxml_BiologicalDescriptors_EXT
  struct zx_elem_s* DateOfBirth;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* MonthDayOfBirth;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* Age;	/* {0,1} xsd:nonNegativeInteger */
  struct zx_elem_s* GenderCode;	/* {0,1} xsd:integer */
  struct zx_elem_s* EyeColor;	/* {0,1} hrxml:PersonEyeColorQualifiers */
  struct zx_elem_s* HairColor;	/* {0,1} hrxml:PersonHairColorQualifiers */
  struct zx_hrxml_Height_s* Height;	/* {0,1}  */
  struct zx_hrxml_Weight_s* Weight;	/* {0,1}  */
  struct zx_elem_s* IdentifyingMarks;	/* {0,-1} xsd:string */
  struct zx_hrxml_DisabilityInfo_s* DisabilityInfo;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_BiologicalDescriptors(c, father) (struct zx_hrxml_BiologicalDescriptors_s*)zx_new_elem((c),(father),zx_hrxml_BiologicalDescriptors_ELEM)
int zx_DEC_ATTR_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_DEC_ELEM_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_BiologicalDescriptors_s* zx_DEEP_CLONE_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_WALK_SO_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_BiologicalDescriptors(struct zx_ctx* c, struct zx_hrxml_BiologicalDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_Age(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_hrxml_Height_s* zx_hrxml_BiologicalDescriptors_GET_Height(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_hrxml_Weight_s* zx_hrxml_BiologicalDescriptors_GET_Weight(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_GET_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_hrxml_DisabilityInfo_s* zx_hrxml_BiologicalDescriptors_GET_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_BiologicalDescriptors_GET_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x, int n);

int zx_hrxml_BiologicalDescriptors_NUM_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_Age(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_Height(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_Weight(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x);
int zx_hrxml_BiologicalDescriptors_NUM_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x);

struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_Age(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_hrxml_Height_s* zx_hrxml_BiologicalDescriptors_POP_Height(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_hrxml_Weight_s* zx_hrxml_BiologicalDescriptors_POP_Weight(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_elem_s* zx_hrxml_BiologicalDescriptors_POP_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_hrxml_DisabilityInfo_s* zx_hrxml_BiologicalDescriptors_POP_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_BiologicalDescriptors_POP_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x);

void zx_hrxml_BiologicalDescriptors_PUSH_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_Age(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_Height(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_hrxml_Height_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_Weight(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_hrxml_Weight_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_hrxml_DisabilityInfo_s* y);
void zx_hrxml_BiologicalDescriptors_PUSH_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_BiologicalDescriptors_PUT_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_Age(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_Height(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_Height_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_Weight(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_Weight_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_DisabilityInfo_s* y);
void zx_hrxml_BiologicalDescriptors_PUT_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_BiologicalDescriptors_ADD_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_Age(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_Height(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_Height_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_Weight(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_Weight_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_DisabilityInfo_s* z);
void zx_hrxml_BiologicalDescriptors_ADD_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_BiologicalDescriptors_DEL_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_Age(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_Height(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
void zx_hrxml_BiologicalDescriptors_DEL_Weight(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
void zx_hrxml_BiologicalDescriptors_DEL_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x,int n);
void zx_hrxml_BiologicalDescriptors_DEL_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x, int n);
void zx_hrxml_BiologicalDescriptors_DEL_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x, int n);

void zx_hrxml_BiologicalDescriptors_REV_DateOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_MonthDayOfBirth(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_Age(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_GenderCode(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_EyeColor(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_HairColor(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_Height(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_Weight(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_IdentifyingMarks(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_DisabilityInfo(struct zx_hrxml_BiologicalDescriptors_s* x);
void zx_hrxml_BiologicalDescriptors_REV_UserArea(struct zx_hrxml_BiologicalDescriptors_s* x);

#endif
/* -------------------------- hrxml_Book -------------------------- */
/* refby( zx_hrxml_PublicationHistory_s ) */
#ifndef zx_hrxml_Book_EXT
#define zx_hrxml_Book_EXT
#endif
struct zx_hrxml_Book_s {
  ZX_ELEM_EXT
  zx_hrxml_Book_EXT
  struct zx_elem_s* Title;	/* {1,1} xsd:string */
  struct zx_elem_s* Name;	/* {0,-1} xsd:string */
  struct zx_hrxml_PublicationDate_s* PublicationDate;	/* {0,1}  */
  struct zx_elem_s* Link;	/* {0,-1} InternetWebAddressType */
  struct zx_elem_s* Abstract;	/* {0,1} xsd:string */
  struct zx_hrxml_Copyright_s* Copyright;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* Edition;	/* {0,1} xsd:string */
  struct zx_elem_s* Chapter;	/* {0,1} xsd:string */
  struct zx_elem_s* ISSN;	/* {0,1} xsd:string */
  struct zx_elem_s* ISBN;	/* {0,1} xsd:string */
  struct zx_elem_s* NumberOfPages;	/* {0,1} xsd:positiveInteger */
  struct zx_elem_s* PublisherName;	/* {0,1} xsd:string */
  struct zx_elem_s* PublisherLocation;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Book(c, father) (struct zx_hrxml_Book_s*)zx_new_elem((c),(father),zx_hrxml_Book_ELEM)
int zx_DEC_ATTR_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x);
int zx_DEC_ELEM_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Book_s* zx_DEEP_CLONE_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x);
int zx_WALK_SO_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Book(struct zx_ctx* c, struct zx_hrxml_Book_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Book_GET_Title(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_Name(struct zx_hrxml_Book_s* x, int n);
struct zx_hrxml_PublicationDate_s* zx_hrxml_Book_GET_PublicationDate(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_Link(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_Abstract(struct zx_hrxml_Book_s* x, int n);
struct zx_hrxml_Copyright_s* zx_hrxml_Book_GET_Copyright(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_Comments(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_Edition(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_Chapter(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_ISSN(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_ISBN(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_NumberOfPages(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_PublisherName(struct zx_hrxml_Book_s* x, int n);
struct zx_elem_s* zx_hrxml_Book_GET_PublisherLocation(struct zx_hrxml_Book_s* x, int n);

int zx_hrxml_Book_NUM_Title(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Name(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_PublicationDate(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Link(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Abstract(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Copyright(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Comments(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Edition(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_Chapter(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_ISSN(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_ISBN(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_NumberOfPages(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_PublisherName(struct zx_hrxml_Book_s* x);
int zx_hrxml_Book_NUM_PublisherLocation(struct zx_hrxml_Book_s* x);

struct zx_elem_s* zx_hrxml_Book_POP_Title(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_Name(struct zx_hrxml_Book_s* x);
struct zx_hrxml_PublicationDate_s* zx_hrxml_Book_POP_PublicationDate(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_Link(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_Abstract(struct zx_hrxml_Book_s* x);
struct zx_hrxml_Copyright_s* zx_hrxml_Book_POP_Copyright(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_Comments(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_Edition(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_Chapter(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_ISSN(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_ISBN(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_NumberOfPages(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_PublisherName(struct zx_hrxml_Book_s* x);
struct zx_elem_s* zx_hrxml_Book_POP_PublisherLocation(struct zx_hrxml_Book_s* x);

void zx_hrxml_Book_PUSH_Title(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_Name(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_PublicationDate(struct zx_hrxml_Book_s* x, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_Book_PUSH_Link(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_Abstract(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_Copyright(struct zx_hrxml_Book_s* x, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_Book_PUSH_Comments(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_Edition(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_Chapter(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_ISSN(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_ISBN(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_NumberOfPages(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_PublisherName(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);
void zx_hrxml_Book_PUSH_PublisherLocation(struct zx_hrxml_Book_s* x, struct zx_elem_s* y);


void zx_hrxml_Book_PUT_Title(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_Name(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_PublicationDate(struct zx_hrxml_Book_s* x, int n, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_Book_PUT_Link(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_Abstract(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_Copyright(struct zx_hrxml_Book_s* x, int n, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_Book_PUT_Comments(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_Edition(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_Chapter(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_ISSN(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_ISBN(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_NumberOfPages(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_PublisherName(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Book_PUT_PublisherLocation(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Book_ADD_Title(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_Name(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_PublicationDate(struct zx_hrxml_Book_s* x, int n, struct zx_hrxml_PublicationDate_s* z);
void zx_hrxml_Book_ADD_Link(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_Abstract(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_Copyright(struct zx_hrxml_Book_s* x, int n, struct zx_hrxml_Copyright_s* z);
void zx_hrxml_Book_ADD_Comments(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_Edition(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_Chapter(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_ISSN(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_ISBN(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_NumberOfPages(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_PublisherName(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Book_ADD_PublisherLocation(struct zx_hrxml_Book_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Book_DEL_Title(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_Name(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_PublicationDate(struct zx_hrxml_Book_s* x, int n);
void zx_hrxml_Book_DEL_Link(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_Abstract(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_Copyright(struct zx_hrxml_Book_s* x, int n);
void zx_hrxml_Book_DEL_Comments(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_Edition(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_Chapter(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_ISSN(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_ISBN(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_NumberOfPages(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_PublisherName(struct zx_hrxml_Book_s* x,int n);
void zx_hrxml_Book_DEL_PublisherLocation(struct zx_hrxml_Book_s* x,int n);

void zx_hrxml_Book_REV_Title(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Name(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_PublicationDate(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Link(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Abstract(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Copyright(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Comments(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Edition(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_Chapter(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_ISSN(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_ISBN(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_NumberOfPages(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_PublisherName(struct zx_hrxml_Book_s* x);
void zx_hrxml_Book_REV_PublisherLocation(struct zx_hrxml_Book_s* x);

#endif
/* -------------------------- hrxml_Candidate -------------------------- */
/* refby( zx_idhrxml_NewData_s zx_idhrxml_ItemData_s zx_idhrxml_Data_s ) */
#ifndef zx_hrxml_Candidate_EXT
#define zx_hrxml_Candidate_EXT
#endif
struct zx_hrxml_Candidate_s {
  ZX_ELEM_EXT
  zx_hrxml_Candidate_EXT
  struct zx_hrxml_CandidateRecordInfo_s* CandidateRecordInfo;	/* {0,1}  */
  struct zx_hrxml_RelatedPositionPostings_s* RelatedPositionPostings;	/* {1,1}  */
  struct zx_hrxml_CandidateSupplier_s* CandidateSupplier;	/* {0,0}  */
  struct zx_elem_s* DistributionGuidelines;	/* {0,0} DistributionGuidelinesType */
  struct zx_hrxml_CandidateProfile_s* CandidateProfile;	/* {0,-1}  */
  struct zx_hrxml_Resume_s* Resume;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,0}  */
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_Candidate(c, father) (struct zx_hrxml_Candidate_s*)zx_new_elem((c),(father),zx_hrxml_Candidate_ELEM)
int zx_DEC_ATTR_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x);
int zx_DEC_ELEM_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Candidate_s* zx_DEEP_CLONE_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x);
int zx_WALK_SO_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Candidate(struct zx_ctx* c, struct zx_hrxml_Candidate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Candidate_GET_lang(struct zx_hrxml_Candidate_s* x);

struct zx_hrxml_CandidateRecordInfo_s* zx_hrxml_Candidate_GET_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x, int n);
struct zx_hrxml_RelatedPositionPostings_s* zx_hrxml_Candidate_GET_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x, int n);
struct zx_hrxml_CandidateSupplier_s* zx_hrxml_Candidate_GET_CandidateSupplier(struct zx_hrxml_Candidate_s* x, int n);
struct zx_elem_s* zx_hrxml_Candidate_GET_DistributionGuidelines(struct zx_hrxml_Candidate_s* x, int n);
struct zx_hrxml_CandidateProfile_s* zx_hrxml_Candidate_GET_CandidateProfile(struct zx_hrxml_Candidate_s* x, int n);
struct zx_hrxml_Resume_s* zx_hrxml_Candidate_GET_Resume(struct zx_hrxml_Candidate_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_Candidate_GET_UserArea(struct zx_hrxml_Candidate_s* x, int n);

int zx_hrxml_Candidate_NUM_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x);
int zx_hrxml_Candidate_NUM_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x);
int zx_hrxml_Candidate_NUM_CandidateSupplier(struct zx_hrxml_Candidate_s* x);
int zx_hrxml_Candidate_NUM_DistributionGuidelines(struct zx_hrxml_Candidate_s* x);
int zx_hrxml_Candidate_NUM_CandidateProfile(struct zx_hrxml_Candidate_s* x);
int zx_hrxml_Candidate_NUM_Resume(struct zx_hrxml_Candidate_s* x);
int zx_hrxml_Candidate_NUM_UserArea(struct zx_hrxml_Candidate_s* x);

struct zx_hrxml_CandidateRecordInfo_s* zx_hrxml_Candidate_POP_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x);
struct zx_hrxml_RelatedPositionPostings_s* zx_hrxml_Candidate_POP_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x);
struct zx_hrxml_CandidateSupplier_s* zx_hrxml_Candidate_POP_CandidateSupplier(struct zx_hrxml_Candidate_s* x);
struct zx_elem_s* zx_hrxml_Candidate_POP_DistributionGuidelines(struct zx_hrxml_Candidate_s* x);
struct zx_hrxml_CandidateProfile_s* zx_hrxml_Candidate_POP_CandidateProfile(struct zx_hrxml_Candidate_s* x);
struct zx_hrxml_Resume_s* zx_hrxml_Candidate_POP_Resume(struct zx_hrxml_Candidate_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_Candidate_POP_UserArea(struct zx_hrxml_Candidate_s* x);

void zx_hrxml_Candidate_PUSH_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x, struct zx_hrxml_CandidateRecordInfo_s* y);
void zx_hrxml_Candidate_PUSH_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x, struct zx_hrxml_RelatedPositionPostings_s* y);
void zx_hrxml_Candidate_PUSH_CandidateSupplier(struct zx_hrxml_Candidate_s* x, struct zx_hrxml_CandidateSupplier_s* y);
void zx_hrxml_Candidate_PUSH_DistributionGuidelines(struct zx_hrxml_Candidate_s* x, struct zx_elem_s* y);
void zx_hrxml_Candidate_PUSH_CandidateProfile(struct zx_hrxml_Candidate_s* x, struct zx_hrxml_CandidateProfile_s* y);
void zx_hrxml_Candidate_PUSH_Resume(struct zx_hrxml_Candidate_s* x, struct zx_hrxml_Resume_s* y);
void zx_hrxml_Candidate_PUSH_UserArea(struct zx_hrxml_Candidate_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Candidate_PUT_lang(struct zx_hrxml_Candidate_s* x, struct zx_attr_s* y);

void zx_hrxml_Candidate_PUT_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_CandidateRecordInfo_s* y);
void zx_hrxml_Candidate_PUT_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_RelatedPositionPostings_s* y);
void zx_hrxml_Candidate_PUT_CandidateSupplier(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_CandidateSupplier_s* y);
void zx_hrxml_Candidate_PUT_DistributionGuidelines(struct zx_hrxml_Candidate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Candidate_PUT_CandidateProfile(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_CandidateProfile_s* y);
void zx_hrxml_Candidate_PUT_Resume(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_Resume_s* y);
void zx_hrxml_Candidate_PUT_UserArea(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Candidate_ADD_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_CandidateRecordInfo_s* z);
void zx_hrxml_Candidate_ADD_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_RelatedPositionPostings_s* z);
void zx_hrxml_Candidate_ADD_CandidateSupplier(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_CandidateSupplier_s* z);
void zx_hrxml_Candidate_ADD_DistributionGuidelines(struct zx_hrxml_Candidate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Candidate_ADD_CandidateProfile(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_CandidateProfile_s* z);
void zx_hrxml_Candidate_ADD_Resume(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_Resume_s* z);
void zx_hrxml_Candidate_ADD_UserArea(struct zx_hrxml_Candidate_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_Candidate_DEL_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x, int n);
void zx_hrxml_Candidate_DEL_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x, int n);
void zx_hrxml_Candidate_DEL_CandidateSupplier(struct zx_hrxml_Candidate_s* x, int n);
void zx_hrxml_Candidate_DEL_DistributionGuidelines(struct zx_hrxml_Candidate_s* x,int n);
void zx_hrxml_Candidate_DEL_CandidateProfile(struct zx_hrxml_Candidate_s* x, int n);
void zx_hrxml_Candidate_DEL_Resume(struct zx_hrxml_Candidate_s* x, int n);
void zx_hrxml_Candidate_DEL_UserArea(struct zx_hrxml_Candidate_s* x, int n);

void zx_hrxml_Candidate_REV_CandidateRecordInfo(struct zx_hrxml_Candidate_s* x);
void zx_hrxml_Candidate_REV_RelatedPositionPostings(struct zx_hrxml_Candidate_s* x);
void zx_hrxml_Candidate_REV_CandidateSupplier(struct zx_hrxml_Candidate_s* x);
void zx_hrxml_Candidate_REV_DistributionGuidelines(struct zx_hrxml_Candidate_s* x);
void zx_hrxml_Candidate_REV_CandidateProfile(struct zx_hrxml_Candidate_s* x);
void zx_hrxml_Candidate_REV_Resume(struct zx_hrxml_Candidate_s* x);
void zx_hrxml_Candidate_REV_UserArea(struct zx_hrxml_Candidate_s* x);

#endif
/* -------------------------- hrxml_CandidateProfile -------------------------- */
/* refby( zx_hrxml_Candidate_s ) */
#ifndef zx_hrxml_CandidateProfile_EXT
#define zx_hrxml_CandidateProfile_EXT
#endif
struct zx_hrxml_CandidateProfile_s {
  ZX_ELEM_EXT
  zx_hrxml_CandidateProfile_EXT
  struct zx_hrxml_ProfileId_s* ProfileId;	/* {0,1}  */
  struct zx_elem_s* ProfileName;	/* {0,1} xsd:string */
  struct zx_hrxml_AvailabilityInfo_s* AvailabilityInfo;	/* {0,0}  */
  struct zx_elem_s* DistributionGuidelines;	/* {0,0} DistributionGuidelinesType */
  struct zx_hrxml_PersonalData_s* PersonalData;	/* {0,1}  */
  struct zx_hrxml_PreferredPosition_s* PreferredPosition;	/* {0,0}  */
  struct zx_hrxml_EmploymentHistory_s* EmploymentHistory;	/* {0,0}  */
  struct zx_hrxml_EducationHistory_s* EducationHistory;	/* {0,0}  */
  struct zx_hrxml_MilitaryHistory_s* MilitaryHistory;	/* {0,0} nada */
  struct zx_hrxml_Associations_s* Associations;	/* {0,0}  */
  struct zx_hrxml_SupportingMaterials_s* SupportingMaterials;	/* {0,0}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,0}  */
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_CandidateProfile(c, father) (struct zx_hrxml_CandidateProfile_s*)zx_new_elem((c),(father),zx_hrxml_CandidateProfile_ELEM)
int zx_DEC_ATTR_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x);
int zx_DEC_ELEM_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CandidateProfile_s* zx_DEEP_CLONE_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x);
int zx_WALK_SO_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CandidateProfile(struct zx_ctx* c, struct zx_hrxml_CandidateProfile_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_CandidateProfile_GET_lang(struct zx_hrxml_CandidateProfile_s* x);

struct zx_hrxml_ProfileId_s* zx_hrxml_CandidateProfile_GET_ProfileId(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_elem_s* zx_hrxml_CandidateProfile_GET_ProfileName(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_AvailabilityInfo_s* zx_hrxml_CandidateProfile_GET_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_elem_s* zx_hrxml_CandidateProfile_GET_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_PersonalData_s* zx_hrxml_CandidateProfile_GET_PersonalData(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_PreferredPosition_s* zx_hrxml_CandidateProfile_GET_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_EmploymentHistory_s* zx_hrxml_CandidateProfile_GET_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_EducationHistory_s* zx_hrxml_CandidateProfile_GET_EducationHistory(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_MilitaryHistory_s* zx_hrxml_CandidateProfile_GET_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_Associations_s* zx_hrxml_CandidateProfile_GET_Associations(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_CandidateProfile_GET_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_CandidateProfile_GET_UserArea(struct zx_hrxml_CandidateProfile_s* x, int n);

int zx_hrxml_CandidateProfile_NUM_ProfileId(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_ProfileName(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_PersonalData(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_EducationHistory(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_Associations(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x);
int zx_hrxml_CandidateProfile_NUM_UserArea(struct zx_hrxml_CandidateProfile_s* x);

struct zx_hrxml_ProfileId_s* zx_hrxml_CandidateProfile_POP_ProfileId(struct zx_hrxml_CandidateProfile_s* x);
struct zx_elem_s* zx_hrxml_CandidateProfile_POP_ProfileName(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_AvailabilityInfo_s* zx_hrxml_CandidateProfile_POP_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x);
struct zx_elem_s* zx_hrxml_CandidateProfile_POP_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_PersonalData_s* zx_hrxml_CandidateProfile_POP_PersonalData(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_PreferredPosition_s* zx_hrxml_CandidateProfile_POP_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_EmploymentHistory_s* zx_hrxml_CandidateProfile_POP_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_EducationHistory_s* zx_hrxml_CandidateProfile_POP_EducationHistory(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_MilitaryHistory_s* zx_hrxml_CandidateProfile_POP_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_Associations_s* zx_hrxml_CandidateProfile_POP_Associations(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_CandidateProfile_POP_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_CandidateProfile_POP_UserArea(struct zx_hrxml_CandidateProfile_s* x);

void zx_hrxml_CandidateProfile_PUSH_ProfileId(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_ProfileId_s* y);
void zx_hrxml_CandidateProfile_PUSH_ProfileName(struct zx_hrxml_CandidateProfile_s* x, struct zx_elem_s* y);
void zx_hrxml_CandidateProfile_PUSH_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_AvailabilityInfo_s* y);
void zx_hrxml_CandidateProfile_PUSH_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x, struct zx_elem_s* y);
void zx_hrxml_CandidateProfile_PUSH_PersonalData(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_PersonalData_s* y);
void zx_hrxml_CandidateProfile_PUSH_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_PreferredPosition_s* y);
void zx_hrxml_CandidateProfile_PUSH_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_EmploymentHistory_s* y);
void zx_hrxml_CandidateProfile_PUSH_EducationHistory(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_EducationHistory_s* y);
void zx_hrxml_CandidateProfile_PUSH_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_MilitaryHistory_s* y);
void zx_hrxml_CandidateProfile_PUSH_Associations(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_Associations_s* y);
void zx_hrxml_CandidateProfile_PUSH_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_CandidateProfile_PUSH_UserArea(struct zx_hrxml_CandidateProfile_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_CandidateProfile_PUT_lang(struct zx_hrxml_CandidateProfile_s* x, struct zx_attr_s* y);

void zx_hrxml_CandidateProfile_PUT_ProfileId(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_ProfileId_s* y);
void zx_hrxml_CandidateProfile_PUT_ProfileName(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_CandidateProfile_PUT_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_AvailabilityInfo_s* y);
void zx_hrxml_CandidateProfile_PUT_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_CandidateProfile_PUT_PersonalData(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_PersonalData_s* y);
void zx_hrxml_CandidateProfile_PUT_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_PreferredPosition_s* y);
void zx_hrxml_CandidateProfile_PUT_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_EmploymentHistory_s* y);
void zx_hrxml_CandidateProfile_PUT_EducationHistory(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_EducationHistory_s* y);
void zx_hrxml_CandidateProfile_PUT_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_MilitaryHistory_s* y);
void zx_hrxml_CandidateProfile_PUT_Associations(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_Associations_s* y);
void zx_hrxml_CandidateProfile_PUT_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_CandidateProfile_PUT_UserArea(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_CandidateProfile_ADD_ProfileId(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_ProfileId_s* z);
void zx_hrxml_CandidateProfile_ADD_ProfileName(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_CandidateProfile_ADD_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_AvailabilityInfo_s* z);
void zx_hrxml_CandidateProfile_ADD_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_CandidateProfile_ADD_PersonalData(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_PersonalData_s* z);
void zx_hrxml_CandidateProfile_ADD_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_PreferredPosition_s* z);
void zx_hrxml_CandidateProfile_ADD_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_EmploymentHistory_s* z);
void zx_hrxml_CandidateProfile_ADD_EducationHistory(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_EducationHistory_s* z);
void zx_hrxml_CandidateProfile_ADD_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_MilitaryHistory_s* z);
void zx_hrxml_CandidateProfile_ADD_Associations(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_Associations_s* z);
void zx_hrxml_CandidateProfile_ADD_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_SupportingMaterials_s* z);
void zx_hrxml_CandidateProfile_ADD_UserArea(struct zx_hrxml_CandidateProfile_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_CandidateProfile_DEL_ProfileId(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_ProfileName(struct zx_hrxml_CandidateProfile_s* x,int n);
void zx_hrxml_CandidateProfile_DEL_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x,int n);
void zx_hrxml_CandidateProfile_DEL_PersonalData(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_EducationHistory(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_Associations(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x, int n);
void zx_hrxml_CandidateProfile_DEL_UserArea(struct zx_hrxml_CandidateProfile_s* x, int n);

void zx_hrxml_CandidateProfile_REV_ProfileId(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_ProfileName(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_AvailabilityInfo(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_DistributionGuidelines(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_PersonalData(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_PreferredPosition(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_EmploymentHistory(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_EducationHistory(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_MilitaryHistory(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_Associations(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_SupportingMaterials(struct zx_hrxml_CandidateProfile_s* x);
void zx_hrxml_CandidateProfile_REV_UserArea(struct zx_hrxml_CandidateProfile_s* x);

#endif
/* -------------------------- hrxml_CandidateRecordInfo -------------------------- */
/* refby( zx_hrxml_Candidate_s ) */
#ifndef zx_hrxml_CandidateRecordInfo_EXT
#define zx_hrxml_CandidateRecordInfo_EXT
#endif
struct zx_hrxml_CandidateRecordInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_CandidateRecordInfo_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,-1}  */
  struct zx_hrxml_Status_s* Status;	/* {0,1}  */
};

#define zx_NEW_hrxml_CandidateRecordInfo(c, father) (struct zx_hrxml_CandidateRecordInfo_s*)zx_new_elem((c),(father),zx_hrxml_CandidateRecordInfo_ELEM)
int zx_DEC_ATTR_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x);
int zx_DEC_ELEM_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CandidateRecordInfo_s* zx_DEEP_CLONE_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x);
int zx_WALK_SO_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CandidateRecordInfo(struct zx_ctx* c, struct zx_hrxml_CandidateRecordInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_CandidateRecordInfo_GET_Id(struct zx_hrxml_CandidateRecordInfo_s* x, int n);
struct zx_hrxml_Status_s* zx_hrxml_CandidateRecordInfo_GET_Status(struct zx_hrxml_CandidateRecordInfo_s* x, int n);

int zx_hrxml_CandidateRecordInfo_NUM_Id(struct zx_hrxml_CandidateRecordInfo_s* x);
int zx_hrxml_CandidateRecordInfo_NUM_Status(struct zx_hrxml_CandidateRecordInfo_s* x);

struct zx_hrxml_Id_s* zx_hrxml_CandidateRecordInfo_POP_Id(struct zx_hrxml_CandidateRecordInfo_s* x);
struct zx_hrxml_Status_s* zx_hrxml_CandidateRecordInfo_POP_Status(struct zx_hrxml_CandidateRecordInfo_s* x);

void zx_hrxml_CandidateRecordInfo_PUSH_Id(struct zx_hrxml_CandidateRecordInfo_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_CandidateRecordInfo_PUSH_Status(struct zx_hrxml_CandidateRecordInfo_s* x, struct zx_hrxml_Status_s* y);


void zx_hrxml_CandidateRecordInfo_PUT_Id(struct zx_hrxml_CandidateRecordInfo_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_CandidateRecordInfo_PUT_Status(struct zx_hrxml_CandidateRecordInfo_s* x, int n, struct zx_hrxml_Status_s* y);

void zx_hrxml_CandidateRecordInfo_ADD_Id(struct zx_hrxml_CandidateRecordInfo_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_CandidateRecordInfo_ADD_Status(struct zx_hrxml_CandidateRecordInfo_s* x, int n, struct zx_hrxml_Status_s* z);

void zx_hrxml_CandidateRecordInfo_DEL_Id(struct zx_hrxml_CandidateRecordInfo_s* x, int n);
void zx_hrxml_CandidateRecordInfo_DEL_Status(struct zx_hrxml_CandidateRecordInfo_s* x, int n);

void zx_hrxml_CandidateRecordInfo_REV_Id(struct zx_hrxml_CandidateRecordInfo_s* x);
void zx_hrxml_CandidateRecordInfo_REV_Status(struct zx_hrxml_CandidateRecordInfo_s* x);

#endif
/* -------------------------- hrxml_CandidateSupplier -------------------------- */
/* refby( zx_hrxml_Candidate_s ) */
#ifndef zx_hrxml_CandidateSupplier_EXT
#define zx_hrxml_CandidateSupplier_EXT
#endif
struct zx_hrxml_CandidateSupplier_s {
  ZX_ELEM_EXT
  zx_hrxml_CandidateSupplier_EXT
  struct zx_hrxml_SupplierId_s* SupplierId;	/* {0,1}  */
  struct zx_elem_s* EntityName;	/* {0,1} xsd:string */
  struct zx_hrxml_ContactName_s* ContactName;	/* {0,1}  */
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
  struct zx_hrxml_SourceType_s* SourceType;	/* {0,1}  */
  struct zx_attr_s* relationship;	/* {0,1} attribute hrxml:RelationshipsType */
};

#define zx_NEW_hrxml_CandidateSupplier(c, father) (struct zx_hrxml_CandidateSupplier_s*)zx_new_elem((c),(father),zx_hrxml_CandidateSupplier_ELEM)
int zx_DEC_ATTR_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x);
int zx_DEC_ELEM_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CandidateSupplier_s* zx_DEEP_CLONE_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x);
int zx_WALK_SO_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CandidateSupplier(struct zx_ctx* c, struct zx_hrxml_CandidateSupplier_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_CandidateSupplier_GET_relationship(struct zx_hrxml_CandidateSupplier_s* x);

struct zx_hrxml_SupplierId_s* zx_hrxml_CandidateSupplier_GET_SupplierId(struct zx_hrxml_CandidateSupplier_s* x, int n);
struct zx_elem_s* zx_hrxml_CandidateSupplier_GET_EntityName(struct zx_hrxml_CandidateSupplier_s* x, int n);
struct zx_hrxml_ContactName_s* zx_hrxml_CandidateSupplier_GET_ContactName(struct zx_hrxml_CandidateSupplier_s* x, int n);
struct zx_hrxml_ContactMethod_s* zx_hrxml_CandidateSupplier_GET_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x, int n);
struct zx_hrxml_SourceType_s* zx_hrxml_CandidateSupplier_GET_SourceType(struct zx_hrxml_CandidateSupplier_s* x, int n);

int zx_hrxml_CandidateSupplier_NUM_SupplierId(struct zx_hrxml_CandidateSupplier_s* x);
int zx_hrxml_CandidateSupplier_NUM_EntityName(struct zx_hrxml_CandidateSupplier_s* x);
int zx_hrxml_CandidateSupplier_NUM_ContactName(struct zx_hrxml_CandidateSupplier_s* x);
int zx_hrxml_CandidateSupplier_NUM_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x);
int zx_hrxml_CandidateSupplier_NUM_SourceType(struct zx_hrxml_CandidateSupplier_s* x);

struct zx_hrxml_SupplierId_s* zx_hrxml_CandidateSupplier_POP_SupplierId(struct zx_hrxml_CandidateSupplier_s* x);
struct zx_elem_s* zx_hrxml_CandidateSupplier_POP_EntityName(struct zx_hrxml_CandidateSupplier_s* x);
struct zx_hrxml_ContactName_s* zx_hrxml_CandidateSupplier_POP_ContactName(struct zx_hrxml_CandidateSupplier_s* x);
struct zx_hrxml_ContactMethod_s* zx_hrxml_CandidateSupplier_POP_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x);
struct zx_hrxml_SourceType_s* zx_hrxml_CandidateSupplier_POP_SourceType(struct zx_hrxml_CandidateSupplier_s* x);

void zx_hrxml_CandidateSupplier_PUSH_SupplierId(struct zx_hrxml_CandidateSupplier_s* x, struct zx_hrxml_SupplierId_s* y);
void zx_hrxml_CandidateSupplier_PUSH_EntityName(struct zx_hrxml_CandidateSupplier_s* x, struct zx_elem_s* y);
void zx_hrxml_CandidateSupplier_PUSH_ContactName(struct zx_hrxml_CandidateSupplier_s* x, struct zx_hrxml_ContactName_s* y);
void zx_hrxml_CandidateSupplier_PUSH_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_CandidateSupplier_PUSH_SourceType(struct zx_hrxml_CandidateSupplier_s* x, struct zx_hrxml_SourceType_s* y);

void zx_hrxml_CandidateSupplier_PUT_relationship(struct zx_hrxml_CandidateSupplier_s* x, struct zx_attr_s* y);

void zx_hrxml_CandidateSupplier_PUT_SupplierId(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_SupplierId_s* y);
void zx_hrxml_CandidateSupplier_PUT_EntityName(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_CandidateSupplier_PUT_ContactName(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_ContactName_s* y);
void zx_hrxml_CandidateSupplier_PUT_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_CandidateSupplier_PUT_SourceType(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_SourceType_s* y);

void zx_hrxml_CandidateSupplier_ADD_SupplierId(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_SupplierId_s* z);
void zx_hrxml_CandidateSupplier_ADD_EntityName(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_CandidateSupplier_ADD_ContactName(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_ContactName_s* z);
void zx_hrxml_CandidateSupplier_ADD_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_ContactMethod_s* z);
void zx_hrxml_CandidateSupplier_ADD_SourceType(struct zx_hrxml_CandidateSupplier_s* x, int n, struct zx_hrxml_SourceType_s* z);

void zx_hrxml_CandidateSupplier_DEL_SupplierId(struct zx_hrxml_CandidateSupplier_s* x, int n);
void zx_hrxml_CandidateSupplier_DEL_EntityName(struct zx_hrxml_CandidateSupplier_s* x,int n);
void zx_hrxml_CandidateSupplier_DEL_ContactName(struct zx_hrxml_CandidateSupplier_s* x, int n);
void zx_hrxml_CandidateSupplier_DEL_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x, int n);
void zx_hrxml_CandidateSupplier_DEL_SourceType(struct zx_hrxml_CandidateSupplier_s* x, int n);

void zx_hrxml_CandidateSupplier_REV_SupplierId(struct zx_hrxml_CandidateSupplier_s* x);
void zx_hrxml_CandidateSupplier_REV_EntityName(struct zx_hrxml_CandidateSupplier_s* x);
void zx_hrxml_CandidateSupplier_REV_ContactName(struct zx_hrxml_CandidateSupplier_s* x);
void zx_hrxml_CandidateSupplier_REV_ContactMethod(struct zx_hrxml_CandidateSupplier_s* x);
void zx_hrxml_CandidateSupplier_REV_SourceType(struct zx_hrxml_CandidateSupplier_s* x);

#endif
/* -------------------------- hrxml_ChildrenInfo -------------------------- */
/* refby( zx_hrxml_DemographicDescriptors_s ) */
#ifndef zx_hrxml_ChildrenInfo_EXT
#define zx_hrxml_ChildrenInfo_EXT
#endif
struct zx_hrxml_ChildrenInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_ChildrenInfo_EXT
  struct zx_elem_s* NumberOfChildren;	/* {0,1} xsd:nonNegativeInteger */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_ChildrenInfo(c, father) (struct zx_hrxml_ChildrenInfo_s*)zx_new_elem((c),(father),zx_hrxml_ChildrenInfo_ELEM)
int zx_DEC_ATTR_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x);
int zx_DEC_ELEM_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ChildrenInfo_s* zx_DEEP_CLONE_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x);
int zx_WALK_SO_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ChildrenInfo(struct zx_ctx* c, struct zx_hrxml_ChildrenInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_ChildrenInfo_GET_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_ChildrenInfo_GET_Comments(struct zx_hrxml_ChildrenInfo_s* x, int n);

int zx_hrxml_ChildrenInfo_NUM_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x);
int zx_hrxml_ChildrenInfo_NUM_Comments(struct zx_hrxml_ChildrenInfo_s* x);

struct zx_elem_s* zx_hrxml_ChildrenInfo_POP_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x);
struct zx_elem_s* zx_hrxml_ChildrenInfo_POP_Comments(struct zx_hrxml_ChildrenInfo_s* x);

void zx_hrxml_ChildrenInfo_PUSH_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_ChildrenInfo_PUSH_Comments(struct zx_hrxml_ChildrenInfo_s* x, struct zx_elem_s* y);


void zx_hrxml_ChildrenInfo_PUT_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ChildrenInfo_PUT_Comments(struct zx_hrxml_ChildrenInfo_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_ChildrenInfo_ADD_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ChildrenInfo_ADD_Comments(struct zx_hrxml_ChildrenInfo_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_ChildrenInfo_DEL_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x,int n);
void zx_hrxml_ChildrenInfo_DEL_Comments(struct zx_hrxml_ChildrenInfo_s* x,int n);

void zx_hrxml_ChildrenInfo_REV_NumberOfChildren(struct zx_hrxml_ChildrenInfo_s* x);
void zx_hrxml_ChildrenInfo_REV_Comments(struct zx_hrxml_ChildrenInfo_s* x);

#endif
/* -------------------------- hrxml_ClassRank -------------------------- */
/* refby( zx_hrxml_DegreeMeasure_s ) */
#ifndef zx_hrxml_ClassRank_EXT
#define zx_hrxml_ClassRank_EXT
#endif
struct zx_hrxml_ClassRank_s {
  ZX_ELEM_EXT
  zx_hrxml_ClassRank_EXT
  struct zx_attr_s* numberOfStudents;	/* {0,1} attribute xsd:integer */
};

#define zx_NEW_hrxml_ClassRank(c, father) (struct zx_hrxml_ClassRank_s*)zx_new_elem((c),(father),zx_hrxml_ClassRank_ELEM)
int zx_DEC_ATTR_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x);
int zx_DEC_ELEM_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ClassRank_s* zx_DEEP_CLONE_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x);
int zx_WALK_SO_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ClassRank(struct zx_ctx* c, struct zx_hrxml_ClassRank_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ClassRank_GET_numberOfStudents(struct zx_hrxml_ClassRank_s* x);





void zx_hrxml_ClassRank_PUT_numberOfStudents(struct zx_hrxml_ClassRank_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Commute -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s ) */
#ifndef zx_hrxml_Commute_EXT
#define zx_hrxml_Commute_EXT
#endif
struct zx_hrxml_Commute_s {
  ZX_ELEM_EXT
  zx_hrxml_Commute_EXT
  struct zx_hrxml_TimeMax_s* TimeMax;	/* {0,1}  */
  struct zx_hrxml_DistanceMax_s* DistanceMax;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Commute(c, father) (struct zx_hrxml_Commute_s*)zx_new_elem((c),(father),zx_hrxml_Commute_ELEM)
int zx_DEC_ATTR_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x);
int zx_DEC_ELEM_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Commute_s* zx_DEEP_CLONE_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x);
int zx_WALK_SO_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Commute(struct zx_ctx* c, struct zx_hrxml_Commute_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_TimeMax_s* zx_hrxml_Commute_GET_TimeMax(struct zx_hrxml_Commute_s* x, int n);
struct zx_hrxml_DistanceMax_s* zx_hrxml_Commute_GET_DistanceMax(struct zx_hrxml_Commute_s* x, int n);
struct zx_elem_s* zx_hrxml_Commute_GET_Comments(struct zx_hrxml_Commute_s* x, int n);

int zx_hrxml_Commute_NUM_TimeMax(struct zx_hrxml_Commute_s* x);
int zx_hrxml_Commute_NUM_DistanceMax(struct zx_hrxml_Commute_s* x);
int zx_hrxml_Commute_NUM_Comments(struct zx_hrxml_Commute_s* x);

struct zx_hrxml_TimeMax_s* zx_hrxml_Commute_POP_TimeMax(struct zx_hrxml_Commute_s* x);
struct zx_hrxml_DistanceMax_s* zx_hrxml_Commute_POP_DistanceMax(struct zx_hrxml_Commute_s* x);
struct zx_elem_s* zx_hrxml_Commute_POP_Comments(struct zx_hrxml_Commute_s* x);

void zx_hrxml_Commute_PUSH_TimeMax(struct zx_hrxml_Commute_s* x, struct zx_hrxml_TimeMax_s* y);
void zx_hrxml_Commute_PUSH_DistanceMax(struct zx_hrxml_Commute_s* x, struct zx_hrxml_DistanceMax_s* y);
void zx_hrxml_Commute_PUSH_Comments(struct zx_hrxml_Commute_s* x, struct zx_elem_s* y);


void zx_hrxml_Commute_PUT_TimeMax(struct zx_hrxml_Commute_s* x, int n, struct zx_hrxml_TimeMax_s* y);
void zx_hrxml_Commute_PUT_DistanceMax(struct zx_hrxml_Commute_s* x, int n, struct zx_hrxml_DistanceMax_s* y);
void zx_hrxml_Commute_PUT_Comments(struct zx_hrxml_Commute_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Commute_ADD_TimeMax(struct zx_hrxml_Commute_s* x, int n, struct zx_hrxml_TimeMax_s* z);
void zx_hrxml_Commute_ADD_DistanceMax(struct zx_hrxml_Commute_s* x, int n, struct zx_hrxml_DistanceMax_s* z);
void zx_hrxml_Commute_ADD_Comments(struct zx_hrxml_Commute_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Commute_DEL_TimeMax(struct zx_hrxml_Commute_s* x, int n);
void zx_hrxml_Commute_DEL_DistanceMax(struct zx_hrxml_Commute_s* x, int n);
void zx_hrxml_Commute_DEL_Comments(struct zx_hrxml_Commute_s* x,int n);

void zx_hrxml_Commute_REV_TimeMax(struct zx_hrxml_Commute_s* x);
void zx_hrxml_Commute_REV_DistanceMax(struct zx_hrxml_Commute_s* x);
void zx_hrxml_Commute_REV_Comments(struct zx_hrxml_Commute_s* x);

#endif
/* -------------------------- hrxml_Company -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_Company_EXT
#define zx_hrxml_Company_EXT
#endif
struct zx_hrxml_Company_s {
  ZX_ELEM_EXT
  zx_hrxml_Company_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Name;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Company(c, father) (struct zx_hrxml_Company_s*)zx_new_elem((c),(father),zx_hrxml_Company_ELEM)
int zx_DEC_ATTR_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x);
int zx_DEC_ELEM_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Company_s* zx_DEEP_CLONE_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x);
int zx_WALK_SO_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Company(struct zx_ctx* c, struct zx_hrxml_Company_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_Company_GET_Id(struct zx_hrxml_Company_s* x, int n);
struct zx_elem_s* zx_hrxml_Company_GET_Name(struct zx_hrxml_Company_s* x, int n);

int zx_hrxml_Company_NUM_Id(struct zx_hrxml_Company_s* x);
int zx_hrxml_Company_NUM_Name(struct zx_hrxml_Company_s* x);

struct zx_hrxml_Id_s* zx_hrxml_Company_POP_Id(struct zx_hrxml_Company_s* x);
struct zx_elem_s* zx_hrxml_Company_POP_Name(struct zx_hrxml_Company_s* x);

void zx_hrxml_Company_PUSH_Id(struct zx_hrxml_Company_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_Company_PUSH_Name(struct zx_hrxml_Company_s* x, struct zx_elem_s* y);


void zx_hrxml_Company_PUT_Id(struct zx_hrxml_Company_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_Company_PUT_Name(struct zx_hrxml_Company_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Company_ADD_Id(struct zx_hrxml_Company_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_Company_ADD_Name(struct zx_hrxml_Company_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Company_DEL_Id(struct zx_hrxml_Company_s* x, int n);
void zx_hrxml_Company_DEL_Name(struct zx_hrxml_Company_s* x,int n);

void zx_hrxml_Company_REV_Id(struct zx_hrxml_Company_s* x);
void zx_hrxml_Company_REV_Name(struct zx_hrxml_Company_s* x);

#endif
/* -------------------------- hrxml_CompanyVehicle -------------------------- */
/* refby( zx_hrxml_Benefits_s ) */
#ifndef zx_hrxml_CompanyVehicle_EXT
#define zx_hrxml_CompanyVehicle_EXT
#endif
struct zx_hrxml_CompanyVehicle_s {
  ZX_ELEM_EXT
  zx_hrxml_CompanyVehicle_EXT
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_attr_s* companyOffered;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_CompanyVehicle(c, father) (struct zx_hrxml_CompanyVehicle_s*)zx_new_elem((c),(father),zx_hrxml_CompanyVehicle_ELEM)
int zx_DEC_ATTR_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x);
int zx_DEC_ELEM_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CompanyVehicle_s* zx_DEEP_CLONE_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x);
int zx_WALK_SO_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CompanyVehicle(struct zx_ctx* c, struct zx_hrxml_CompanyVehicle_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_CompanyVehicle_GET_companyOffered(struct zx_hrxml_CompanyVehicle_s* x);

struct zx_hrxml_Description_s* zx_hrxml_CompanyVehicle_GET_Description(struct zx_hrxml_CompanyVehicle_s* x, int n);

int zx_hrxml_CompanyVehicle_NUM_Description(struct zx_hrxml_CompanyVehicle_s* x);

struct zx_hrxml_Description_s* zx_hrxml_CompanyVehicle_POP_Description(struct zx_hrxml_CompanyVehicle_s* x);

void zx_hrxml_CompanyVehicle_PUSH_Description(struct zx_hrxml_CompanyVehicle_s* x, struct zx_hrxml_Description_s* y);

void zx_hrxml_CompanyVehicle_PUT_companyOffered(struct zx_hrxml_CompanyVehicle_s* x, struct zx_attr_s* y);

void zx_hrxml_CompanyVehicle_PUT_Description(struct zx_hrxml_CompanyVehicle_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_CompanyVehicle_ADD_Description(struct zx_hrxml_CompanyVehicle_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_CompanyVehicle_DEL_Description(struct zx_hrxml_CompanyVehicle_s* x, int n);

void zx_hrxml_CompanyVehicle_REV_Description(struct zx_hrxml_CompanyVehicle_s* x);

#endif
/* -------------------------- hrxml_Compensation -------------------------- */
/* refby( zx_hrxml_PositionHistory_s ) */
#ifndef zx_hrxml_Compensation_EXT
#define zx_hrxml_Compensation_EXT
#endif
struct zx_hrxml_Compensation_s {
  ZX_ELEM_EXT
  zx_hrxml_Compensation_EXT
  struct zx_hrxml_StartingCompensation_s* StartingCompensation;	/* {0,1}  */
  struct zx_hrxml_EndingCompensation_s* EndingCompensation;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_hrxml_OtherCompensation_s* OtherCompensation;	/* {0,-1}  */
};

#define zx_NEW_hrxml_Compensation(c, father) (struct zx_hrxml_Compensation_s*)zx_new_elem((c),(father),zx_hrxml_Compensation_ELEM)
int zx_DEC_ATTR_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x);
int zx_DEC_ELEM_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Compensation_s* zx_DEEP_CLONE_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x);
int zx_WALK_SO_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Compensation(struct zx_ctx* c, struct zx_hrxml_Compensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_StartingCompensation_s* zx_hrxml_Compensation_GET_StartingCompensation(struct zx_hrxml_Compensation_s* x, int n);
struct zx_hrxml_EndingCompensation_s* zx_hrxml_Compensation_GET_EndingCompensation(struct zx_hrxml_Compensation_s* x, int n);
struct zx_elem_s* zx_hrxml_Compensation_GET_Comments(struct zx_hrxml_Compensation_s* x, int n);
struct zx_hrxml_OtherCompensation_s* zx_hrxml_Compensation_GET_OtherCompensation(struct zx_hrxml_Compensation_s* x, int n);

int zx_hrxml_Compensation_NUM_StartingCompensation(struct zx_hrxml_Compensation_s* x);
int zx_hrxml_Compensation_NUM_EndingCompensation(struct zx_hrxml_Compensation_s* x);
int zx_hrxml_Compensation_NUM_Comments(struct zx_hrxml_Compensation_s* x);
int zx_hrxml_Compensation_NUM_OtherCompensation(struct zx_hrxml_Compensation_s* x);

struct zx_hrxml_StartingCompensation_s* zx_hrxml_Compensation_POP_StartingCompensation(struct zx_hrxml_Compensation_s* x);
struct zx_hrxml_EndingCompensation_s* zx_hrxml_Compensation_POP_EndingCompensation(struct zx_hrxml_Compensation_s* x);
struct zx_elem_s* zx_hrxml_Compensation_POP_Comments(struct zx_hrxml_Compensation_s* x);
struct zx_hrxml_OtherCompensation_s* zx_hrxml_Compensation_POP_OtherCompensation(struct zx_hrxml_Compensation_s* x);

void zx_hrxml_Compensation_PUSH_StartingCompensation(struct zx_hrxml_Compensation_s* x, struct zx_hrxml_StartingCompensation_s* y);
void zx_hrxml_Compensation_PUSH_EndingCompensation(struct zx_hrxml_Compensation_s* x, struct zx_hrxml_EndingCompensation_s* y);
void zx_hrxml_Compensation_PUSH_Comments(struct zx_hrxml_Compensation_s* x, struct zx_elem_s* y);
void zx_hrxml_Compensation_PUSH_OtherCompensation(struct zx_hrxml_Compensation_s* x, struct zx_hrxml_OtherCompensation_s* y);


void zx_hrxml_Compensation_PUT_StartingCompensation(struct zx_hrxml_Compensation_s* x, int n, struct zx_hrxml_StartingCompensation_s* y);
void zx_hrxml_Compensation_PUT_EndingCompensation(struct zx_hrxml_Compensation_s* x, int n, struct zx_hrxml_EndingCompensation_s* y);
void zx_hrxml_Compensation_PUT_Comments(struct zx_hrxml_Compensation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Compensation_PUT_OtherCompensation(struct zx_hrxml_Compensation_s* x, int n, struct zx_hrxml_OtherCompensation_s* y);

void zx_hrxml_Compensation_ADD_StartingCompensation(struct zx_hrxml_Compensation_s* x, int n, struct zx_hrxml_StartingCompensation_s* z);
void zx_hrxml_Compensation_ADD_EndingCompensation(struct zx_hrxml_Compensation_s* x, int n, struct zx_hrxml_EndingCompensation_s* z);
void zx_hrxml_Compensation_ADD_Comments(struct zx_hrxml_Compensation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Compensation_ADD_OtherCompensation(struct zx_hrxml_Compensation_s* x, int n, struct zx_hrxml_OtherCompensation_s* z);

void zx_hrxml_Compensation_DEL_StartingCompensation(struct zx_hrxml_Compensation_s* x, int n);
void zx_hrxml_Compensation_DEL_EndingCompensation(struct zx_hrxml_Compensation_s* x, int n);
void zx_hrxml_Compensation_DEL_Comments(struct zx_hrxml_Compensation_s* x,int n);
void zx_hrxml_Compensation_DEL_OtherCompensation(struct zx_hrxml_Compensation_s* x, int n);

void zx_hrxml_Compensation_REV_StartingCompensation(struct zx_hrxml_Compensation_s* x);
void zx_hrxml_Compensation_REV_EndingCompensation(struct zx_hrxml_Compensation_s* x);
void zx_hrxml_Compensation_REV_Comments(struct zx_hrxml_Compensation_s* x);
void zx_hrxml_Compensation_REV_OtherCompensation(struct zx_hrxml_Compensation_s* x);

#endif
/* -------------------------- hrxml_Competency -------------------------- */
/* refby( zx_hrxml_Competency_s zx_hrxml_PositionHistory_s zx_hrxml_Qualifications_s zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_Competency_EXT
#define zx_hrxml_Competency_EXT
#endif
struct zx_hrxml_Competency_s {
  ZX_ELEM_EXT
  zx_hrxml_Competency_EXT
  struct zx_hrxml_CompetencyId_s* CompetencyId;	/* {0,1}  */
  struct zx_hrxml_TaxonomyId_s* TaxonomyId;	/* {0,-1}  */
  struct zx_hrxml_CompetencyEvidence_s* CompetencyEvidence;	/* {0,-1}  */
  struct zx_hrxml_CompetencyWeight_s* CompetencyWeight;	/* {0,-1}  */
  struct zx_hrxml_Competency_s* Competency;	/* {0,-1} nada */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* name;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* required;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_Competency(c, father) (struct zx_hrxml_Competency_s*)zx_new_elem((c),(father),zx_hrxml_Competency_ELEM)
int zx_DEC_ATTR_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x);
int zx_DEC_ELEM_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Competency_s* zx_DEEP_CLONE_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x);
int zx_WALK_SO_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Competency(struct zx_ctx* c, struct zx_hrxml_Competency_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Competency_GET_description(struct zx_hrxml_Competency_s* x);
struct zx_attr_s* zx_hrxml_Competency_GET_name(struct zx_hrxml_Competency_s* x);
struct zx_attr_s* zx_hrxml_Competency_GET_required(struct zx_hrxml_Competency_s* x);

struct zx_hrxml_CompetencyId_s* zx_hrxml_Competency_GET_CompetencyId(struct zx_hrxml_Competency_s* x, int n);
struct zx_hrxml_TaxonomyId_s* zx_hrxml_Competency_GET_TaxonomyId(struct zx_hrxml_Competency_s* x, int n);
struct zx_hrxml_CompetencyEvidence_s* zx_hrxml_Competency_GET_CompetencyEvidence(struct zx_hrxml_Competency_s* x, int n);
struct zx_hrxml_CompetencyWeight_s* zx_hrxml_Competency_GET_CompetencyWeight(struct zx_hrxml_Competency_s* x, int n);
struct zx_hrxml_Competency_s* zx_hrxml_Competency_GET_Competency(struct zx_hrxml_Competency_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_Competency_GET_UserArea(struct zx_hrxml_Competency_s* x, int n);

int zx_hrxml_Competency_NUM_CompetencyId(struct zx_hrxml_Competency_s* x);
int zx_hrxml_Competency_NUM_TaxonomyId(struct zx_hrxml_Competency_s* x);
int zx_hrxml_Competency_NUM_CompetencyEvidence(struct zx_hrxml_Competency_s* x);
int zx_hrxml_Competency_NUM_CompetencyWeight(struct zx_hrxml_Competency_s* x);
int zx_hrxml_Competency_NUM_Competency(struct zx_hrxml_Competency_s* x);
int zx_hrxml_Competency_NUM_UserArea(struct zx_hrxml_Competency_s* x);

struct zx_hrxml_CompetencyId_s* zx_hrxml_Competency_POP_CompetencyId(struct zx_hrxml_Competency_s* x);
struct zx_hrxml_TaxonomyId_s* zx_hrxml_Competency_POP_TaxonomyId(struct zx_hrxml_Competency_s* x);
struct zx_hrxml_CompetencyEvidence_s* zx_hrxml_Competency_POP_CompetencyEvidence(struct zx_hrxml_Competency_s* x);
struct zx_hrxml_CompetencyWeight_s* zx_hrxml_Competency_POP_CompetencyWeight(struct zx_hrxml_Competency_s* x);
struct zx_hrxml_Competency_s* zx_hrxml_Competency_POP_Competency(struct zx_hrxml_Competency_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_Competency_POP_UserArea(struct zx_hrxml_Competency_s* x);

void zx_hrxml_Competency_PUSH_CompetencyId(struct zx_hrxml_Competency_s* x, struct zx_hrxml_CompetencyId_s* y);
void zx_hrxml_Competency_PUSH_TaxonomyId(struct zx_hrxml_Competency_s* x, struct zx_hrxml_TaxonomyId_s* y);
void zx_hrxml_Competency_PUSH_CompetencyEvidence(struct zx_hrxml_Competency_s* x, struct zx_hrxml_CompetencyEvidence_s* y);
void zx_hrxml_Competency_PUSH_CompetencyWeight(struct zx_hrxml_Competency_s* x, struct zx_hrxml_CompetencyWeight_s* y);
void zx_hrxml_Competency_PUSH_Competency(struct zx_hrxml_Competency_s* x, struct zx_hrxml_Competency_s* y);
void zx_hrxml_Competency_PUSH_UserArea(struct zx_hrxml_Competency_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Competency_PUT_description(struct zx_hrxml_Competency_s* x, struct zx_attr_s* y);
void zx_hrxml_Competency_PUT_name(struct zx_hrxml_Competency_s* x, struct zx_attr_s* y);
void zx_hrxml_Competency_PUT_required(struct zx_hrxml_Competency_s* x, struct zx_attr_s* y);

void zx_hrxml_Competency_PUT_CompetencyId(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_CompetencyId_s* y);
void zx_hrxml_Competency_PUT_TaxonomyId(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_TaxonomyId_s* y);
void zx_hrxml_Competency_PUT_CompetencyEvidence(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_CompetencyEvidence_s* y);
void zx_hrxml_Competency_PUT_CompetencyWeight(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_CompetencyWeight_s* y);
void zx_hrxml_Competency_PUT_Competency(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_Competency_s* y);
void zx_hrxml_Competency_PUT_UserArea(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Competency_ADD_CompetencyId(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_CompetencyId_s* z);
void zx_hrxml_Competency_ADD_TaxonomyId(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_TaxonomyId_s* z);
void zx_hrxml_Competency_ADD_CompetencyEvidence(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_CompetencyEvidence_s* z);
void zx_hrxml_Competency_ADD_CompetencyWeight(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_CompetencyWeight_s* z);
void zx_hrxml_Competency_ADD_Competency(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_Competency_s* z);
void zx_hrxml_Competency_ADD_UserArea(struct zx_hrxml_Competency_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_Competency_DEL_CompetencyId(struct zx_hrxml_Competency_s* x, int n);
void zx_hrxml_Competency_DEL_TaxonomyId(struct zx_hrxml_Competency_s* x, int n);
void zx_hrxml_Competency_DEL_CompetencyEvidence(struct zx_hrxml_Competency_s* x, int n);
void zx_hrxml_Competency_DEL_CompetencyWeight(struct zx_hrxml_Competency_s* x, int n);
void zx_hrxml_Competency_DEL_Competency(struct zx_hrxml_Competency_s* x, int n);
void zx_hrxml_Competency_DEL_UserArea(struct zx_hrxml_Competency_s* x, int n);

void zx_hrxml_Competency_REV_CompetencyId(struct zx_hrxml_Competency_s* x);
void zx_hrxml_Competency_REV_TaxonomyId(struct zx_hrxml_Competency_s* x);
void zx_hrxml_Competency_REV_CompetencyEvidence(struct zx_hrxml_Competency_s* x);
void zx_hrxml_Competency_REV_CompetencyWeight(struct zx_hrxml_Competency_s* x);
void zx_hrxml_Competency_REV_Competency(struct zx_hrxml_Competency_s* x);
void zx_hrxml_Competency_REV_UserArea(struct zx_hrxml_Competency_s* x);

#endif
/* -------------------------- hrxml_CompetencyEvidence -------------------------- */
/* refby( zx_hrxml_Competency_s ) */
#ifndef zx_hrxml_CompetencyEvidence_EXT
#define zx_hrxml_CompetencyEvidence_EXT
#endif
struct zx_hrxml_CompetencyEvidence_s {
  ZX_ELEM_EXT
  zx_hrxml_CompetencyEvidence_EXT
  struct zx_hrxml_EvidenceId_s* EvidenceId;	/* {0,1}  */
  struct zx_hrxml_NumericValue_s* NumericValue;	/* {0,1} nada */
  struct zx_hrxml_StringValue_s* StringValue;	/* {0,1} nada */
  struct zx_elem_s* SupportingInformation;	/* {0,-1} xsd:string */
  struct zx_attr_s* dateOfIncident;	/* {0,1} attribute hrxml:AnyDateTimeType */
  struct zx_attr_s* expirationDate;	/* {0,1} attribute hrxml:AnyDateTimeType */
  struct zx_attr_s* lastUsed;	/* {0,1} attribute hrxml:AnyDateTimeType */
  struct zx_attr_s* name;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* required;	/* {0,1} attribute xsd:boolean */
  struct zx_attr_s* typeDescription;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* typeId;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_CompetencyEvidence(c, father) (struct zx_hrxml_CompetencyEvidence_s*)zx_new_elem((c),(father),zx_hrxml_CompetencyEvidence_ELEM)
int zx_DEC_ATTR_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x);
int zx_DEC_ELEM_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CompetencyEvidence_s* zx_DEEP_CLONE_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x);
int zx_WALK_SO_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CompetencyEvidence(struct zx_ctx* c, struct zx_hrxml_CompetencyEvidence_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_dateOfIncident(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_expirationDate(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_lastUsed(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_name(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_required(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_typeDescription(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_attr_s* zx_hrxml_CompetencyEvidence_GET_typeId(struct zx_hrxml_CompetencyEvidence_s* x);

struct zx_hrxml_EvidenceId_s* zx_hrxml_CompetencyEvidence_GET_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x, int n);
struct zx_hrxml_NumericValue_s* zx_hrxml_CompetencyEvidence_GET_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x, int n);
struct zx_hrxml_StringValue_s* zx_hrxml_CompetencyEvidence_GET_StringValue(struct zx_hrxml_CompetencyEvidence_s* x, int n);
struct zx_elem_s* zx_hrxml_CompetencyEvidence_GET_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x, int n);

int zx_hrxml_CompetencyEvidence_NUM_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x);
int zx_hrxml_CompetencyEvidence_NUM_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x);
int zx_hrxml_CompetencyEvidence_NUM_StringValue(struct zx_hrxml_CompetencyEvidence_s* x);
int zx_hrxml_CompetencyEvidence_NUM_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x);

struct zx_hrxml_EvidenceId_s* zx_hrxml_CompetencyEvidence_POP_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_hrxml_NumericValue_s* zx_hrxml_CompetencyEvidence_POP_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_hrxml_StringValue_s* zx_hrxml_CompetencyEvidence_POP_StringValue(struct zx_hrxml_CompetencyEvidence_s* x);
struct zx_elem_s* zx_hrxml_CompetencyEvidence_POP_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x);

void zx_hrxml_CompetencyEvidence_PUSH_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_hrxml_EvidenceId_s* y);
void zx_hrxml_CompetencyEvidence_PUSH_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_CompetencyEvidence_PUSH_StringValue(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_hrxml_StringValue_s* y);
void zx_hrxml_CompetencyEvidence_PUSH_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_elem_s* y);

void zx_hrxml_CompetencyEvidence_PUT_dateOfIncident(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyEvidence_PUT_expirationDate(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyEvidence_PUT_lastUsed(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyEvidence_PUT_name(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyEvidence_PUT_required(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyEvidence_PUT_typeDescription(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyEvidence_PUT_typeId(struct zx_hrxml_CompetencyEvidence_s* x, struct zx_attr_s* y);

void zx_hrxml_CompetencyEvidence_PUT_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_hrxml_EvidenceId_s* y);
void zx_hrxml_CompetencyEvidence_PUT_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_CompetencyEvidence_PUT_StringValue(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_hrxml_StringValue_s* y);
void zx_hrxml_CompetencyEvidence_PUT_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_CompetencyEvidence_ADD_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_hrxml_EvidenceId_s* z);
void zx_hrxml_CompetencyEvidence_ADD_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_hrxml_NumericValue_s* z);
void zx_hrxml_CompetencyEvidence_ADD_StringValue(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_hrxml_StringValue_s* z);
void zx_hrxml_CompetencyEvidence_ADD_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_CompetencyEvidence_DEL_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x, int n);
void zx_hrxml_CompetencyEvidence_DEL_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x, int n);
void zx_hrxml_CompetencyEvidence_DEL_StringValue(struct zx_hrxml_CompetencyEvidence_s* x, int n);
void zx_hrxml_CompetencyEvidence_DEL_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x,int n);

void zx_hrxml_CompetencyEvidence_REV_EvidenceId(struct zx_hrxml_CompetencyEvidence_s* x);
void zx_hrxml_CompetencyEvidence_REV_NumericValue(struct zx_hrxml_CompetencyEvidence_s* x);
void zx_hrxml_CompetencyEvidence_REV_StringValue(struct zx_hrxml_CompetencyEvidence_s* x);
void zx_hrxml_CompetencyEvidence_REV_SupportingInformation(struct zx_hrxml_CompetencyEvidence_s* x);

#endif
/* -------------------------- hrxml_CompetencyId -------------------------- */
/* refby( zx_hrxml_SpecifiedCompetencyReference_s zx_hrxml_Competency_s ) */
#ifndef zx_hrxml_CompetencyId_EXT
#define zx_hrxml_CompetencyId_EXT
#endif
struct zx_hrxml_CompetencyId_s {
  ZX_ELEM_EXT
  zx_hrxml_CompetencyId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_CompetencyId(c, father) (struct zx_hrxml_CompetencyId_s*)zx_new_elem((c),(father),zx_hrxml_CompetencyId_ELEM)
int zx_DEC_ATTR_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x);
int zx_DEC_ELEM_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CompetencyId_s* zx_DEEP_CLONE_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x);
int zx_WALK_SO_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CompetencyId(struct zx_ctx* c, struct zx_hrxml_CompetencyId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_CompetencyId_GET_idOwner(struct zx_hrxml_CompetencyId_s* x);
struct zx_attr_s* zx_hrxml_CompetencyId_GET_validFrom(struct zx_hrxml_CompetencyId_s* x);
struct zx_attr_s* zx_hrxml_CompetencyId_GET_validTo(struct zx_hrxml_CompetencyId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_CompetencyId_GET_IdValue(struct zx_hrxml_CompetencyId_s* x, int n);

int zx_hrxml_CompetencyId_NUM_IdValue(struct zx_hrxml_CompetencyId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_CompetencyId_POP_IdValue(struct zx_hrxml_CompetencyId_s* x);

void zx_hrxml_CompetencyId_PUSH_IdValue(struct zx_hrxml_CompetencyId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_CompetencyId_PUT_idOwner(struct zx_hrxml_CompetencyId_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyId_PUT_validFrom(struct zx_hrxml_CompetencyId_s* x, struct zx_attr_s* y);
void zx_hrxml_CompetencyId_PUT_validTo(struct zx_hrxml_CompetencyId_s* x, struct zx_attr_s* y);

void zx_hrxml_CompetencyId_PUT_IdValue(struct zx_hrxml_CompetencyId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_CompetencyId_ADD_IdValue(struct zx_hrxml_CompetencyId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_CompetencyId_DEL_IdValue(struct zx_hrxml_CompetencyId_s* x, int n);

void zx_hrxml_CompetencyId_REV_IdValue(struct zx_hrxml_CompetencyId_s* x);

#endif
/* -------------------------- hrxml_CompetencyWeight -------------------------- */
/* refby( zx_hrxml_Competency_s ) */
#ifndef zx_hrxml_CompetencyWeight_EXT
#define zx_hrxml_CompetencyWeight_EXT
#endif
struct zx_hrxml_CompetencyWeight_s {
  ZX_ELEM_EXT
  zx_hrxml_CompetencyWeight_EXT
  struct zx_hrxml_NumericValue_s* NumericValue;	/* {0,1} nada */
  struct zx_hrxml_StringValue_s* StringValue;	/* {0,1} nada */
  struct zx_elem_s* SupportingInformation;	/* {0,-1} xsd:string */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_CompetencyWeight(c, father) (struct zx_hrxml_CompetencyWeight_s*)zx_new_elem((c),(father),zx_hrxml_CompetencyWeight_ELEM)
int zx_DEC_ATTR_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x);
int zx_DEC_ELEM_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CompetencyWeight_s* zx_DEEP_CLONE_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x);
int zx_WALK_SO_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CompetencyWeight(struct zx_ctx* c, struct zx_hrxml_CompetencyWeight_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_CompetencyWeight_GET_type(struct zx_hrxml_CompetencyWeight_s* x);

struct zx_hrxml_NumericValue_s* zx_hrxml_CompetencyWeight_GET_NumericValue(struct zx_hrxml_CompetencyWeight_s* x, int n);
struct zx_hrxml_StringValue_s* zx_hrxml_CompetencyWeight_GET_StringValue(struct zx_hrxml_CompetencyWeight_s* x, int n);
struct zx_elem_s* zx_hrxml_CompetencyWeight_GET_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x, int n);

int zx_hrxml_CompetencyWeight_NUM_NumericValue(struct zx_hrxml_CompetencyWeight_s* x);
int zx_hrxml_CompetencyWeight_NUM_StringValue(struct zx_hrxml_CompetencyWeight_s* x);
int zx_hrxml_CompetencyWeight_NUM_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x);

struct zx_hrxml_NumericValue_s* zx_hrxml_CompetencyWeight_POP_NumericValue(struct zx_hrxml_CompetencyWeight_s* x);
struct zx_hrxml_StringValue_s* zx_hrxml_CompetencyWeight_POP_StringValue(struct zx_hrxml_CompetencyWeight_s* x);
struct zx_elem_s* zx_hrxml_CompetencyWeight_POP_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x);

void zx_hrxml_CompetencyWeight_PUSH_NumericValue(struct zx_hrxml_CompetencyWeight_s* x, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_CompetencyWeight_PUSH_StringValue(struct zx_hrxml_CompetencyWeight_s* x, struct zx_hrxml_StringValue_s* y);
void zx_hrxml_CompetencyWeight_PUSH_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x, struct zx_elem_s* y);

void zx_hrxml_CompetencyWeight_PUT_type(struct zx_hrxml_CompetencyWeight_s* x, struct zx_attr_s* y);

void zx_hrxml_CompetencyWeight_PUT_NumericValue(struct zx_hrxml_CompetencyWeight_s* x, int n, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_CompetencyWeight_PUT_StringValue(struct zx_hrxml_CompetencyWeight_s* x, int n, struct zx_hrxml_StringValue_s* y);
void zx_hrxml_CompetencyWeight_PUT_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_CompetencyWeight_ADD_NumericValue(struct zx_hrxml_CompetencyWeight_s* x, int n, struct zx_hrxml_NumericValue_s* z);
void zx_hrxml_CompetencyWeight_ADD_StringValue(struct zx_hrxml_CompetencyWeight_s* x, int n, struct zx_hrxml_StringValue_s* z);
void zx_hrxml_CompetencyWeight_ADD_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_CompetencyWeight_DEL_NumericValue(struct zx_hrxml_CompetencyWeight_s* x, int n);
void zx_hrxml_CompetencyWeight_DEL_StringValue(struct zx_hrxml_CompetencyWeight_s* x, int n);
void zx_hrxml_CompetencyWeight_DEL_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x,int n);

void zx_hrxml_CompetencyWeight_REV_NumericValue(struct zx_hrxml_CompetencyWeight_s* x);
void zx_hrxml_CompetencyWeight_REV_StringValue(struct zx_hrxml_CompetencyWeight_s* x);
void zx_hrxml_CompetencyWeight_REV_SupportingInformation(struct zx_hrxml_CompetencyWeight_s* x);

#endif
/* -------------------------- hrxml_ConferenceDate -------------------------- */
/* refby( zx_hrxml_ConferencePaper_s ) */
#ifndef zx_hrxml_ConferenceDate_EXT
#define zx_hrxml_ConferenceDate_EXT
#endif
struct zx_hrxml_ConferenceDate_s {
  ZX_ELEM_EXT
  zx_hrxml_ConferenceDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_ConferenceDate(c, father) (struct zx_hrxml_ConferenceDate_s*)zx_new_elem((c),(father),zx_hrxml_ConferenceDate_ELEM)
int zx_DEC_ATTR_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x);
int zx_DEC_ELEM_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ConferenceDate_s* zx_DEEP_CLONE_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x);
int zx_WALK_SO_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ConferenceDate(struct zx_ctx* c, struct zx_hrxml_ConferenceDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ConferenceDate_GET_dateDescription(struct zx_hrxml_ConferenceDate_s* x);

struct zx_elem_s* zx_hrxml_ConferenceDate_GET_AnyDate(struct zx_hrxml_ConferenceDate_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferenceDate_GET_YearMonth(struct zx_hrxml_ConferenceDate_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferenceDate_GET_Year(struct zx_hrxml_ConferenceDate_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferenceDate_GET_MonthDay(struct zx_hrxml_ConferenceDate_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferenceDate_GET_StringDate(struct zx_hrxml_ConferenceDate_s* x, int n);

int zx_hrxml_ConferenceDate_NUM_AnyDate(struct zx_hrxml_ConferenceDate_s* x);
int zx_hrxml_ConferenceDate_NUM_YearMonth(struct zx_hrxml_ConferenceDate_s* x);
int zx_hrxml_ConferenceDate_NUM_Year(struct zx_hrxml_ConferenceDate_s* x);
int zx_hrxml_ConferenceDate_NUM_MonthDay(struct zx_hrxml_ConferenceDate_s* x);
int zx_hrxml_ConferenceDate_NUM_StringDate(struct zx_hrxml_ConferenceDate_s* x);

struct zx_elem_s* zx_hrxml_ConferenceDate_POP_AnyDate(struct zx_hrxml_ConferenceDate_s* x);
struct zx_elem_s* zx_hrxml_ConferenceDate_POP_YearMonth(struct zx_hrxml_ConferenceDate_s* x);
struct zx_elem_s* zx_hrxml_ConferenceDate_POP_Year(struct zx_hrxml_ConferenceDate_s* x);
struct zx_elem_s* zx_hrxml_ConferenceDate_POP_MonthDay(struct zx_hrxml_ConferenceDate_s* x);
struct zx_elem_s* zx_hrxml_ConferenceDate_POP_StringDate(struct zx_hrxml_ConferenceDate_s* x);

void zx_hrxml_ConferenceDate_PUSH_AnyDate(struct zx_hrxml_ConferenceDate_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUSH_YearMonth(struct zx_hrxml_ConferenceDate_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUSH_Year(struct zx_hrxml_ConferenceDate_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUSH_MonthDay(struct zx_hrxml_ConferenceDate_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUSH_StringDate(struct zx_hrxml_ConferenceDate_s* x, struct zx_elem_s* y);

void zx_hrxml_ConferenceDate_PUT_dateDescription(struct zx_hrxml_ConferenceDate_s* x, struct zx_attr_s* y);

void zx_hrxml_ConferenceDate_PUT_AnyDate(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUT_YearMonth(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUT_Year(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUT_MonthDay(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferenceDate_PUT_StringDate(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_ConferenceDate_ADD_AnyDate(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferenceDate_ADD_YearMonth(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferenceDate_ADD_Year(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferenceDate_ADD_MonthDay(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferenceDate_ADD_StringDate(struct zx_hrxml_ConferenceDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_ConferenceDate_DEL_AnyDate(struct zx_hrxml_ConferenceDate_s* x,int n);
void zx_hrxml_ConferenceDate_DEL_YearMonth(struct zx_hrxml_ConferenceDate_s* x,int n);
void zx_hrxml_ConferenceDate_DEL_Year(struct zx_hrxml_ConferenceDate_s* x,int n);
void zx_hrxml_ConferenceDate_DEL_MonthDay(struct zx_hrxml_ConferenceDate_s* x,int n);
void zx_hrxml_ConferenceDate_DEL_StringDate(struct zx_hrxml_ConferenceDate_s* x,int n);

void zx_hrxml_ConferenceDate_REV_AnyDate(struct zx_hrxml_ConferenceDate_s* x);
void zx_hrxml_ConferenceDate_REV_YearMonth(struct zx_hrxml_ConferenceDate_s* x);
void zx_hrxml_ConferenceDate_REV_Year(struct zx_hrxml_ConferenceDate_s* x);
void zx_hrxml_ConferenceDate_REV_MonthDay(struct zx_hrxml_ConferenceDate_s* x);
void zx_hrxml_ConferenceDate_REV_StringDate(struct zx_hrxml_ConferenceDate_s* x);

#endif
/* -------------------------- hrxml_ConferencePaper -------------------------- */
/* refby( zx_hrxml_PublicationHistory_s ) */
#ifndef zx_hrxml_ConferencePaper_EXT
#define zx_hrxml_ConferencePaper_EXT
#endif
struct zx_hrxml_ConferencePaper_s {
  ZX_ELEM_EXT
  zx_hrxml_ConferencePaper_EXT
  struct zx_elem_s* Title;	/* {1,1} xsd:string */
  struct zx_elem_s* Name;	/* {0,-1} xsd:string */
  struct zx_hrxml_PublicationDate_s* PublicationDate;	/* {0,1}  */
  struct zx_elem_s* Link;	/* {0,-1} InternetWebAddressType */
  struct zx_elem_s* Abstract;	/* {0,1} xsd:string */
  struct zx_hrxml_Copyright_s* Copyright;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* EventName;	/* {0,1} xsd:string */
  struct zx_hrxml_ConferenceDate_s* ConferenceDate;	/* {0,1}  */
  struct zx_elem_s* ConferenceLocation;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_ConferencePaper(c, father) (struct zx_hrxml_ConferencePaper_s*)zx_new_elem((c),(father),zx_hrxml_ConferencePaper_ELEM)
int zx_DEC_ATTR_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x);
int zx_DEC_ELEM_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ConferencePaper_s* zx_DEEP_CLONE_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x);
int zx_WALK_SO_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ConferencePaper(struct zx_ctx* c, struct zx_hrxml_ConferencePaper_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_ConferencePaper_GET_Title(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferencePaper_GET_Name(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_hrxml_PublicationDate_s* zx_hrxml_ConferencePaper_GET_PublicationDate(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferencePaper_GET_Link(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferencePaper_GET_Abstract(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_hrxml_Copyright_s* zx_hrxml_ConferencePaper_GET_Copyright(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferencePaper_GET_Comments(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferencePaper_GET_EventName(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_hrxml_ConferenceDate_s* zx_hrxml_ConferencePaper_GET_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x, int n);
struct zx_elem_s* zx_hrxml_ConferencePaper_GET_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x, int n);

int zx_hrxml_ConferencePaper_NUM_Title(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_Name(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_PublicationDate(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_Link(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_Abstract(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_Copyright(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_Comments(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_EventName(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x);
int zx_hrxml_ConferencePaper_NUM_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x);

struct zx_elem_s* zx_hrxml_ConferencePaper_POP_Title(struct zx_hrxml_ConferencePaper_s* x);
struct zx_elem_s* zx_hrxml_ConferencePaper_POP_Name(struct zx_hrxml_ConferencePaper_s* x);
struct zx_hrxml_PublicationDate_s* zx_hrxml_ConferencePaper_POP_PublicationDate(struct zx_hrxml_ConferencePaper_s* x);
struct zx_elem_s* zx_hrxml_ConferencePaper_POP_Link(struct zx_hrxml_ConferencePaper_s* x);
struct zx_elem_s* zx_hrxml_ConferencePaper_POP_Abstract(struct zx_hrxml_ConferencePaper_s* x);
struct zx_hrxml_Copyright_s* zx_hrxml_ConferencePaper_POP_Copyright(struct zx_hrxml_ConferencePaper_s* x);
struct zx_elem_s* zx_hrxml_ConferencePaper_POP_Comments(struct zx_hrxml_ConferencePaper_s* x);
struct zx_elem_s* zx_hrxml_ConferencePaper_POP_EventName(struct zx_hrxml_ConferencePaper_s* x);
struct zx_hrxml_ConferenceDate_s* zx_hrxml_ConferencePaper_POP_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x);
struct zx_elem_s* zx_hrxml_ConferencePaper_POP_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x);

void zx_hrxml_ConferencePaper_PUSH_Title(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUSH_Name(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUSH_PublicationDate(struct zx_hrxml_ConferencePaper_s* x, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_ConferencePaper_PUSH_Link(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUSH_Abstract(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUSH_Copyright(struct zx_hrxml_ConferencePaper_s* x, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_ConferencePaper_PUSH_Comments(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUSH_EventName(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUSH_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x, struct zx_hrxml_ConferenceDate_s* y);
void zx_hrxml_ConferencePaper_PUSH_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x, struct zx_elem_s* y);


void zx_hrxml_ConferencePaper_PUT_Title(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUT_Name(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUT_PublicationDate(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_ConferencePaper_PUT_Link(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUT_Abstract(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUT_Copyright(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_ConferencePaper_PUT_Comments(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUT_EventName(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ConferencePaper_PUT_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_hrxml_ConferenceDate_s* y);
void zx_hrxml_ConferencePaper_PUT_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_ConferencePaper_ADD_Title(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferencePaper_ADD_Name(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferencePaper_ADD_PublicationDate(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_hrxml_PublicationDate_s* z);
void zx_hrxml_ConferencePaper_ADD_Link(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferencePaper_ADD_Abstract(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferencePaper_ADD_Copyright(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_hrxml_Copyright_s* z);
void zx_hrxml_ConferencePaper_ADD_Comments(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferencePaper_ADD_EventName(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ConferencePaper_ADD_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_hrxml_ConferenceDate_s* z);
void zx_hrxml_ConferencePaper_ADD_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_ConferencePaper_DEL_Title(struct zx_hrxml_ConferencePaper_s* x,int n);
void zx_hrxml_ConferencePaper_DEL_Name(struct zx_hrxml_ConferencePaper_s* x,int n);
void zx_hrxml_ConferencePaper_DEL_PublicationDate(struct zx_hrxml_ConferencePaper_s* x, int n);
void zx_hrxml_ConferencePaper_DEL_Link(struct zx_hrxml_ConferencePaper_s* x,int n);
void zx_hrxml_ConferencePaper_DEL_Abstract(struct zx_hrxml_ConferencePaper_s* x,int n);
void zx_hrxml_ConferencePaper_DEL_Copyright(struct zx_hrxml_ConferencePaper_s* x, int n);
void zx_hrxml_ConferencePaper_DEL_Comments(struct zx_hrxml_ConferencePaper_s* x,int n);
void zx_hrxml_ConferencePaper_DEL_EventName(struct zx_hrxml_ConferencePaper_s* x,int n);
void zx_hrxml_ConferencePaper_DEL_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x, int n);
void zx_hrxml_ConferencePaper_DEL_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x,int n);

void zx_hrxml_ConferencePaper_REV_Title(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_Name(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_PublicationDate(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_Link(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_Abstract(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_Copyright(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_Comments(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_EventName(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_ConferenceDate(struct zx_hrxml_ConferencePaper_s* x);
void zx_hrxml_ConferencePaper_REV_ConferenceLocation(struct zx_hrxml_ConferencePaper_s* x);

#endif
/* -------------------------- hrxml_Considerations -------------------------- */
/* refby( zx_hrxml_WorkSiteEnvironment_s ) */
#ifndef zx_hrxml_Considerations_EXT
#define zx_hrxml_Considerations_EXT
#endif
struct zx_hrxml_Considerations_s {
  ZX_ELEM_EXT
  zx_hrxml_Considerations_EXT
  struct zx_elem_s* General;	/* {0,-1} xsd:string */
  struct zx_elem_s* Physical;	/* {0,-1} xsd:string */
  struct zx_hrxml_SafetyEquipment_s* SafetyEquipment;	/* {0,-1}  */
  struct zx_hrxml_DressCode_s* DressCode;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_Considerations(c, father) (struct zx_hrxml_Considerations_s*)zx_new_elem((c),(father),zx_hrxml_Considerations_ELEM)
int zx_DEC_ATTR_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x);
int zx_DEC_ELEM_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Considerations_s* zx_DEEP_CLONE_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x);
int zx_WALK_SO_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Considerations(struct zx_ctx* c, struct zx_hrxml_Considerations_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Considerations_GET_lang(struct zx_hrxml_Considerations_s* x);

struct zx_elem_s* zx_hrxml_Considerations_GET_General(struct zx_hrxml_Considerations_s* x, int n);
struct zx_elem_s* zx_hrxml_Considerations_GET_Physical(struct zx_hrxml_Considerations_s* x, int n);
struct zx_hrxml_SafetyEquipment_s* zx_hrxml_Considerations_GET_SafetyEquipment(struct zx_hrxml_Considerations_s* x, int n);
struct zx_hrxml_DressCode_s* zx_hrxml_Considerations_GET_DressCode(struct zx_hrxml_Considerations_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_Considerations_GET_UserArea(struct zx_hrxml_Considerations_s* x, int n);

int zx_hrxml_Considerations_NUM_General(struct zx_hrxml_Considerations_s* x);
int zx_hrxml_Considerations_NUM_Physical(struct zx_hrxml_Considerations_s* x);
int zx_hrxml_Considerations_NUM_SafetyEquipment(struct zx_hrxml_Considerations_s* x);
int zx_hrxml_Considerations_NUM_DressCode(struct zx_hrxml_Considerations_s* x);
int zx_hrxml_Considerations_NUM_UserArea(struct zx_hrxml_Considerations_s* x);

struct zx_elem_s* zx_hrxml_Considerations_POP_General(struct zx_hrxml_Considerations_s* x);
struct zx_elem_s* zx_hrxml_Considerations_POP_Physical(struct zx_hrxml_Considerations_s* x);
struct zx_hrxml_SafetyEquipment_s* zx_hrxml_Considerations_POP_SafetyEquipment(struct zx_hrxml_Considerations_s* x);
struct zx_hrxml_DressCode_s* zx_hrxml_Considerations_POP_DressCode(struct zx_hrxml_Considerations_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_Considerations_POP_UserArea(struct zx_hrxml_Considerations_s* x);

void zx_hrxml_Considerations_PUSH_General(struct zx_hrxml_Considerations_s* x, struct zx_elem_s* y);
void zx_hrxml_Considerations_PUSH_Physical(struct zx_hrxml_Considerations_s* x, struct zx_elem_s* y);
void zx_hrxml_Considerations_PUSH_SafetyEquipment(struct zx_hrxml_Considerations_s* x, struct zx_hrxml_SafetyEquipment_s* y);
void zx_hrxml_Considerations_PUSH_DressCode(struct zx_hrxml_Considerations_s* x, struct zx_hrxml_DressCode_s* y);
void zx_hrxml_Considerations_PUSH_UserArea(struct zx_hrxml_Considerations_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Considerations_PUT_lang(struct zx_hrxml_Considerations_s* x, struct zx_attr_s* y);

void zx_hrxml_Considerations_PUT_General(struct zx_hrxml_Considerations_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Considerations_PUT_Physical(struct zx_hrxml_Considerations_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Considerations_PUT_SafetyEquipment(struct zx_hrxml_Considerations_s* x, int n, struct zx_hrxml_SafetyEquipment_s* y);
void zx_hrxml_Considerations_PUT_DressCode(struct zx_hrxml_Considerations_s* x, int n, struct zx_hrxml_DressCode_s* y);
void zx_hrxml_Considerations_PUT_UserArea(struct zx_hrxml_Considerations_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Considerations_ADD_General(struct zx_hrxml_Considerations_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Considerations_ADD_Physical(struct zx_hrxml_Considerations_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Considerations_ADD_SafetyEquipment(struct zx_hrxml_Considerations_s* x, int n, struct zx_hrxml_SafetyEquipment_s* z);
void zx_hrxml_Considerations_ADD_DressCode(struct zx_hrxml_Considerations_s* x, int n, struct zx_hrxml_DressCode_s* z);
void zx_hrxml_Considerations_ADD_UserArea(struct zx_hrxml_Considerations_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_Considerations_DEL_General(struct zx_hrxml_Considerations_s* x,int n);
void zx_hrxml_Considerations_DEL_Physical(struct zx_hrxml_Considerations_s* x,int n);
void zx_hrxml_Considerations_DEL_SafetyEquipment(struct zx_hrxml_Considerations_s* x, int n);
void zx_hrxml_Considerations_DEL_DressCode(struct zx_hrxml_Considerations_s* x, int n);
void zx_hrxml_Considerations_DEL_UserArea(struct zx_hrxml_Considerations_s* x, int n);

void zx_hrxml_Considerations_REV_General(struct zx_hrxml_Considerations_s* x);
void zx_hrxml_Considerations_REV_Physical(struct zx_hrxml_Considerations_s* x);
void zx_hrxml_Considerations_REV_SafetyEquipment(struct zx_hrxml_Considerations_s* x);
void zx_hrxml_Considerations_REV_DressCode(struct zx_hrxml_Considerations_s* x);
void zx_hrxml_Considerations_REV_UserArea(struct zx_hrxml_Considerations_s* x);

#endif
/* -------------------------- hrxml_ContactId -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_ContactId_EXT
#define zx_hrxml_ContactId_EXT
#endif
struct zx_hrxml_ContactId_s {
  ZX_ELEM_EXT
  zx_hrxml_ContactId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_ContactId(c, father) (struct zx_hrxml_ContactId_s*)zx_new_elem((c),(father),zx_hrxml_ContactId_ELEM)
int zx_DEC_ATTR_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x);
int zx_DEC_ELEM_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ContactId_s* zx_DEEP_CLONE_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x);
int zx_WALK_SO_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ContactId(struct zx_ctx* c, struct zx_hrxml_ContactId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ContactId_GET_idOwner(struct zx_hrxml_ContactId_s* x);
struct zx_attr_s* zx_hrxml_ContactId_GET_validFrom(struct zx_hrxml_ContactId_s* x);
struct zx_attr_s* zx_hrxml_ContactId_GET_validTo(struct zx_hrxml_ContactId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ContactId_GET_IdValue(struct zx_hrxml_ContactId_s* x, int n);

int zx_hrxml_ContactId_NUM_IdValue(struct zx_hrxml_ContactId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ContactId_POP_IdValue(struct zx_hrxml_ContactId_s* x);

void zx_hrxml_ContactId_PUSH_IdValue(struct zx_hrxml_ContactId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ContactId_PUT_idOwner(struct zx_hrxml_ContactId_s* x, struct zx_attr_s* y);
void zx_hrxml_ContactId_PUT_validFrom(struct zx_hrxml_ContactId_s* x, struct zx_attr_s* y);
void zx_hrxml_ContactId_PUT_validTo(struct zx_hrxml_ContactId_s* x, struct zx_attr_s* y);

void zx_hrxml_ContactId_PUT_IdValue(struct zx_hrxml_ContactId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ContactId_ADD_IdValue(struct zx_hrxml_ContactId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_ContactId_DEL_IdValue(struct zx_hrxml_ContactId_s* x, int n);

void zx_hrxml_ContactId_REV_IdValue(struct zx_hrxml_ContactId_s* x);

#endif
/* -------------------------- hrxml_ContactInfo -------------------------- */
/* refby( zx_hrxml_Verification_s zx_hrxml_RelatedOrganization_s zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_ContactInfo_EXT
#define zx_hrxml_ContactInfo_EXT
#endif
struct zx_hrxml_ContactInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_ContactInfo_EXT
  struct zx_hrxml_PersonName_s* PersonName;	/* {1,1} nada */
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
};

#define zx_NEW_hrxml_ContactInfo(c, father) (struct zx_hrxml_ContactInfo_s*)zx_new_elem((c),(father),zx_hrxml_ContactInfo_ELEM)
int zx_DEC_ATTR_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x);
int zx_DEC_ELEM_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ContactInfo_s* zx_DEEP_CLONE_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x);
int zx_WALK_SO_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ContactInfo(struct zx_ctx* c, struct zx_hrxml_ContactInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PersonName_s* zx_hrxml_ContactInfo_GET_PersonName(struct zx_hrxml_ContactInfo_s* x, int n);
struct zx_hrxml_ContactMethod_s* zx_hrxml_ContactInfo_GET_ContactMethod(struct zx_hrxml_ContactInfo_s* x, int n);

int zx_hrxml_ContactInfo_NUM_PersonName(struct zx_hrxml_ContactInfo_s* x);
int zx_hrxml_ContactInfo_NUM_ContactMethod(struct zx_hrxml_ContactInfo_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_ContactInfo_POP_PersonName(struct zx_hrxml_ContactInfo_s* x);
struct zx_hrxml_ContactMethod_s* zx_hrxml_ContactInfo_POP_ContactMethod(struct zx_hrxml_ContactInfo_s* x);

void zx_hrxml_ContactInfo_PUSH_PersonName(struct zx_hrxml_ContactInfo_s* x, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_ContactInfo_PUSH_ContactMethod(struct zx_hrxml_ContactInfo_s* x, struct zx_hrxml_ContactMethod_s* y);


void zx_hrxml_ContactInfo_PUT_PersonName(struct zx_hrxml_ContactInfo_s* x, int n, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_ContactInfo_PUT_ContactMethod(struct zx_hrxml_ContactInfo_s* x, int n, struct zx_hrxml_ContactMethod_s* y);

void zx_hrxml_ContactInfo_ADD_PersonName(struct zx_hrxml_ContactInfo_s* x, int n, struct zx_hrxml_PersonName_s* z);
void zx_hrxml_ContactInfo_ADD_ContactMethod(struct zx_hrxml_ContactInfo_s* x, int n, struct zx_hrxml_ContactMethod_s* z);

void zx_hrxml_ContactInfo_DEL_PersonName(struct zx_hrxml_ContactInfo_s* x, int n);
void zx_hrxml_ContactInfo_DEL_ContactMethod(struct zx_hrxml_ContactInfo_s* x, int n);

void zx_hrxml_ContactInfo_REV_PersonName(struct zx_hrxml_ContactInfo_s* x);
void zx_hrxml_ContactInfo_REV_ContactMethod(struct zx_hrxml_ContactInfo_s* x);

#endif
/* -------------------------- hrxml_ContactMethod -------------------------- */
/* refby( zx_hrxml_DistributeTo_s zx_hrxml_PersonalData_s zx_hrxml_PersonMember_s zx_hrxml_Reference_s zx_hrxml_ContactInfo_s zx_hrxml_CandidateSupplier_s zx_hrxml_EmployerContactInfo_s ) */
#ifndef zx_hrxml_ContactMethod_EXT
#define zx_hrxml_ContactMethod_EXT
#endif
struct zx_hrxml_ContactMethod_s {
  ZX_ELEM_EXT
  zx_hrxml_ContactMethod_EXT
  struct zx_elem_s* Use;	/* {0,1} hrxml:contactMethodUseType */
  struct zx_elem_s* Location;	/* {0,1} hrxml:contactMethodLocationType */
  struct zx_elem_s* WhenAvailable;	/* {0,1} xsd:string */
  struct zx_hrxml_Telephone_s* Telephone;	/* {0,1}  */
  struct zx_hrxml_Mobile_s* Mobile;	/* {0,1} nada */
  struct zx_hrxml_Fax_s* Fax;	/* {0,1}  */
  struct zx_hrxml_Pager_s* Pager;	/* {0,1}  */
  struct zx_hrxml_TTYTDD_s* TTYTDD;	/* {0,1}  */
  struct zx_elem_s* InternetEmailAddress;	/* {0,1} xsd:string */
  struct zx_elem_s* InternetWebAddress;	/* {0,1} xsd:string */
  struct zx_hrxml_PostalAddress_s* PostalAddress;	/* {0,1} nada */
};

#define zx_NEW_hrxml_ContactMethod(c, father) (struct zx_hrxml_ContactMethod_s*)zx_new_elem((c),(father),zx_hrxml_ContactMethod_ELEM)
int zx_DEC_ATTR_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x);
int zx_DEC_ELEM_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ContactMethod_s* zx_DEEP_CLONE_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x);
int zx_WALK_SO_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ContactMethod(struct zx_ctx* c, struct zx_hrxml_ContactMethod_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_ContactMethod_GET_Use(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactMethod_GET_Location(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactMethod_GET_WhenAvailable(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_hrxml_Telephone_s* zx_hrxml_ContactMethod_GET_Telephone(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_hrxml_Mobile_s* zx_hrxml_ContactMethod_GET_Mobile(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_hrxml_Fax_s* zx_hrxml_ContactMethod_GET_Fax(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_hrxml_Pager_s* zx_hrxml_ContactMethod_GET_Pager(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_hrxml_TTYTDD_s* zx_hrxml_ContactMethod_GET_TTYTDD(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactMethod_GET_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactMethod_GET_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x, int n);
struct zx_hrxml_PostalAddress_s* zx_hrxml_ContactMethod_GET_PostalAddress(struct zx_hrxml_ContactMethod_s* x, int n);

int zx_hrxml_ContactMethod_NUM_Use(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_Location(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_WhenAvailable(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_Telephone(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_Mobile(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_Fax(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_Pager(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_TTYTDD(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x);
int zx_hrxml_ContactMethod_NUM_PostalAddress(struct zx_hrxml_ContactMethod_s* x);

struct zx_elem_s* zx_hrxml_ContactMethod_POP_Use(struct zx_hrxml_ContactMethod_s* x);
struct zx_elem_s* zx_hrxml_ContactMethod_POP_Location(struct zx_hrxml_ContactMethod_s* x);
struct zx_elem_s* zx_hrxml_ContactMethod_POP_WhenAvailable(struct zx_hrxml_ContactMethod_s* x);
struct zx_hrxml_Telephone_s* zx_hrxml_ContactMethod_POP_Telephone(struct zx_hrxml_ContactMethod_s* x);
struct zx_hrxml_Mobile_s* zx_hrxml_ContactMethod_POP_Mobile(struct zx_hrxml_ContactMethod_s* x);
struct zx_hrxml_Fax_s* zx_hrxml_ContactMethod_POP_Fax(struct zx_hrxml_ContactMethod_s* x);
struct zx_hrxml_Pager_s* zx_hrxml_ContactMethod_POP_Pager(struct zx_hrxml_ContactMethod_s* x);
struct zx_hrxml_TTYTDD_s* zx_hrxml_ContactMethod_POP_TTYTDD(struct zx_hrxml_ContactMethod_s* x);
struct zx_elem_s* zx_hrxml_ContactMethod_POP_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x);
struct zx_elem_s* zx_hrxml_ContactMethod_POP_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x);
struct zx_hrxml_PostalAddress_s* zx_hrxml_ContactMethod_POP_PostalAddress(struct zx_hrxml_ContactMethod_s* x);

void zx_hrxml_ContactMethod_PUSH_Use(struct zx_hrxml_ContactMethod_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUSH_Location(struct zx_hrxml_ContactMethod_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUSH_WhenAvailable(struct zx_hrxml_ContactMethod_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUSH_Telephone(struct zx_hrxml_ContactMethod_s* x, struct zx_hrxml_Telephone_s* y);
void zx_hrxml_ContactMethod_PUSH_Mobile(struct zx_hrxml_ContactMethod_s* x, struct zx_hrxml_Mobile_s* y);
void zx_hrxml_ContactMethod_PUSH_Fax(struct zx_hrxml_ContactMethod_s* x, struct zx_hrxml_Fax_s* y);
void zx_hrxml_ContactMethod_PUSH_Pager(struct zx_hrxml_ContactMethod_s* x, struct zx_hrxml_Pager_s* y);
void zx_hrxml_ContactMethod_PUSH_TTYTDD(struct zx_hrxml_ContactMethod_s* x, struct zx_hrxml_TTYTDD_s* y);
void zx_hrxml_ContactMethod_PUSH_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUSH_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUSH_PostalAddress(struct zx_hrxml_ContactMethod_s* x, struct zx_hrxml_PostalAddress_s* y);


void zx_hrxml_ContactMethod_PUT_Use(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUT_Location(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUT_WhenAvailable(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUT_Telephone(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Telephone_s* y);
void zx_hrxml_ContactMethod_PUT_Mobile(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Mobile_s* y);
void zx_hrxml_ContactMethod_PUT_Fax(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Fax_s* y);
void zx_hrxml_ContactMethod_PUT_Pager(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Pager_s* y);
void zx_hrxml_ContactMethod_PUT_TTYTDD(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_TTYTDD_s* y);
void zx_hrxml_ContactMethod_PUT_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUT_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactMethod_PUT_PostalAddress(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_PostalAddress_s* y);

void zx_hrxml_ContactMethod_ADD_Use(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactMethod_ADD_Location(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactMethod_ADD_WhenAvailable(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactMethod_ADD_Telephone(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Telephone_s* z);
void zx_hrxml_ContactMethod_ADD_Mobile(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Mobile_s* z);
void zx_hrxml_ContactMethod_ADD_Fax(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Fax_s* z);
void zx_hrxml_ContactMethod_ADD_Pager(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_Pager_s* z);
void zx_hrxml_ContactMethod_ADD_TTYTDD(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_TTYTDD_s* z);
void zx_hrxml_ContactMethod_ADD_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactMethod_ADD_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactMethod_ADD_PostalAddress(struct zx_hrxml_ContactMethod_s* x, int n, struct zx_hrxml_PostalAddress_s* z);

void zx_hrxml_ContactMethod_DEL_Use(struct zx_hrxml_ContactMethod_s* x,int n);
void zx_hrxml_ContactMethod_DEL_Location(struct zx_hrxml_ContactMethod_s* x,int n);
void zx_hrxml_ContactMethod_DEL_WhenAvailable(struct zx_hrxml_ContactMethod_s* x,int n);
void zx_hrxml_ContactMethod_DEL_Telephone(struct zx_hrxml_ContactMethod_s* x, int n);
void zx_hrxml_ContactMethod_DEL_Mobile(struct zx_hrxml_ContactMethod_s* x, int n);
void zx_hrxml_ContactMethod_DEL_Fax(struct zx_hrxml_ContactMethod_s* x, int n);
void zx_hrxml_ContactMethod_DEL_Pager(struct zx_hrxml_ContactMethod_s* x, int n);
void zx_hrxml_ContactMethod_DEL_TTYTDD(struct zx_hrxml_ContactMethod_s* x, int n);
void zx_hrxml_ContactMethod_DEL_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x,int n);
void zx_hrxml_ContactMethod_DEL_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x,int n);
void zx_hrxml_ContactMethod_DEL_PostalAddress(struct zx_hrxml_ContactMethod_s* x, int n);

void zx_hrxml_ContactMethod_REV_Use(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_Location(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_WhenAvailable(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_Telephone(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_Mobile(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_Fax(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_Pager(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_TTYTDD(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_InternetEmailAddress(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_InternetWebAddress(struct zx_hrxml_ContactMethod_s* x);
void zx_hrxml_ContactMethod_REV_PostalAddress(struct zx_hrxml_ContactMethod_s* x);

#endif
/* -------------------------- hrxml_ContactName -------------------------- */
/* refby( zx_hrxml_CandidateSupplier_s ) */
#ifndef zx_hrxml_ContactName_EXT
#define zx_hrxml_ContactName_EXT
#endif
struct zx_hrxml_ContactName_s {
  ZX_ELEM_EXT
  zx_hrxml_ContactName_EXT
  struct zx_elem_s* FormattedName;	/* {0,1} xsd:string */
  struct zx_elem_s* LegalName;	/* {0,0} xsd:string */
  struct zx_elem_s* GivenName;	/* {0,-1} xsd:string */
  struct zx_elem_s* PreferredGivenName;	/* {0,0} xsd:string */
  struct zx_elem_s* MiddleName;	/* {0,0} xsd:string */
  struct zx_hrxml_FamilyName_s* FamilyName;	/* {0,-1}  */
  struct zx_hrxml_Affix_s* Affix;	/* {0,0}  */
  struct zx_hrxml_AlternateScript_s* AlternateScript;	/* {0,0}  */
  struct zx_attr_s* script;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_ContactName(c, father) (struct zx_hrxml_ContactName_s*)zx_new_elem((c),(father),zx_hrxml_ContactName_ELEM)
int zx_DEC_ATTR_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x);
int zx_DEC_ELEM_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ContactName_s* zx_DEEP_CLONE_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x);
int zx_WALK_SO_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ContactName(struct zx_ctx* c, struct zx_hrxml_ContactName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ContactName_GET_script(struct zx_hrxml_ContactName_s* x);

struct zx_elem_s* zx_hrxml_ContactName_GET_FormattedName(struct zx_hrxml_ContactName_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactName_GET_LegalName(struct zx_hrxml_ContactName_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactName_GET_GivenName(struct zx_hrxml_ContactName_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactName_GET_PreferredGivenName(struct zx_hrxml_ContactName_s* x, int n);
struct zx_elem_s* zx_hrxml_ContactName_GET_MiddleName(struct zx_hrxml_ContactName_s* x, int n);
struct zx_hrxml_FamilyName_s* zx_hrxml_ContactName_GET_FamilyName(struct zx_hrxml_ContactName_s* x, int n);
struct zx_hrxml_Affix_s* zx_hrxml_ContactName_GET_Affix(struct zx_hrxml_ContactName_s* x, int n);
struct zx_hrxml_AlternateScript_s* zx_hrxml_ContactName_GET_AlternateScript(struct zx_hrxml_ContactName_s* x, int n);

int zx_hrxml_ContactName_NUM_FormattedName(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_LegalName(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_GivenName(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_PreferredGivenName(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_MiddleName(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_FamilyName(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_Affix(struct zx_hrxml_ContactName_s* x);
int zx_hrxml_ContactName_NUM_AlternateScript(struct zx_hrxml_ContactName_s* x);

struct zx_elem_s* zx_hrxml_ContactName_POP_FormattedName(struct zx_hrxml_ContactName_s* x);
struct zx_elem_s* zx_hrxml_ContactName_POP_LegalName(struct zx_hrxml_ContactName_s* x);
struct zx_elem_s* zx_hrxml_ContactName_POP_GivenName(struct zx_hrxml_ContactName_s* x);
struct zx_elem_s* zx_hrxml_ContactName_POP_PreferredGivenName(struct zx_hrxml_ContactName_s* x);
struct zx_elem_s* zx_hrxml_ContactName_POP_MiddleName(struct zx_hrxml_ContactName_s* x);
struct zx_hrxml_FamilyName_s* zx_hrxml_ContactName_POP_FamilyName(struct zx_hrxml_ContactName_s* x);
struct zx_hrxml_Affix_s* zx_hrxml_ContactName_POP_Affix(struct zx_hrxml_ContactName_s* x);
struct zx_hrxml_AlternateScript_s* zx_hrxml_ContactName_POP_AlternateScript(struct zx_hrxml_ContactName_s* x);

void zx_hrxml_ContactName_PUSH_FormattedName(struct zx_hrxml_ContactName_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUSH_LegalName(struct zx_hrxml_ContactName_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUSH_GivenName(struct zx_hrxml_ContactName_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUSH_PreferredGivenName(struct zx_hrxml_ContactName_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUSH_MiddleName(struct zx_hrxml_ContactName_s* x, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUSH_FamilyName(struct zx_hrxml_ContactName_s* x, struct zx_hrxml_FamilyName_s* y);
void zx_hrxml_ContactName_PUSH_Affix(struct zx_hrxml_ContactName_s* x, struct zx_hrxml_Affix_s* y);
void zx_hrxml_ContactName_PUSH_AlternateScript(struct zx_hrxml_ContactName_s* x, struct zx_hrxml_AlternateScript_s* y);

void zx_hrxml_ContactName_PUT_script(struct zx_hrxml_ContactName_s* x, struct zx_attr_s* y);

void zx_hrxml_ContactName_PUT_FormattedName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUT_LegalName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUT_GivenName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUT_PreferredGivenName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUT_MiddleName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ContactName_PUT_FamilyName(struct zx_hrxml_ContactName_s* x, int n, struct zx_hrxml_FamilyName_s* y);
void zx_hrxml_ContactName_PUT_Affix(struct zx_hrxml_ContactName_s* x, int n, struct zx_hrxml_Affix_s* y);
void zx_hrxml_ContactName_PUT_AlternateScript(struct zx_hrxml_ContactName_s* x, int n, struct zx_hrxml_AlternateScript_s* y);

void zx_hrxml_ContactName_ADD_FormattedName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactName_ADD_LegalName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactName_ADD_GivenName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactName_ADD_PreferredGivenName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactName_ADD_MiddleName(struct zx_hrxml_ContactName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ContactName_ADD_FamilyName(struct zx_hrxml_ContactName_s* x, int n, struct zx_hrxml_FamilyName_s* z);
void zx_hrxml_ContactName_ADD_Affix(struct zx_hrxml_ContactName_s* x, int n, struct zx_hrxml_Affix_s* z);
void zx_hrxml_ContactName_ADD_AlternateScript(struct zx_hrxml_ContactName_s* x, int n, struct zx_hrxml_AlternateScript_s* z);

void zx_hrxml_ContactName_DEL_FormattedName(struct zx_hrxml_ContactName_s* x,int n);
void zx_hrxml_ContactName_DEL_LegalName(struct zx_hrxml_ContactName_s* x,int n);
void zx_hrxml_ContactName_DEL_GivenName(struct zx_hrxml_ContactName_s* x,int n);
void zx_hrxml_ContactName_DEL_PreferredGivenName(struct zx_hrxml_ContactName_s* x,int n);
void zx_hrxml_ContactName_DEL_MiddleName(struct zx_hrxml_ContactName_s* x,int n);
void zx_hrxml_ContactName_DEL_FamilyName(struct zx_hrxml_ContactName_s* x, int n);
void zx_hrxml_ContactName_DEL_Affix(struct zx_hrxml_ContactName_s* x, int n);
void zx_hrxml_ContactName_DEL_AlternateScript(struct zx_hrxml_ContactName_s* x, int n);

void zx_hrxml_ContactName_REV_FormattedName(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_LegalName(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_GivenName(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_PreferredGivenName(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_MiddleName(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_FamilyName(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_Affix(struct zx_hrxml_ContactName_s* x);
void zx_hrxml_ContactName_REV_AlternateScript(struct zx_hrxml_ContactName_s* x);

#endif
/* -------------------------- hrxml_Copyright -------------------------- */
/* refby( zx_hrxml_ConferencePaper_s zx_hrxml_Article_s zx_hrxml_OtherPublication_s zx_hrxml_Book_s ) */
#ifndef zx_hrxml_Copyright_EXT
#define zx_hrxml_Copyright_EXT
#endif
struct zx_hrxml_Copyright_s {
  ZX_ELEM_EXT
  zx_hrxml_Copyright_EXT
  struct zx_hrxml_CopyrightDates_s* CopyrightDates;	/* {0,1}  */
  struct zx_elem_s* CopyrightText;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Copyright(c, father) (struct zx_hrxml_Copyright_s*)zx_new_elem((c),(father),zx_hrxml_Copyright_ELEM)
int zx_DEC_ATTR_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x);
int zx_DEC_ELEM_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Copyright_s* zx_DEEP_CLONE_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x);
int zx_WALK_SO_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Copyright(struct zx_ctx* c, struct zx_hrxml_Copyright_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_CopyrightDates_s* zx_hrxml_Copyright_GET_CopyrightDates(struct zx_hrxml_Copyright_s* x, int n);
struct zx_elem_s* zx_hrxml_Copyright_GET_CopyrightText(struct zx_hrxml_Copyright_s* x, int n);

int zx_hrxml_Copyright_NUM_CopyrightDates(struct zx_hrxml_Copyright_s* x);
int zx_hrxml_Copyright_NUM_CopyrightText(struct zx_hrxml_Copyright_s* x);

struct zx_hrxml_CopyrightDates_s* zx_hrxml_Copyright_POP_CopyrightDates(struct zx_hrxml_Copyright_s* x);
struct zx_elem_s* zx_hrxml_Copyright_POP_CopyrightText(struct zx_hrxml_Copyright_s* x);

void zx_hrxml_Copyright_PUSH_CopyrightDates(struct zx_hrxml_Copyright_s* x, struct zx_hrxml_CopyrightDates_s* y);
void zx_hrxml_Copyright_PUSH_CopyrightText(struct zx_hrxml_Copyright_s* x, struct zx_elem_s* y);


void zx_hrxml_Copyright_PUT_CopyrightDates(struct zx_hrxml_Copyright_s* x, int n, struct zx_hrxml_CopyrightDates_s* y);
void zx_hrxml_Copyright_PUT_CopyrightText(struct zx_hrxml_Copyright_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Copyright_ADD_CopyrightDates(struct zx_hrxml_Copyright_s* x, int n, struct zx_hrxml_CopyrightDates_s* z);
void zx_hrxml_Copyright_ADD_CopyrightText(struct zx_hrxml_Copyright_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Copyright_DEL_CopyrightDates(struct zx_hrxml_Copyright_s* x, int n);
void zx_hrxml_Copyright_DEL_CopyrightText(struct zx_hrxml_Copyright_s* x,int n);

void zx_hrxml_Copyright_REV_CopyrightDates(struct zx_hrxml_Copyright_s* x);
void zx_hrxml_Copyright_REV_CopyrightText(struct zx_hrxml_Copyright_s* x);

#endif
/* -------------------------- hrxml_CopyrightDates -------------------------- */
/* refby( zx_hrxml_Copyright_s ) */
#ifndef zx_hrxml_CopyrightDates_EXT
#define zx_hrxml_CopyrightDates_EXT
#endif
struct zx_hrxml_CopyrightDates_s {
  ZX_ELEM_EXT
  zx_hrxml_CopyrightDates_EXT
  struct zx_hrxml_OriginalDate_s* OriginalDate;	/* {1,1}  */
  struct zx_hrxml_MostRecentDate_s* MostRecentDate;	/* {0,1}  */
};

#define zx_NEW_hrxml_CopyrightDates(c, father) (struct zx_hrxml_CopyrightDates_s*)zx_new_elem((c),(father),zx_hrxml_CopyrightDates_ELEM)
int zx_DEC_ATTR_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x);
int zx_DEC_ELEM_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_CopyrightDates_s* zx_DEEP_CLONE_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x);
int zx_WALK_SO_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_CopyrightDates(struct zx_ctx* c, struct zx_hrxml_CopyrightDates_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_OriginalDate_s* zx_hrxml_CopyrightDates_GET_OriginalDate(struct zx_hrxml_CopyrightDates_s* x, int n);
struct zx_hrxml_MostRecentDate_s* zx_hrxml_CopyrightDates_GET_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x, int n);

int zx_hrxml_CopyrightDates_NUM_OriginalDate(struct zx_hrxml_CopyrightDates_s* x);
int zx_hrxml_CopyrightDates_NUM_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x);

struct zx_hrxml_OriginalDate_s* zx_hrxml_CopyrightDates_POP_OriginalDate(struct zx_hrxml_CopyrightDates_s* x);
struct zx_hrxml_MostRecentDate_s* zx_hrxml_CopyrightDates_POP_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x);

void zx_hrxml_CopyrightDates_PUSH_OriginalDate(struct zx_hrxml_CopyrightDates_s* x, struct zx_hrxml_OriginalDate_s* y);
void zx_hrxml_CopyrightDates_PUSH_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x, struct zx_hrxml_MostRecentDate_s* y);


void zx_hrxml_CopyrightDates_PUT_OriginalDate(struct zx_hrxml_CopyrightDates_s* x, int n, struct zx_hrxml_OriginalDate_s* y);
void zx_hrxml_CopyrightDates_PUT_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x, int n, struct zx_hrxml_MostRecentDate_s* y);

void zx_hrxml_CopyrightDates_ADD_OriginalDate(struct zx_hrxml_CopyrightDates_s* x, int n, struct zx_hrxml_OriginalDate_s* z);
void zx_hrxml_CopyrightDates_ADD_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x, int n, struct zx_hrxml_MostRecentDate_s* z);

void zx_hrxml_CopyrightDates_DEL_OriginalDate(struct zx_hrxml_CopyrightDates_s* x, int n);
void zx_hrxml_CopyrightDates_DEL_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x, int n);

void zx_hrxml_CopyrightDates_REV_OriginalDate(struct zx_hrxml_CopyrightDates_s* x);
void zx_hrxml_CopyrightDates_REV_MostRecentDate(struct zx_hrxml_CopyrightDates_s* x);

#endif
/* -------------------------- hrxml_DatesOfAttendance -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DatesOfAttendance_EXT
#define zx_hrxml_DatesOfAttendance_EXT
#endif
struct zx_hrxml_DatesOfAttendance_s {
  ZX_ELEM_EXT
  zx_hrxml_DatesOfAttendance_EXT
  struct zx_hrxml_StartDate_s* StartDate;	/* {1,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
  struct zx_attr_s* currentlyEnrolled;	/* {0,1} attribute xsd:boolean */
  struct zx_attr_s* enrollmentStatus;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* studentInGoodStanding;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_DatesOfAttendance(c, father) (struct zx_hrxml_DatesOfAttendance_s*)zx_new_elem((c),(father),zx_hrxml_DatesOfAttendance_ELEM)
int zx_DEC_ATTR_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x);
int zx_DEC_ELEM_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DatesOfAttendance_s* zx_DEEP_CLONE_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x);
int zx_WALK_SO_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DatesOfAttendance(struct zx_ctx* c, struct zx_hrxml_DatesOfAttendance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DatesOfAttendance_GET_currentlyEnrolled(struct zx_hrxml_DatesOfAttendance_s* x);
struct zx_attr_s* zx_hrxml_DatesOfAttendance_GET_enrollmentStatus(struct zx_hrxml_DatesOfAttendance_s* x);
struct zx_attr_s* zx_hrxml_DatesOfAttendance_GET_studentInGoodStanding(struct zx_hrxml_DatesOfAttendance_s* x);

struct zx_hrxml_StartDate_s* zx_hrxml_DatesOfAttendance_GET_StartDate(struct zx_hrxml_DatesOfAttendance_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_DatesOfAttendance_GET_EndDate(struct zx_hrxml_DatesOfAttendance_s* x, int n);

int zx_hrxml_DatesOfAttendance_NUM_StartDate(struct zx_hrxml_DatesOfAttendance_s* x);
int zx_hrxml_DatesOfAttendance_NUM_EndDate(struct zx_hrxml_DatesOfAttendance_s* x);

struct zx_hrxml_StartDate_s* zx_hrxml_DatesOfAttendance_POP_StartDate(struct zx_hrxml_DatesOfAttendance_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_DatesOfAttendance_POP_EndDate(struct zx_hrxml_DatesOfAttendance_s* x);

void zx_hrxml_DatesOfAttendance_PUSH_StartDate(struct zx_hrxml_DatesOfAttendance_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_DatesOfAttendance_PUSH_EndDate(struct zx_hrxml_DatesOfAttendance_s* x, struct zx_hrxml_EndDate_s* y);

void zx_hrxml_DatesOfAttendance_PUT_currentlyEnrolled(struct zx_hrxml_DatesOfAttendance_s* x, struct zx_attr_s* y);
void zx_hrxml_DatesOfAttendance_PUT_enrollmentStatus(struct zx_hrxml_DatesOfAttendance_s* x, struct zx_attr_s* y);
void zx_hrxml_DatesOfAttendance_PUT_studentInGoodStanding(struct zx_hrxml_DatesOfAttendance_s* x, struct zx_attr_s* y);

void zx_hrxml_DatesOfAttendance_PUT_StartDate(struct zx_hrxml_DatesOfAttendance_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_DatesOfAttendance_PUT_EndDate(struct zx_hrxml_DatesOfAttendance_s* x, int n, struct zx_hrxml_EndDate_s* y);

void zx_hrxml_DatesOfAttendance_ADD_StartDate(struct zx_hrxml_DatesOfAttendance_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_DatesOfAttendance_ADD_EndDate(struct zx_hrxml_DatesOfAttendance_s* x, int n, struct zx_hrxml_EndDate_s* z);

void zx_hrxml_DatesOfAttendance_DEL_StartDate(struct zx_hrxml_DatesOfAttendance_s* x, int n);
void zx_hrxml_DatesOfAttendance_DEL_EndDate(struct zx_hrxml_DatesOfAttendance_s* x, int n);

void zx_hrxml_DatesOfAttendance_REV_StartDate(struct zx_hrxml_DatesOfAttendance_s* x);
void zx_hrxml_DatesOfAttendance_REV_EndDate(struct zx_hrxml_DatesOfAttendance_s* x);

#endif
/* -------------------------- hrxml_DatesOfService -------------------------- */
/* refby( zx_hrxml_ServiceDetail_s ) */
#ifndef zx_hrxml_DatesOfService_EXT
#define zx_hrxml_DatesOfService_EXT
#endif
struct zx_hrxml_DatesOfService_s {
  ZX_ELEM_EXT
  zx_hrxml_DatesOfService_EXT
  struct zx_hrxml_StartDate_s* StartDate;	/* {1,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
};

#define zx_NEW_hrxml_DatesOfService(c, father) (struct zx_hrxml_DatesOfService_s*)zx_new_elem((c),(father),zx_hrxml_DatesOfService_ELEM)
int zx_DEC_ATTR_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x);
int zx_DEC_ELEM_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DatesOfService_s* zx_DEEP_CLONE_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x);
int zx_WALK_SO_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DatesOfService(struct zx_ctx* c, struct zx_hrxml_DatesOfService_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_StartDate_s* zx_hrxml_DatesOfService_GET_StartDate(struct zx_hrxml_DatesOfService_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_DatesOfService_GET_EndDate(struct zx_hrxml_DatesOfService_s* x, int n);

int zx_hrxml_DatesOfService_NUM_StartDate(struct zx_hrxml_DatesOfService_s* x);
int zx_hrxml_DatesOfService_NUM_EndDate(struct zx_hrxml_DatesOfService_s* x);

struct zx_hrxml_StartDate_s* zx_hrxml_DatesOfService_POP_StartDate(struct zx_hrxml_DatesOfService_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_DatesOfService_POP_EndDate(struct zx_hrxml_DatesOfService_s* x);

void zx_hrxml_DatesOfService_PUSH_StartDate(struct zx_hrxml_DatesOfService_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_DatesOfService_PUSH_EndDate(struct zx_hrxml_DatesOfService_s* x, struct zx_hrxml_EndDate_s* y);


void zx_hrxml_DatesOfService_PUT_StartDate(struct zx_hrxml_DatesOfService_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_DatesOfService_PUT_EndDate(struct zx_hrxml_DatesOfService_s* x, int n, struct zx_hrxml_EndDate_s* y);

void zx_hrxml_DatesOfService_ADD_StartDate(struct zx_hrxml_DatesOfService_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_DatesOfService_ADD_EndDate(struct zx_hrxml_DatesOfService_s* x, int n, struct zx_hrxml_EndDate_s* z);

void zx_hrxml_DatesOfService_DEL_StartDate(struct zx_hrxml_DatesOfService_s* x, int n);
void zx_hrxml_DatesOfService_DEL_EndDate(struct zx_hrxml_DatesOfService_s* x, int n);

void zx_hrxml_DatesOfService_REV_StartDate(struct zx_hrxml_DatesOfService_s* x);
void zx_hrxml_DatesOfService_REV_EndDate(struct zx_hrxml_DatesOfService_s* x);

#endif
/* -------------------------- hrxml_Degree -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s ) */
#ifndef zx_hrxml_Degree_EXT
#define zx_hrxml_Degree_EXT
#endif
struct zx_hrxml_Degree_s {
  ZX_ELEM_EXT
  zx_hrxml_Degree_EXT
  struct zx_hrxml_DegreeName_s* DegreeName;	/* {0,1}  */
  struct zx_hrxml_DegreeDate_s* DegreeDate;	/* {0,1}  */
  struct zx_hrxml_OtherHonors_s* OtherHonors;	/* {0,-1}  */
  struct zx_hrxml_DegreeMajor_s* DegreeMajor;	/* {0,-1}  */
  struct zx_hrxml_DegreeMinor_s* DegreeMinor;	/* {0,-1}  */
  struct zx_hrxml_DegreeMeasure_s* DegreeMeasure;	/* {0,1}  */
  struct zx_hrxml_DatesOfAttendance_s* DatesOfAttendance;	/* {0,-1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_hrxml_DegreeClassification_s* DegreeClassification;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* degreeType;	/* {0,1} attribute hrxml:DegreeTypeStringExtensionType */
  struct zx_attr_s* examPassed;	/* {0,1} attribute xsd:boolean */
  struct zx_attr_s* graduatingDegree;	/* {0,1} attribute hrxml:GraduatingDegreeType */
};

#define zx_NEW_hrxml_Degree(c, father) (struct zx_hrxml_Degree_s*)zx_new_elem((c),(father),zx_hrxml_Degree_ELEM)
int zx_DEC_ATTR_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x);
int zx_DEC_ELEM_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Degree_s* zx_DEEP_CLONE_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x);
int zx_WALK_SO_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Degree(struct zx_ctx* c, struct zx_hrxml_Degree_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Degree_GET_degreeType(struct zx_hrxml_Degree_s* x);
struct zx_attr_s* zx_hrxml_Degree_GET_examPassed(struct zx_hrxml_Degree_s* x);
struct zx_attr_s* zx_hrxml_Degree_GET_graduatingDegree(struct zx_hrxml_Degree_s* x);

struct zx_hrxml_DegreeName_s* zx_hrxml_Degree_GET_DegreeName(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_DegreeDate_s* zx_hrxml_Degree_GET_DegreeDate(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_OtherHonors_s* zx_hrxml_Degree_GET_OtherHonors(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_DegreeMajor_s* zx_hrxml_Degree_GET_DegreeMajor(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_DegreeMinor_s* zx_hrxml_Degree_GET_DegreeMinor(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_DegreeMeasure_s* zx_hrxml_Degree_GET_DegreeMeasure(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_DatesOfAttendance_s* zx_hrxml_Degree_GET_DatesOfAttendance(struct zx_hrxml_Degree_s* x, int n);
struct zx_elem_s* zx_hrxml_Degree_GET_Comments(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_DegreeClassification_s* zx_hrxml_Degree_GET_DegreeClassification(struct zx_hrxml_Degree_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_Degree_GET_UserArea(struct zx_hrxml_Degree_s* x, int n);

int zx_hrxml_Degree_NUM_DegreeName(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_DegreeDate(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_OtherHonors(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_DegreeMajor(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_DegreeMinor(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_DegreeMeasure(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_DatesOfAttendance(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_Comments(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_DegreeClassification(struct zx_hrxml_Degree_s* x);
int zx_hrxml_Degree_NUM_UserArea(struct zx_hrxml_Degree_s* x);

struct zx_hrxml_DegreeName_s* zx_hrxml_Degree_POP_DegreeName(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_DegreeDate_s* zx_hrxml_Degree_POP_DegreeDate(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_OtherHonors_s* zx_hrxml_Degree_POP_OtherHonors(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_DegreeMajor_s* zx_hrxml_Degree_POP_DegreeMajor(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_DegreeMinor_s* zx_hrxml_Degree_POP_DegreeMinor(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_DegreeMeasure_s* zx_hrxml_Degree_POP_DegreeMeasure(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_DatesOfAttendance_s* zx_hrxml_Degree_POP_DatesOfAttendance(struct zx_hrxml_Degree_s* x);
struct zx_elem_s* zx_hrxml_Degree_POP_Comments(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_DegreeClassification_s* zx_hrxml_Degree_POP_DegreeClassification(struct zx_hrxml_Degree_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_Degree_POP_UserArea(struct zx_hrxml_Degree_s* x);

void zx_hrxml_Degree_PUSH_DegreeName(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DegreeName_s* y);
void zx_hrxml_Degree_PUSH_DegreeDate(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DegreeDate_s* y);
void zx_hrxml_Degree_PUSH_OtherHonors(struct zx_hrxml_Degree_s* x, struct zx_hrxml_OtherHonors_s* y);
void zx_hrxml_Degree_PUSH_DegreeMajor(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DegreeMajor_s* y);
void zx_hrxml_Degree_PUSH_DegreeMinor(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DegreeMinor_s* y);
void zx_hrxml_Degree_PUSH_DegreeMeasure(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DegreeMeasure_s* y);
void zx_hrxml_Degree_PUSH_DatesOfAttendance(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DatesOfAttendance_s* y);
void zx_hrxml_Degree_PUSH_Comments(struct zx_hrxml_Degree_s* x, struct zx_elem_s* y);
void zx_hrxml_Degree_PUSH_DegreeClassification(struct zx_hrxml_Degree_s* x, struct zx_hrxml_DegreeClassification_s* y);
void zx_hrxml_Degree_PUSH_UserArea(struct zx_hrxml_Degree_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Degree_PUT_degreeType(struct zx_hrxml_Degree_s* x, struct zx_attr_s* y);
void zx_hrxml_Degree_PUT_examPassed(struct zx_hrxml_Degree_s* x, struct zx_attr_s* y);
void zx_hrxml_Degree_PUT_graduatingDegree(struct zx_hrxml_Degree_s* x, struct zx_attr_s* y);

void zx_hrxml_Degree_PUT_DegreeName(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeName_s* y);
void zx_hrxml_Degree_PUT_DegreeDate(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeDate_s* y);
void zx_hrxml_Degree_PUT_OtherHonors(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_OtherHonors_s* y);
void zx_hrxml_Degree_PUT_DegreeMajor(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeMajor_s* y);
void zx_hrxml_Degree_PUT_DegreeMinor(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeMinor_s* y);
void zx_hrxml_Degree_PUT_DegreeMeasure(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeMeasure_s* y);
void zx_hrxml_Degree_PUT_DatesOfAttendance(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DatesOfAttendance_s* y);
void zx_hrxml_Degree_PUT_Comments(struct zx_hrxml_Degree_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Degree_PUT_DegreeClassification(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeClassification_s* y);
void zx_hrxml_Degree_PUT_UserArea(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Degree_ADD_DegreeName(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeName_s* z);
void zx_hrxml_Degree_ADD_DegreeDate(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeDate_s* z);
void zx_hrxml_Degree_ADD_OtherHonors(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_OtherHonors_s* z);
void zx_hrxml_Degree_ADD_DegreeMajor(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeMajor_s* z);
void zx_hrxml_Degree_ADD_DegreeMinor(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeMinor_s* z);
void zx_hrxml_Degree_ADD_DegreeMeasure(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeMeasure_s* z);
void zx_hrxml_Degree_ADD_DatesOfAttendance(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DatesOfAttendance_s* z);
void zx_hrxml_Degree_ADD_Comments(struct zx_hrxml_Degree_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Degree_ADD_DegreeClassification(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_DegreeClassification_s* z);
void zx_hrxml_Degree_ADD_UserArea(struct zx_hrxml_Degree_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_Degree_DEL_DegreeName(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_DegreeDate(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_OtherHonors(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_DegreeMajor(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_DegreeMinor(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_DegreeMeasure(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_DatesOfAttendance(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_Comments(struct zx_hrxml_Degree_s* x,int n);
void zx_hrxml_Degree_DEL_DegreeClassification(struct zx_hrxml_Degree_s* x, int n);
void zx_hrxml_Degree_DEL_UserArea(struct zx_hrxml_Degree_s* x, int n);

void zx_hrxml_Degree_REV_DegreeName(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_DegreeDate(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_OtherHonors(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_DegreeMajor(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_DegreeMinor(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_DegreeMeasure(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_DatesOfAttendance(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_Comments(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_DegreeClassification(struct zx_hrxml_Degree_s* x);
void zx_hrxml_Degree_REV_UserArea(struct zx_hrxml_Degree_s* x);

#endif
/* -------------------------- hrxml_DegreeClassification -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DegreeClassification_EXT
#define zx_hrxml_DegreeClassification_EXT
#endif
struct zx_hrxml_DegreeClassification_s {
  ZX_ELEM_EXT
  zx_hrxml_DegreeClassification_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
};

#define zx_NEW_hrxml_DegreeClassification(c, father) (struct zx_hrxml_DegreeClassification_s*)zx_new_elem((c),(father),zx_hrxml_DegreeClassification_ELEM)
int zx_DEC_ATTR_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x);
int zx_DEC_ELEM_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DegreeClassification_s* zx_DEEP_CLONE_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x);
int zx_WALK_SO_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DegreeClassification(struct zx_ctx* c, struct zx_hrxml_DegreeClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_DegreeClassification_GET_Id(struct zx_hrxml_DegreeClassification_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_DegreeClassification_GET_Description(struct zx_hrxml_DegreeClassification_s* x, int n);

int zx_hrxml_DegreeClassification_NUM_Id(struct zx_hrxml_DegreeClassification_s* x);
int zx_hrxml_DegreeClassification_NUM_Description(struct zx_hrxml_DegreeClassification_s* x);

struct zx_hrxml_Id_s* zx_hrxml_DegreeClassification_POP_Id(struct zx_hrxml_DegreeClassification_s* x);
struct zx_hrxml_Description_s* zx_hrxml_DegreeClassification_POP_Description(struct zx_hrxml_DegreeClassification_s* x);

void zx_hrxml_DegreeClassification_PUSH_Id(struct zx_hrxml_DegreeClassification_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_DegreeClassification_PUSH_Description(struct zx_hrxml_DegreeClassification_s* x, struct zx_hrxml_Description_s* y);


void zx_hrxml_DegreeClassification_PUT_Id(struct zx_hrxml_DegreeClassification_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_DegreeClassification_PUT_Description(struct zx_hrxml_DegreeClassification_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_DegreeClassification_ADD_Id(struct zx_hrxml_DegreeClassification_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_DegreeClassification_ADD_Description(struct zx_hrxml_DegreeClassification_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_DegreeClassification_DEL_Id(struct zx_hrxml_DegreeClassification_s* x, int n);
void zx_hrxml_DegreeClassification_DEL_Description(struct zx_hrxml_DegreeClassification_s* x, int n);

void zx_hrxml_DegreeClassification_REV_Id(struct zx_hrxml_DegreeClassification_s* x);
void zx_hrxml_DegreeClassification_REV_Description(struct zx_hrxml_DegreeClassification_s* x);

#endif
/* -------------------------- hrxml_DegreeDate -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DegreeDate_EXT
#define zx_hrxml_DegreeDate_EXT
#endif
struct zx_hrxml_DegreeDate_s {
  ZX_ELEM_EXT
  zx_hrxml_DegreeDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_DegreeDate(c, father) (struct zx_hrxml_DegreeDate_s*)zx_new_elem((c),(father),zx_hrxml_DegreeDate_ELEM)
int zx_DEC_ATTR_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x);
int zx_DEC_ELEM_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DegreeDate_s* zx_DEEP_CLONE_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x);
int zx_WALK_SO_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DegreeDate(struct zx_ctx* c, struct zx_hrxml_DegreeDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DegreeDate_GET_dateDescription(struct zx_hrxml_DegreeDate_s* x);

struct zx_elem_s* zx_hrxml_DegreeDate_GET_AnyDate(struct zx_hrxml_DegreeDate_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeDate_GET_YearMonth(struct zx_hrxml_DegreeDate_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeDate_GET_Year(struct zx_hrxml_DegreeDate_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeDate_GET_MonthDay(struct zx_hrxml_DegreeDate_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeDate_GET_StringDate(struct zx_hrxml_DegreeDate_s* x, int n);

int zx_hrxml_DegreeDate_NUM_AnyDate(struct zx_hrxml_DegreeDate_s* x);
int zx_hrxml_DegreeDate_NUM_YearMonth(struct zx_hrxml_DegreeDate_s* x);
int zx_hrxml_DegreeDate_NUM_Year(struct zx_hrxml_DegreeDate_s* x);
int zx_hrxml_DegreeDate_NUM_MonthDay(struct zx_hrxml_DegreeDate_s* x);
int zx_hrxml_DegreeDate_NUM_StringDate(struct zx_hrxml_DegreeDate_s* x);

struct zx_elem_s* zx_hrxml_DegreeDate_POP_AnyDate(struct zx_hrxml_DegreeDate_s* x);
struct zx_elem_s* zx_hrxml_DegreeDate_POP_YearMonth(struct zx_hrxml_DegreeDate_s* x);
struct zx_elem_s* zx_hrxml_DegreeDate_POP_Year(struct zx_hrxml_DegreeDate_s* x);
struct zx_elem_s* zx_hrxml_DegreeDate_POP_MonthDay(struct zx_hrxml_DegreeDate_s* x);
struct zx_elem_s* zx_hrxml_DegreeDate_POP_StringDate(struct zx_hrxml_DegreeDate_s* x);

void zx_hrxml_DegreeDate_PUSH_AnyDate(struct zx_hrxml_DegreeDate_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUSH_YearMonth(struct zx_hrxml_DegreeDate_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUSH_Year(struct zx_hrxml_DegreeDate_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUSH_MonthDay(struct zx_hrxml_DegreeDate_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUSH_StringDate(struct zx_hrxml_DegreeDate_s* x, struct zx_elem_s* y);

void zx_hrxml_DegreeDate_PUT_dateDescription(struct zx_hrxml_DegreeDate_s* x, struct zx_attr_s* y);

void zx_hrxml_DegreeDate_PUT_AnyDate(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUT_YearMonth(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUT_Year(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUT_MonthDay(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeDate_PUT_StringDate(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_DegreeDate_ADD_AnyDate(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeDate_ADD_YearMonth(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeDate_ADD_Year(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeDate_ADD_MonthDay(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeDate_ADD_StringDate(struct zx_hrxml_DegreeDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_DegreeDate_DEL_AnyDate(struct zx_hrxml_DegreeDate_s* x,int n);
void zx_hrxml_DegreeDate_DEL_YearMonth(struct zx_hrxml_DegreeDate_s* x,int n);
void zx_hrxml_DegreeDate_DEL_Year(struct zx_hrxml_DegreeDate_s* x,int n);
void zx_hrxml_DegreeDate_DEL_MonthDay(struct zx_hrxml_DegreeDate_s* x,int n);
void zx_hrxml_DegreeDate_DEL_StringDate(struct zx_hrxml_DegreeDate_s* x,int n);

void zx_hrxml_DegreeDate_REV_AnyDate(struct zx_hrxml_DegreeDate_s* x);
void zx_hrxml_DegreeDate_REV_YearMonth(struct zx_hrxml_DegreeDate_s* x);
void zx_hrxml_DegreeDate_REV_Year(struct zx_hrxml_DegreeDate_s* x);
void zx_hrxml_DegreeDate_REV_MonthDay(struct zx_hrxml_DegreeDate_s* x);
void zx_hrxml_DegreeDate_REV_StringDate(struct zx_hrxml_DegreeDate_s* x);

#endif
/* -------------------------- hrxml_DegreeMajor -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DegreeMajor_EXT
#define zx_hrxml_DegreeMajor_EXT
#endif
struct zx_hrxml_DegreeMajor_s {
  ZX_ELEM_EXT
  zx_hrxml_DegreeMajor_EXT
  struct zx_hrxml_ProgramId_s* ProgramId;	/* {0,-1}  */
  struct zx_elem_s* DegreeConcentration;	/* {0,-1} xsd:string */
  struct zx_elem_s* Name;	/* {1,-1} xsd:string */
  struct zx_elem_s* Option;	/* {0,-1} xsd:string */
};

#define zx_NEW_hrxml_DegreeMajor(c, father) (struct zx_hrxml_DegreeMajor_s*)zx_new_elem((c),(father),zx_hrxml_DegreeMajor_ELEM)
int zx_DEC_ATTR_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x);
int zx_DEC_ELEM_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DegreeMajor_s* zx_DEEP_CLONE_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x);
int zx_WALK_SO_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DegreeMajor(struct zx_ctx* c, struct zx_hrxml_DegreeMajor_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_ProgramId_s* zx_hrxml_DegreeMajor_GET_ProgramId(struct zx_hrxml_DegreeMajor_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMajor_GET_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMajor_GET_Name(struct zx_hrxml_DegreeMajor_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMajor_GET_Option(struct zx_hrxml_DegreeMajor_s* x, int n);

int zx_hrxml_DegreeMajor_NUM_ProgramId(struct zx_hrxml_DegreeMajor_s* x);
int zx_hrxml_DegreeMajor_NUM_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x);
int zx_hrxml_DegreeMajor_NUM_Name(struct zx_hrxml_DegreeMajor_s* x);
int zx_hrxml_DegreeMajor_NUM_Option(struct zx_hrxml_DegreeMajor_s* x);

struct zx_hrxml_ProgramId_s* zx_hrxml_DegreeMajor_POP_ProgramId(struct zx_hrxml_DegreeMajor_s* x);
struct zx_elem_s* zx_hrxml_DegreeMajor_POP_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x);
struct zx_elem_s* zx_hrxml_DegreeMajor_POP_Name(struct zx_hrxml_DegreeMajor_s* x);
struct zx_elem_s* zx_hrxml_DegreeMajor_POP_Option(struct zx_hrxml_DegreeMajor_s* x);

void zx_hrxml_DegreeMajor_PUSH_ProgramId(struct zx_hrxml_DegreeMajor_s* x, struct zx_hrxml_ProgramId_s* y);
void zx_hrxml_DegreeMajor_PUSH_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMajor_PUSH_Name(struct zx_hrxml_DegreeMajor_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMajor_PUSH_Option(struct zx_hrxml_DegreeMajor_s* x, struct zx_elem_s* y);


void zx_hrxml_DegreeMajor_PUT_ProgramId(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_hrxml_ProgramId_s* y);
void zx_hrxml_DegreeMajor_PUT_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMajor_PUT_Name(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMajor_PUT_Option(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_DegreeMajor_ADD_ProgramId(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_hrxml_ProgramId_s* z);
void zx_hrxml_DegreeMajor_ADD_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMajor_ADD_Name(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMajor_ADD_Option(struct zx_hrxml_DegreeMajor_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_DegreeMajor_DEL_ProgramId(struct zx_hrxml_DegreeMajor_s* x, int n);
void zx_hrxml_DegreeMajor_DEL_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x,int n);
void zx_hrxml_DegreeMajor_DEL_Name(struct zx_hrxml_DegreeMajor_s* x,int n);
void zx_hrxml_DegreeMajor_DEL_Option(struct zx_hrxml_DegreeMajor_s* x,int n);

void zx_hrxml_DegreeMajor_REV_ProgramId(struct zx_hrxml_DegreeMajor_s* x);
void zx_hrxml_DegreeMajor_REV_DegreeConcentration(struct zx_hrxml_DegreeMajor_s* x);
void zx_hrxml_DegreeMajor_REV_Name(struct zx_hrxml_DegreeMajor_s* x);
void zx_hrxml_DegreeMajor_REV_Option(struct zx_hrxml_DegreeMajor_s* x);

#endif
/* -------------------------- hrxml_DegreeMeasure -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DegreeMeasure_EXT
#define zx_hrxml_DegreeMeasure_EXT
#endif
struct zx_hrxml_DegreeMeasure_s {
  ZX_ELEM_EXT
  zx_hrxml_DegreeMeasure_EXT
  struct zx_hrxml_EducationalMeasure_s* EducationalMeasure;	/* {0,1}  */
  struct zx_elem_s* AcademicCreditCode;	/* {0,1} A */
  struct zx_elem_s* CourseLevelCode;	/* {0,1} 1 */
  struct zx_elem_s* CumulativeSummaryIndicator;	/* {0,1} xsd:boolean */
  struct zx_elem_s* AcademicCreditHoursIncluded;	/* {0,1} xsd:decimal */
  struct zx_elem_s* AcademicCreditHoursAttempted;	/* {0,1} xsd:decimal */
  struct zx_elem_s* AcademicCreditHoursEarned;	/* {0,1} xsd:decimal */
  struct zx_hrxml_ClassRank_s* ClassRank;	/* {0,1}  */
  struct zx_attr_s* measureType;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_DegreeMeasure(c, father) (struct zx_hrxml_DegreeMeasure_s*)zx_new_elem((c),(father),zx_hrxml_DegreeMeasure_ELEM)
int zx_DEC_ATTR_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x);
int zx_DEC_ELEM_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DegreeMeasure_s* zx_DEEP_CLONE_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x);
int zx_WALK_SO_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DegreeMeasure(struct zx_ctx* c, struct zx_hrxml_DegreeMeasure_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DegreeMeasure_GET_measureType(struct zx_hrxml_DegreeMeasure_s* x);

struct zx_hrxml_EducationalMeasure_s* zx_hrxml_DegreeMeasure_GET_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMeasure_GET_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMeasure_GET_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMeasure_GET_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMeasure_GET_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMeasure_GET_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMeasure_GET_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x, int n);
struct zx_hrxml_ClassRank_s* zx_hrxml_DegreeMeasure_GET_ClassRank(struct zx_hrxml_DegreeMeasure_s* x, int n);

int zx_hrxml_DegreeMeasure_NUM_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x);
int zx_hrxml_DegreeMeasure_NUM_ClassRank(struct zx_hrxml_DegreeMeasure_s* x);

struct zx_hrxml_EducationalMeasure_s* zx_hrxml_DegreeMeasure_POP_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_elem_s* zx_hrxml_DegreeMeasure_POP_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_elem_s* zx_hrxml_DegreeMeasure_POP_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_elem_s* zx_hrxml_DegreeMeasure_POP_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_elem_s* zx_hrxml_DegreeMeasure_POP_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_elem_s* zx_hrxml_DegreeMeasure_POP_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_elem_s* zx_hrxml_DegreeMeasure_POP_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x);
struct zx_hrxml_ClassRank_s* zx_hrxml_DegreeMeasure_POP_ClassRank(struct zx_hrxml_DegreeMeasure_s* x);

void zx_hrxml_DegreeMeasure_PUSH_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x, struct zx_hrxml_EducationalMeasure_s* y);
void zx_hrxml_DegreeMeasure_PUSH_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUSH_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUSH_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUSH_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUSH_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUSH_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUSH_ClassRank(struct zx_hrxml_DegreeMeasure_s* x, struct zx_hrxml_ClassRank_s* y);

void zx_hrxml_DegreeMeasure_PUT_measureType(struct zx_hrxml_DegreeMeasure_s* x, struct zx_attr_s* y);

void zx_hrxml_DegreeMeasure_PUT_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_hrxml_EducationalMeasure_s* y);
void zx_hrxml_DegreeMeasure_PUT_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUT_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUT_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUT_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUT_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUT_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DegreeMeasure_PUT_ClassRank(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_hrxml_ClassRank_s* y);

void zx_hrxml_DegreeMeasure_ADD_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_hrxml_EducationalMeasure_s* z);
void zx_hrxml_DegreeMeasure_ADD_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMeasure_ADD_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMeasure_ADD_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMeasure_ADD_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMeasure_ADD_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMeasure_ADD_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DegreeMeasure_ADD_ClassRank(struct zx_hrxml_DegreeMeasure_s* x, int n, struct zx_hrxml_ClassRank_s* z);

void zx_hrxml_DegreeMeasure_DEL_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x, int n);
void zx_hrxml_DegreeMeasure_DEL_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x,int n);
void zx_hrxml_DegreeMeasure_DEL_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x,int n);
void zx_hrxml_DegreeMeasure_DEL_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x,int n);
void zx_hrxml_DegreeMeasure_DEL_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x,int n);
void zx_hrxml_DegreeMeasure_DEL_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x,int n);
void zx_hrxml_DegreeMeasure_DEL_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x,int n);
void zx_hrxml_DegreeMeasure_DEL_ClassRank(struct zx_hrxml_DegreeMeasure_s* x, int n);

void zx_hrxml_DegreeMeasure_REV_EducationalMeasure(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_AcademicCreditCode(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_CourseLevelCode(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_CumulativeSummaryIndicator(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_AcademicCreditHoursIncluded(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_AcademicCreditHoursAttempted(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_AcademicCreditHoursEarned(struct zx_hrxml_DegreeMeasure_s* x);
void zx_hrxml_DegreeMeasure_REV_ClassRank(struct zx_hrxml_DegreeMeasure_s* x);

#endif
/* -------------------------- hrxml_DegreeMinor -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DegreeMinor_EXT
#define zx_hrxml_DegreeMinor_EXT
#endif
struct zx_hrxml_DegreeMinor_s {
  ZX_ELEM_EXT
  zx_hrxml_DegreeMinor_EXT
  struct zx_hrxml_ProgramId_s* ProgramId;	/* {0,-1}  */
  struct zx_elem_s* Name;	/* {1,-1} xsd:string */
};

#define zx_NEW_hrxml_DegreeMinor(c, father) (struct zx_hrxml_DegreeMinor_s*)zx_new_elem((c),(father),zx_hrxml_DegreeMinor_ELEM)
int zx_DEC_ATTR_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x);
int zx_DEC_ELEM_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DegreeMinor_s* zx_DEEP_CLONE_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x);
int zx_WALK_SO_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DegreeMinor(struct zx_ctx* c, struct zx_hrxml_DegreeMinor_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_ProgramId_s* zx_hrxml_DegreeMinor_GET_ProgramId(struct zx_hrxml_DegreeMinor_s* x, int n);
struct zx_elem_s* zx_hrxml_DegreeMinor_GET_Name(struct zx_hrxml_DegreeMinor_s* x, int n);

int zx_hrxml_DegreeMinor_NUM_ProgramId(struct zx_hrxml_DegreeMinor_s* x);
int zx_hrxml_DegreeMinor_NUM_Name(struct zx_hrxml_DegreeMinor_s* x);

struct zx_hrxml_ProgramId_s* zx_hrxml_DegreeMinor_POP_ProgramId(struct zx_hrxml_DegreeMinor_s* x);
struct zx_elem_s* zx_hrxml_DegreeMinor_POP_Name(struct zx_hrxml_DegreeMinor_s* x);

void zx_hrxml_DegreeMinor_PUSH_ProgramId(struct zx_hrxml_DegreeMinor_s* x, struct zx_hrxml_ProgramId_s* y);
void zx_hrxml_DegreeMinor_PUSH_Name(struct zx_hrxml_DegreeMinor_s* x, struct zx_elem_s* y);


void zx_hrxml_DegreeMinor_PUT_ProgramId(struct zx_hrxml_DegreeMinor_s* x, int n, struct zx_hrxml_ProgramId_s* y);
void zx_hrxml_DegreeMinor_PUT_Name(struct zx_hrxml_DegreeMinor_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_DegreeMinor_ADD_ProgramId(struct zx_hrxml_DegreeMinor_s* x, int n, struct zx_hrxml_ProgramId_s* z);
void zx_hrxml_DegreeMinor_ADD_Name(struct zx_hrxml_DegreeMinor_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_DegreeMinor_DEL_ProgramId(struct zx_hrxml_DegreeMinor_s* x, int n);
void zx_hrxml_DegreeMinor_DEL_Name(struct zx_hrxml_DegreeMinor_s* x,int n);

void zx_hrxml_DegreeMinor_REV_ProgramId(struct zx_hrxml_DegreeMinor_s* x);
void zx_hrxml_DegreeMinor_REV_Name(struct zx_hrxml_DegreeMinor_s* x);

#endif
/* -------------------------- hrxml_DegreeName -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_DegreeName_EXT
#define zx_hrxml_DegreeName_EXT
#endif
struct zx_hrxml_DegreeName_s {
  ZX_ELEM_EXT
  zx_hrxml_DegreeName_EXT
  struct zx_attr_s* academicHonors;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* honorsProgram;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_DegreeName(c, father) (struct zx_hrxml_DegreeName_s*)zx_new_elem((c),(father),zx_hrxml_DegreeName_ELEM)
int zx_DEC_ATTR_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x);
int zx_DEC_ELEM_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DegreeName_s* zx_DEEP_CLONE_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x);
int zx_WALK_SO_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DegreeName(struct zx_ctx* c, struct zx_hrxml_DegreeName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DegreeName_GET_academicHonors(struct zx_hrxml_DegreeName_s* x);
struct zx_attr_s* zx_hrxml_DegreeName_GET_honorsProgram(struct zx_hrxml_DegreeName_s* x);





void zx_hrxml_DegreeName_PUT_academicHonors(struct zx_hrxml_DegreeName_s* x, struct zx_attr_s* y);
void zx_hrxml_DegreeName_PUT_honorsProgram(struct zx_hrxml_DegreeName_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_DeliveryAddress -------------------------- */
/* refby( zx_hrxml_PostalAddress_s zx_hrxml_PositionLocation_s ) */
#ifndef zx_hrxml_DeliveryAddress_EXT
#define zx_hrxml_DeliveryAddress_EXT
#endif
struct zx_hrxml_DeliveryAddress_s {
  ZX_ELEM_EXT
  zx_hrxml_DeliveryAddress_EXT
  struct zx_elem_s* AddressLine;	/* {0,-1} xsd:string */
  struct zx_elem_s* StreetName;	/* {0,1} xsd:string */
  struct zx_elem_s* BuildingNumber;	/* {0,1} xsd:string */
  struct zx_elem_s* Unit;	/* {0,1} xsd:string */
  struct zx_elem_s* PostOfficeBox;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_DeliveryAddress(c, father) (struct zx_hrxml_DeliveryAddress_s*)zx_new_elem((c),(father),zx_hrxml_DeliveryAddress_ELEM)
int zx_DEC_ATTR_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x);
int zx_DEC_ELEM_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DeliveryAddress_s* zx_DEEP_CLONE_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x);
int zx_WALK_SO_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DeliveryAddress(struct zx_ctx* c, struct zx_hrxml_DeliveryAddress_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_DeliveryAddress_GET_AddressLine(struct zx_hrxml_DeliveryAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_DeliveryAddress_GET_StreetName(struct zx_hrxml_DeliveryAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_DeliveryAddress_GET_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_DeliveryAddress_GET_Unit(struct zx_hrxml_DeliveryAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_DeliveryAddress_GET_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x, int n);

int zx_hrxml_DeliveryAddress_NUM_AddressLine(struct zx_hrxml_DeliveryAddress_s* x);
int zx_hrxml_DeliveryAddress_NUM_StreetName(struct zx_hrxml_DeliveryAddress_s* x);
int zx_hrxml_DeliveryAddress_NUM_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x);
int zx_hrxml_DeliveryAddress_NUM_Unit(struct zx_hrxml_DeliveryAddress_s* x);
int zx_hrxml_DeliveryAddress_NUM_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x);

struct zx_elem_s* zx_hrxml_DeliveryAddress_POP_AddressLine(struct zx_hrxml_DeliveryAddress_s* x);
struct zx_elem_s* zx_hrxml_DeliveryAddress_POP_StreetName(struct zx_hrxml_DeliveryAddress_s* x);
struct zx_elem_s* zx_hrxml_DeliveryAddress_POP_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x);
struct zx_elem_s* zx_hrxml_DeliveryAddress_POP_Unit(struct zx_hrxml_DeliveryAddress_s* x);
struct zx_elem_s* zx_hrxml_DeliveryAddress_POP_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x);

void zx_hrxml_DeliveryAddress_PUSH_AddressLine(struct zx_hrxml_DeliveryAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUSH_StreetName(struct zx_hrxml_DeliveryAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUSH_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUSH_Unit(struct zx_hrxml_DeliveryAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUSH_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x, struct zx_elem_s* y);


void zx_hrxml_DeliveryAddress_PUT_AddressLine(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUT_StreetName(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUT_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUT_Unit(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DeliveryAddress_PUT_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_DeliveryAddress_ADD_AddressLine(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DeliveryAddress_ADD_StreetName(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DeliveryAddress_ADD_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DeliveryAddress_ADD_Unit(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DeliveryAddress_ADD_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_DeliveryAddress_DEL_AddressLine(struct zx_hrxml_DeliveryAddress_s* x,int n);
void zx_hrxml_DeliveryAddress_DEL_StreetName(struct zx_hrxml_DeliveryAddress_s* x,int n);
void zx_hrxml_DeliveryAddress_DEL_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x,int n);
void zx_hrxml_DeliveryAddress_DEL_Unit(struct zx_hrxml_DeliveryAddress_s* x,int n);
void zx_hrxml_DeliveryAddress_DEL_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x,int n);

void zx_hrxml_DeliveryAddress_REV_AddressLine(struct zx_hrxml_DeliveryAddress_s* x);
void zx_hrxml_DeliveryAddress_REV_StreetName(struct zx_hrxml_DeliveryAddress_s* x);
void zx_hrxml_DeliveryAddress_REV_BuildingNumber(struct zx_hrxml_DeliveryAddress_s* x);
void zx_hrxml_DeliveryAddress_REV_Unit(struct zx_hrxml_DeliveryAddress_s* x);
void zx_hrxml_DeliveryAddress_REV_PostOfficeBox(struct zx_hrxml_DeliveryAddress_s* x);

#endif
/* -------------------------- hrxml_DemographicDescriptors -------------------------- */
/* refby( zx_hrxml_PersonDescriptors_s ) */
#ifndef zx_hrxml_DemographicDescriptors_EXT
#define zx_hrxml_DemographicDescriptors_EXT
#endif
struct zx_hrxml_DemographicDescriptors_s {
  ZX_ELEM_EXT
  zx_hrxml_DemographicDescriptors_EXT
  struct zx_elem_s* Race;	/* {0,-1} xsd:string */
  struct zx_elem_s* Ethnicity;	/* {0,-1} xsd:string */
  struct zx_elem_s* Nationality;	/* {0,-1} xsd:string */
  struct zx_hrxml_PrimaryLanguage_s* PrimaryLanguage;	/* {0,-1}  */
  struct zx_elem_s* BirthPlace;	/* {0,1} xsd:string */
  struct zx_elem_s* Religion;	/* {0,1} xsd:string */
  struct zx_elem_s* MaritalStatus;	/* {0,1} hrxml:MaritalStatusList */
  struct zx_hrxml_ChildrenInfo_s* ChildrenInfo;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_DemographicDescriptors(c, father) (struct zx_hrxml_DemographicDescriptors_s*)zx_new_elem((c),(father),zx_hrxml_DemographicDescriptors_ELEM)
int zx_DEC_ATTR_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x);
int zx_DEC_ELEM_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DemographicDescriptors_s* zx_DEEP_CLONE_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x);
int zx_WALK_SO_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DemographicDescriptors(struct zx_ctx* c, struct zx_hrxml_DemographicDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_DemographicDescriptors_GET_Race(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_GET_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_GET_Nationality(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_hrxml_PrimaryLanguage_s* zx_hrxml_DemographicDescriptors_GET_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_GET_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_GET_Religion(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_GET_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_hrxml_ChildrenInfo_s* zx_hrxml_DemographicDescriptors_GET_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_DemographicDescriptors_GET_UserArea(struct zx_hrxml_DemographicDescriptors_s* x, int n);

int zx_hrxml_DemographicDescriptors_NUM_Race(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_Nationality(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_Religion(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x);
int zx_hrxml_DemographicDescriptors_NUM_UserArea(struct zx_hrxml_DemographicDescriptors_s* x);

struct zx_elem_s* zx_hrxml_DemographicDescriptors_POP_Race(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_POP_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_POP_Nationality(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_hrxml_PrimaryLanguage_s* zx_hrxml_DemographicDescriptors_POP_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_POP_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_POP_Religion(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_elem_s* zx_hrxml_DemographicDescriptors_POP_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_hrxml_ChildrenInfo_s* zx_hrxml_DemographicDescriptors_POP_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_DemographicDescriptors_POP_UserArea(struct zx_hrxml_DemographicDescriptors_s* x);

void zx_hrxml_DemographicDescriptors_PUSH_Race(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_Nationality(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_hrxml_PrimaryLanguage_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_Religion(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_hrxml_ChildrenInfo_s* y);
void zx_hrxml_DemographicDescriptors_PUSH_UserArea(struct zx_hrxml_DemographicDescriptors_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_DemographicDescriptors_PUT_Race(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUT_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUT_Nationality(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUT_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_hrxml_PrimaryLanguage_s* y);
void zx_hrxml_DemographicDescriptors_PUT_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUT_Religion(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUT_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DemographicDescriptors_PUT_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_hrxml_ChildrenInfo_s* y);
void zx_hrxml_DemographicDescriptors_PUT_UserArea(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_DemographicDescriptors_ADD_Race(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DemographicDescriptors_ADD_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DemographicDescriptors_ADD_Nationality(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DemographicDescriptors_ADD_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_hrxml_PrimaryLanguage_s* z);
void zx_hrxml_DemographicDescriptors_ADD_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DemographicDescriptors_ADD_Religion(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DemographicDescriptors_ADD_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DemographicDescriptors_ADD_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_hrxml_ChildrenInfo_s* z);
void zx_hrxml_DemographicDescriptors_ADD_UserArea(struct zx_hrxml_DemographicDescriptors_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_DemographicDescriptors_DEL_Race(struct zx_hrxml_DemographicDescriptors_s* x,int n);
void zx_hrxml_DemographicDescriptors_DEL_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x,int n);
void zx_hrxml_DemographicDescriptors_DEL_Nationality(struct zx_hrxml_DemographicDescriptors_s* x,int n);
void zx_hrxml_DemographicDescriptors_DEL_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x, int n);
void zx_hrxml_DemographicDescriptors_DEL_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x,int n);
void zx_hrxml_DemographicDescriptors_DEL_Religion(struct zx_hrxml_DemographicDescriptors_s* x,int n);
void zx_hrxml_DemographicDescriptors_DEL_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x,int n);
void zx_hrxml_DemographicDescriptors_DEL_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x, int n);
void zx_hrxml_DemographicDescriptors_DEL_UserArea(struct zx_hrxml_DemographicDescriptors_s* x, int n);

void zx_hrxml_DemographicDescriptors_REV_Race(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_Ethnicity(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_Nationality(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_PrimaryLanguage(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_BirthPlace(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_Religion(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_MaritalStatus(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_ChildrenInfo(struct zx_hrxml_DemographicDescriptors_s* x);
void zx_hrxml_DemographicDescriptors_REV_UserArea(struct zx_hrxml_DemographicDescriptors_s* x);

#endif
/* -------------------------- hrxml_Description -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_LicenseOrCertification_s zx_hrxml_ResumeAdditionalItem_s zx_hrxml_RelocationAssistance_s zx_hrxml_WorkSiteEnvironment_s zx_hrxml_TimeOffAllowance_s zx_hrxml_SecurityCredential_s zx_hrxml_RelatedOrganization_s zx_hrxml_Patent_s zx_hrxml_SpeakingEvent_s zx_hrxml_LocalInstitutionClassification_s zx_hrxml_PositionHistory_s zx_hrxml_DegreeClassification_s zx_hrxml_Achievement_s zx_hrxml_CompanyVehicle_s zx_hrxml_OrganizationalUnit_s zx_hrxml_SupportingMaterials_s zx_hrxml_PersonRole_s ) */
#ifndef zx_hrxml_Description_EXT
#define zx_hrxml_Description_EXT
#endif
struct zx_hrxml_Description_s {
  ZX_ELEM_EXT
  zx_hrxml_Description_EXT
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_Description(c, father) (struct zx_hrxml_Description_s*)zx_new_elem((c),(father),zx_hrxml_Description_ELEM)
int zx_DEC_ATTR_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x);
int zx_DEC_ELEM_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Description_s* zx_DEEP_CLONE_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x);
int zx_WALK_SO_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Description(struct zx_ctx* c, struct zx_hrxml_Description_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Description_GET_lang(struct zx_hrxml_Description_s* x);





void zx_hrxml_Description_PUT_lang(struct zx_hrxml_Description_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Details -------------------------- */
/* refby( zx_hrxml_WorkSite_s ) */
#ifndef zx_hrxml_Details_EXT
#define zx_hrxml_Details_EXT
#endif
struct zx_hrxml_Details_s {
  ZX_ELEM_EXT
  zx_hrxml_Details_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_Details(c, father) (struct zx_hrxml_Details_s*)zx_new_elem((c),(father),zx_hrxml_Details_ELEM)
int zx_DEC_ATTR_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x);
int zx_DEC_ELEM_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Details_s* zx_DEEP_CLONE_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x);
int zx_WALK_SO_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Details(struct zx_ctx* c, struct zx_hrxml_Details_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Details_GET_type(struct zx_hrxml_Details_s* x);
struct zx_attr_s* zx_hrxml_Details_GET_lang(struct zx_hrxml_Details_s* x);





void zx_hrxml_Details_PUT_type(struct zx_hrxml_Details_s* x, struct zx_attr_s* y);
void zx_hrxml_Details_PUT_lang(struct zx_hrxml_Details_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_DisabilityInfo -------------------------- */
/* refby( zx_hrxml_BiologicalDescriptors_s ) */
#ifndef zx_hrxml_DisabilityInfo_EXT
#define zx_hrxml_DisabilityInfo_EXT
#endif
struct zx_hrxml_DisabilityInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_DisabilityInfo_EXT
  struct zx_elem_s* LevelOfDisability;	/* {0,1} xsd:string */
  struct zx_elem_s* Percentage;	/* {0,1} xsd:integer */
  struct zx_elem_s* Type;	/* {0,1} xsd:string */
  struct zx_elem_s* AccommodationsNeeded;	/* {0,1} xsd:boolean */
};

#define zx_NEW_hrxml_DisabilityInfo(c, father) (struct zx_hrxml_DisabilityInfo_s*)zx_new_elem((c),(father),zx_hrxml_DisabilityInfo_ELEM)
int zx_DEC_ATTR_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x);
int zx_DEC_ELEM_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DisabilityInfo_s* zx_DEEP_CLONE_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x);
int zx_WALK_SO_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DisabilityInfo(struct zx_ctx* c, struct zx_hrxml_DisabilityInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_DisabilityInfo_GET_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_DisabilityInfo_GET_Percentage(struct zx_hrxml_DisabilityInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_DisabilityInfo_GET_Type(struct zx_hrxml_DisabilityInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_DisabilityInfo_GET_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x, int n);

int zx_hrxml_DisabilityInfo_NUM_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x);
int zx_hrxml_DisabilityInfo_NUM_Percentage(struct zx_hrxml_DisabilityInfo_s* x);
int zx_hrxml_DisabilityInfo_NUM_Type(struct zx_hrxml_DisabilityInfo_s* x);
int zx_hrxml_DisabilityInfo_NUM_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x);

struct zx_elem_s* zx_hrxml_DisabilityInfo_POP_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x);
struct zx_elem_s* zx_hrxml_DisabilityInfo_POP_Percentage(struct zx_hrxml_DisabilityInfo_s* x);
struct zx_elem_s* zx_hrxml_DisabilityInfo_POP_Type(struct zx_hrxml_DisabilityInfo_s* x);
struct zx_elem_s* zx_hrxml_DisabilityInfo_POP_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x);

void zx_hrxml_DisabilityInfo_PUSH_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_DisabilityInfo_PUSH_Percentage(struct zx_hrxml_DisabilityInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_DisabilityInfo_PUSH_Type(struct zx_hrxml_DisabilityInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_DisabilityInfo_PUSH_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x, struct zx_elem_s* y);


void zx_hrxml_DisabilityInfo_PUT_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DisabilityInfo_PUT_Percentage(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DisabilityInfo_PUT_Type(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_DisabilityInfo_PUT_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_DisabilityInfo_ADD_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DisabilityInfo_ADD_Percentage(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DisabilityInfo_ADD_Type(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_DisabilityInfo_ADD_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_DisabilityInfo_DEL_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x,int n);
void zx_hrxml_DisabilityInfo_DEL_Percentage(struct zx_hrxml_DisabilityInfo_s* x,int n);
void zx_hrxml_DisabilityInfo_DEL_Type(struct zx_hrxml_DisabilityInfo_s* x,int n);
void zx_hrxml_DisabilityInfo_DEL_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x,int n);

void zx_hrxml_DisabilityInfo_REV_LevelOfDisability(struct zx_hrxml_DisabilityInfo_s* x);
void zx_hrxml_DisabilityInfo_REV_Percentage(struct zx_hrxml_DisabilityInfo_s* x);
void zx_hrxml_DisabilityInfo_REV_Type(struct zx_hrxml_DisabilityInfo_s* x);
void zx_hrxml_DisabilityInfo_REV_AccommodationsNeeded(struct zx_hrxml_DisabilityInfo_s* x);

#endif
/* -------------------------- hrxml_DistanceMax -------------------------- */
/* refby( zx_hrxml_Commute_s ) */
#ifndef zx_hrxml_DistanceMax_EXT
#define zx_hrxml_DistanceMax_EXT
#endif
struct zx_hrxml_DistanceMax_s {
  ZX_ELEM_EXT
  zx_hrxml_DistanceMax_EXT
  struct zx_attr_s* unitOfMeasure;	/* {0,1} attribute xsd:integer */
};

#define zx_NEW_hrxml_DistanceMax(c, father) (struct zx_hrxml_DistanceMax_s*)zx_new_elem((c),(father),zx_hrxml_DistanceMax_ELEM)
int zx_DEC_ATTR_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x);
int zx_DEC_ELEM_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DistanceMax_s* zx_DEEP_CLONE_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x);
int zx_WALK_SO_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DistanceMax(struct zx_ctx* c, struct zx_hrxml_DistanceMax_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DistanceMax_GET_unitOfMeasure(struct zx_hrxml_DistanceMax_s* x);





void zx_hrxml_DistanceMax_PUT_unitOfMeasure(struct zx_hrxml_DistanceMax_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_DistributeTo -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_DistributeTo_EXT
#define zx_hrxml_DistributeTo_EXT
#endif
struct zx_hrxml_DistributeTo_s {
  ZX_ELEM_EXT
  zx_hrxml_DistributeTo_EXT
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
};

#define zx_NEW_hrxml_DistributeTo(c, father) (struct zx_hrxml_DistributeTo_s*)zx_new_elem((c),(father),zx_hrxml_DistributeTo_ELEM)
int zx_DEC_ATTR_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x);
int zx_DEC_ELEM_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DistributeTo_s* zx_DEEP_CLONE_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x);
int zx_WALK_SO_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DistributeTo(struct zx_ctx* c, struct zx_hrxml_DistributeTo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_ContactMethod_s* zx_hrxml_DistributeTo_GET_ContactMethod(struct zx_hrxml_DistributeTo_s* x, int n);

int zx_hrxml_DistributeTo_NUM_ContactMethod(struct zx_hrxml_DistributeTo_s* x);

struct zx_hrxml_ContactMethod_s* zx_hrxml_DistributeTo_POP_ContactMethod(struct zx_hrxml_DistributeTo_s* x);

void zx_hrxml_DistributeTo_PUSH_ContactMethod(struct zx_hrxml_DistributeTo_s* x, struct zx_hrxml_ContactMethod_s* y);


void zx_hrxml_DistributeTo_PUT_ContactMethod(struct zx_hrxml_DistributeTo_s* x, int n, struct zx_hrxml_ContactMethod_s* y);

void zx_hrxml_DistributeTo_ADD_ContactMethod(struct zx_hrxml_DistributeTo_s* x, int n, struct zx_hrxml_ContactMethod_s* z);

void zx_hrxml_DistributeTo_DEL_ContactMethod(struct zx_hrxml_DistributeTo_s* x, int n);

void zx_hrxml_DistributeTo_REV_ContactMethod(struct zx_hrxml_DistributeTo_s* x);

#endif
/* -------------------------- hrxml_DoingBusinessAs -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_DoingBusinessAs_EXT
#define zx_hrxml_DoingBusinessAs_EXT
#endif
struct zx_hrxml_DoingBusinessAs_s {
  ZX_ELEM_EXT
  zx_hrxml_DoingBusinessAs_EXT
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_DoingBusinessAs(c, father) (struct zx_hrxml_DoingBusinessAs_s*)zx_new_elem((c),(father),zx_hrxml_DoingBusinessAs_ELEM)
int zx_DEC_ATTR_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x);
int zx_DEC_ELEM_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DoingBusinessAs_s* zx_DEEP_CLONE_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x);
int zx_WALK_SO_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DoingBusinessAs(struct zx_ctx* c, struct zx_hrxml_DoingBusinessAs_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DoingBusinessAs_GET_lang(struct zx_hrxml_DoingBusinessAs_s* x);





void zx_hrxml_DoingBusinessAs_PUT_lang(struct zx_hrxml_DoingBusinessAs_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_DressCode -------------------------- */
/* refby( zx_hrxml_Considerations_s zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_DressCode_EXT
#define zx_hrxml_DressCode_EXT
#endif
struct zx_hrxml_DressCode_s {
  ZX_ELEM_EXT
  zx_hrxml_DressCode_EXT
  struct zx_attr_s* suppliedByOrganization;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_DressCode(c, father) (struct zx_hrxml_DressCode_s*)zx_new_elem((c),(father),zx_hrxml_DressCode_ELEM)
int zx_DEC_ATTR_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x);
int zx_DEC_ELEM_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DressCode_s* zx_DEEP_CLONE_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x);
int zx_WALK_SO_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DressCode(struct zx_ctx* c, struct zx_hrxml_DressCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DressCode_GET_suppliedByOrganization(struct zx_hrxml_DressCode_s* x);





void zx_hrxml_DressCode_PUT_suppliedByOrganization(struct zx_hrxml_DressCode_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_DunsNumber -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_DunsNumber_EXT
#define zx_hrxml_DunsNumber_EXT
#endif
struct zx_hrxml_DunsNumber_s {
  ZX_ELEM_EXT
  zx_hrxml_DunsNumber_EXT
  struct zx_attr_s* dunsNumberType;	/* {1,1} attribute standard */
};

#define zx_NEW_hrxml_DunsNumber(c, father) (struct zx_hrxml_DunsNumber_s*)zx_new_elem((c),(father),zx_hrxml_DunsNumber_ELEM)
int zx_DEC_ATTR_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x);
int zx_DEC_ELEM_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_DunsNumber_s* zx_DEEP_CLONE_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x);
int zx_WALK_SO_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_DunsNumber(struct zx_ctx* c, struct zx_hrxml_DunsNumber_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_DunsNumber_GET_dunsNumberType(struct zx_hrxml_DunsNumber_s* x);





void zx_hrxml_DunsNumber_PUT_dunsNumberType(struct zx_hrxml_DunsNumber_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_EEOCJobCategory -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_EEOCJobCategory_EXT
#define zx_hrxml_EEOCJobCategory_EXT
#endif
struct zx_hrxml_EEOCJobCategory_s {
  ZX_ELEM_EXT
  zx_hrxml_EEOCJobCategory_EXT
  struct zx_elem_s* StandardValue;	/* {0,1} Job */
  struct zx_elem_s* NonStandardValue;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_EEOCJobCategory(c, father) (struct zx_hrxml_EEOCJobCategory_s*)zx_new_elem((c),(father),zx_hrxml_EEOCJobCategory_ELEM)
int zx_DEC_ATTR_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x);
int zx_DEC_ELEM_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EEOCJobCategory_s* zx_DEEP_CLONE_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x);
int zx_WALK_SO_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EEOCJobCategory(struct zx_ctx* c, struct zx_hrxml_EEOCJobCategory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_EEOCJobCategory_GET_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x, int n);
struct zx_elem_s* zx_hrxml_EEOCJobCategory_GET_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x, int n);

int zx_hrxml_EEOCJobCategory_NUM_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x);
int zx_hrxml_EEOCJobCategory_NUM_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x);

struct zx_elem_s* zx_hrxml_EEOCJobCategory_POP_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x);
struct zx_elem_s* zx_hrxml_EEOCJobCategory_POP_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x);

void zx_hrxml_EEOCJobCategory_PUSH_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x, struct zx_elem_s* y);
void zx_hrxml_EEOCJobCategory_PUSH_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x, struct zx_elem_s* y);


void zx_hrxml_EEOCJobCategory_PUT_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EEOCJobCategory_PUT_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_EEOCJobCategory_ADD_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EEOCJobCategory_ADD_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_EEOCJobCategory_DEL_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x,int n);
void zx_hrxml_EEOCJobCategory_DEL_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x,int n);

void zx_hrxml_EEOCJobCategory_REV_StandardValue(struct zx_hrxml_EEOCJobCategory_s* x);
void zx_hrxml_EEOCJobCategory_REV_NonStandardValue(struct zx_hrxml_EEOCJobCategory_s* x);

#endif
/* -------------------------- hrxml_EducationHistory -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_EducationHistory_EXT
#define zx_hrxml_EducationHistory_EXT
#endif
struct zx_hrxml_EducationHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_EducationHistory_EXT
  struct zx_hrxml_SchoolOrInstitution_s* SchoolOrInstitution;	/* {1,-1}  */
};

#define zx_NEW_hrxml_EducationHistory(c, father) (struct zx_hrxml_EducationHistory_s*)zx_new_elem((c),(father),zx_hrxml_EducationHistory_ELEM)
int zx_DEC_ATTR_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x);
int zx_DEC_ELEM_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EducationHistory_s* zx_DEEP_CLONE_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x);
int zx_WALK_SO_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EducationHistory(struct zx_ctx* c, struct zx_hrxml_EducationHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_SchoolOrInstitution_s* zx_hrxml_EducationHistory_GET_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x, int n);

int zx_hrxml_EducationHistory_NUM_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x);

struct zx_hrxml_SchoolOrInstitution_s* zx_hrxml_EducationHistory_POP_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x);

void zx_hrxml_EducationHistory_PUSH_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x, struct zx_hrxml_SchoolOrInstitution_s* y);


void zx_hrxml_EducationHistory_PUT_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x, int n, struct zx_hrxml_SchoolOrInstitution_s* y);

void zx_hrxml_EducationHistory_ADD_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x, int n, struct zx_hrxml_SchoolOrInstitution_s* z);

void zx_hrxml_EducationHistory_DEL_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x, int n);

void zx_hrxml_EducationHistory_REV_SchoolOrInstitution(struct zx_hrxml_EducationHistory_s* x);

#endif
/* -------------------------- hrxml_EducationalMeasure -------------------------- */
/* refby( zx_hrxml_DegreeMeasure_s ) */
#ifndef zx_hrxml_EducationalMeasure_EXT
#define zx_hrxml_EducationalMeasure_EXT
#endif
struct zx_hrxml_EducationalMeasure_s {
  ZX_ELEM_EXT
  zx_hrxml_EducationalMeasure_EXT
  struct zx_elem_s* MeasureSystem;	/* {0,1} xsd:string */
  struct zx_elem_s* MeasureValue;	/* {0,1} xsd:string */
  struct zx_hrxml_LowestPossibleValue_s* LowestPossibleValue;	/* {0,1}  */
  struct zx_hrxml_HighestPossibleValue_s* HighestPossibleValue;	/* {0,1}  */
  struct zx_elem_s* ExcessiveValueIndicator;	/* {0,1} xsd:boolean */
  struct zx_elem_s* GoodStudentIndicator;	/* {0,1} xsd:boolean */
};

#define zx_NEW_hrxml_EducationalMeasure(c, father) (struct zx_hrxml_EducationalMeasure_s*)zx_new_elem((c),(father),zx_hrxml_EducationalMeasure_ELEM)
int zx_DEC_ATTR_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x);
int zx_DEC_ELEM_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EducationalMeasure_s* zx_DEEP_CLONE_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x);
int zx_WALK_SO_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EducationalMeasure(struct zx_ctx* c, struct zx_hrxml_EducationalMeasure_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_EducationalMeasure_GET_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_EducationalMeasure_GET_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x, int n);
struct zx_hrxml_LowestPossibleValue_s* zx_hrxml_EducationalMeasure_GET_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n);
struct zx_hrxml_HighestPossibleValue_s* zx_hrxml_EducationalMeasure_GET_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_EducationalMeasure_GET_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x, int n);
struct zx_elem_s* zx_hrxml_EducationalMeasure_GET_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x, int n);

int zx_hrxml_EducationalMeasure_NUM_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x);
int zx_hrxml_EducationalMeasure_NUM_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x);
int zx_hrxml_EducationalMeasure_NUM_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x);
int zx_hrxml_EducationalMeasure_NUM_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x);
int zx_hrxml_EducationalMeasure_NUM_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x);
int zx_hrxml_EducationalMeasure_NUM_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x);

struct zx_elem_s* zx_hrxml_EducationalMeasure_POP_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x);
struct zx_elem_s* zx_hrxml_EducationalMeasure_POP_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x);
struct zx_hrxml_LowestPossibleValue_s* zx_hrxml_EducationalMeasure_POP_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x);
struct zx_hrxml_HighestPossibleValue_s* zx_hrxml_EducationalMeasure_POP_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x);
struct zx_elem_s* zx_hrxml_EducationalMeasure_POP_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x);
struct zx_elem_s* zx_hrxml_EducationalMeasure_POP_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x);

void zx_hrxml_EducationalMeasure_PUSH_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_EducationalMeasure_PUSH_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_EducationalMeasure_PUSH_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, struct zx_hrxml_LowestPossibleValue_s* y);
void zx_hrxml_EducationalMeasure_PUSH_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, struct zx_hrxml_HighestPossibleValue_s* y);
void zx_hrxml_EducationalMeasure_PUSH_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x, struct zx_elem_s* y);
void zx_hrxml_EducationalMeasure_PUSH_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x, struct zx_elem_s* y);


void zx_hrxml_EducationalMeasure_PUT_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EducationalMeasure_PUT_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EducationalMeasure_PUT_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_hrxml_LowestPossibleValue_s* y);
void zx_hrxml_EducationalMeasure_PUT_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_hrxml_HighestPossibleValue_s* y);
void zx_hrxml_EducationalMeasure_PUT_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EducationalMeasure_PUT_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_EducationalMeasure_ADD_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EducationalMeasure_ADD_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EducationalMeasure_ADD_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_hrxml_LowestPossibleValue_s* z);
void zx_hrxml_EducationalMeasure_ADD_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_hrxml_HighestPossibleValue_s* z);
void zx_hrxml_EducationalMeasure_ADD_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EducationalMeasure_ADD_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_EducationalMeasure_DEL_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x,int n);
void zx_hrxml_EducationalMeasure_DEL_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x,int n);
void zx_hrxml_EducationalMeasure_DEL_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n);
void zx_hrxml_EducationalMeasure_DEL_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x, int n);
void zx_hrxml_EducationalMeasure_DEL_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x,int n);
void zx_hrxml_EducationalMeasure_DEL_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x,int n);

void zx_hrxml_EducationalMeasure_REV_MeasureSystem(struct zx_hrxml_EducationalMeasure_s* x);
void zx_hrxml_EducationalMeasure_REV_MeasureValue(struct zx_hrxml_EducationalMeasure_s* x);
void zx_hrxml_EducationalMeasure_REV_LowestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x);
void zx_hrxml_EducationalMeasure_REV_HighestPossibleValue(struct zx_hrxml_EducationalMeasure_s* x);
void zx_hrxml_EducationalMeasure_REV_ExcessiveValueIndicator(struct zx_hrxml_EducationalMeasure_s* x);
void zx_hrxml_EducationalMeasure_REV_GoodStudentIndicator(struct zx_hrxml_EducationalMeasure_s* x);

#endif
/* -------------------------- hrxml_EffectiveDate -------------------------- */
/* refby( zx_hrxml_LicenseOrCertification_s zx_hrxml_ResumeAdditionalItem_s zx_hrxml_SecurityCredential_s zx_hrxml_PhysicalLocation_s ) */
#ifndef zx_hrxml_EffectiveDate_EXT
#define zx_hrxml_EffectiveDate_EXT
#endif
struct zx_hrxml_EffectiveDate_s {
  ZX_ELEM_EXT
  zx_hrxml_EffectiveDate_EXT
  struct zx_hrxml_StartDate_s* StartDate;	/* {0,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
};

#define zx_NEW_hrxml_EffectiveDate(c, father) (struct zx_hrxml_EffectiveDate_s*)zx_new_elem((c),(father),zx_hrxml_EffectiveDate_ELEM)
int zx_DEC_ATTR_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x);
int zx_DEC_ELEM_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EffectiveDate_s* zx_DEEP_CLONE_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x);
int zx_WALK_SO_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EffectiveDate(struct zx_ctx* c, struct zx_hrxml_EffectiveDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_StartDate_s* zx_hrxml_EffectiveDate_GET_StartDate(struct zx_hrxml_EffectiveDate_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_EffectiveDate_GET_EndDate(struct zx_hrxml_EffectiveDate_s* x, int n);

int zx_hrxml_EffectiveDate_NUM_StartDate(struct zx_hrxml_EffectiveDate_s* x);
int zx_hrxml_EffectiveDate_NUM_EndDate(struct zx_hrxml_EffectiveDate_s* x);

struct zx_hrxml_StartDate_s* zx_hrxml_EffectiveDate_POP_StartDate(struct zx_hrxml_EffectiveDate_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_EffectiveDate_POP_EndDate(struct zx_hrxml_EffectiveDate_s* x);

void zx_hrxml_EffectiveDate_PUSH_StartDate(struct zx_hrxml_EffectiveDate_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_EffectiveDate_PUSH_EndDate(struct zx_hrxml_EffectiveDate_s* x, struct zx_hrxml_EndDate_s* y);


void zx_hrxml_EffectiveDate_PUT_StartDate(struct zx_hrxml_EffectiveDate_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_EffectiveDate_PUT_EndDate(struct zx_hrxml_EffectiveDate_s* x, int n, struct zx_hrxml_EndDate_s* y);

void zx_hrxml_EffectiveDate_ADD_StartDate(struct zx_hrxml_EffectiveDate_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_EffectiveDate_ADD_EndDate(struct zx_hrxml_EffectiveDate_s* x, int n, struct zx_hrxml_EndDate_s* z);

void zx_hrxml_EffectiveDate_DEL_StartDate(struct zx_hrxml_EffectiveDate_s* x, int n);
void zx_hrxml_EffectiveDate_DEL_EndDate(struct zx_hrxml_EffectiveDate_s* x, int n);

void zx_hrxml_EffectiveDate_REV_StartDate(struct zx_hrxml_EffectiveDate_s* x);
void zx_hrxml_EffectiveDate_REV_EndDate(struct zx_hrxml_EffectiveDate_s* x);

#endif
/* -------------------------- hrxml_EmployerContactInfo -------------------------- */
/* refby( zx_hrxml_EmployerOrg_s ) */
#ifndef zx_hrxml_EmployerContactInfo_EXT
#define zx_hrxml_EmployerContactInfo_EXT
#endif
struct zx_hrxml_EmployerContactInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_EmployerContactInfo_EXT
  struct zx_hrxml_PersonName_s* PersonName;	/* {0,1} nada */
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
  struct zx_hrxml_LocationSummary_s* LocationSummary;	/* {0,1}  */
  struct zx_hrxml_InternetDomainName_s* InternetDomainName;	/* {0,-1}  */
  struct zx_attr_s* contactType;	/* {0,1} attribute m20:attrContactType */
};

#define zx_NEW_hrxml_EmployerContactInfo(c, father) (struct zx_hrxml_EmployerContactInfo_s*)zx_new_elem((c),(father),zx_hrxml_EmployerContactInfo_ELEM)
int zx_DEC_ATTR_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x);
int zx_DEC_ELEM_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EmployerContactInfo_s* zx_DEEP_CLONE_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x);
int zx_WALK_SO_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EmployerContactInfo(struct zx_ctx* c, struct zx_hrxml_EmployerContactInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_EmployerContactInfo_GET_contactType(struct zx_hrxml_EmployerContactInfo_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_EmployerContactInfo_GET_PersonName(struct zx_hrxml_EmployerContactInfo_s* x, int n);
struct zx_hrxml_ContactMethod_s* zx_hrxml_EmployerContactInfo_GET_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x, int n);
struct zx_hrxml_LocationSummary_s* zx_hrxml_EmployerContactInfo_GET_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x, int n);
struct zx_hrxml_InternetDomainName_s* zx_hrxml_EmployerContactInfo_GET_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x, int n);

int zx_hrxml_EmployerContactInfo_NUM_PersonName(struct zx_hrxml_EmployerContactInfo_s* x);
int zx_hrxml_EmployerContactInfo_NUM_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x);
int zx_hrxml_EmployerContactInfo_NUM_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x);
int zx_hrxml_EmployerContactInfo_NUM_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_EmployerContactInfo_POP_PersonName(struct zx_hrxml_EmployerContactInfo_s* x);
struct zx_hrxml_ContactMethod_s* zx_hrxml_EmployerContactInfo_POP_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x);
struct zx_hrxml_LocationSummary_s* zx_hrxml_EmployerContactInfo_POP_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x);
struct zx_hrxml_InternetDomainName_s* zx_hrxml_EmployerContactInfo_POP_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x);

void zx_hrxml_EmployerContactInfo_PUSH_PersonName(struct zx_hrxml_EmployerContactInfo_s* x, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_EmployerContactInfo_PUSH_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_EmployerContactInfo_PUSH_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x, struct zx_hrxml_LocationSummary_s* y);
void zx_hrxml_EmployerContactInfo_PUSH_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x, struct zx_hrxml_InternetDomainName_s* y);

void zx_hrxml_EmployerContactInfo_PUT_contactType(struct zx_hrxml_EmployerContactInfo_s* x, struct zx_attr_s* y);

void zx_hrxml_EmployerContactInfo_PUT_PersonName(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_EmployerContactInfo_PUT_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_EmployerContactInfo_PUT_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_LocationSummary_s* y);
void zx_hrxml_EmployerContactInfo_PUT_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_InternetDomainName_s* y);

void zx_hrxml_EmployerContactInfo_ADD_PersonName(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_PersonName_s* z);
void zx_hrxml_EmployerContactInfo_ADD_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_ContactMethod_s* z);
void zx_hrxml_EmployerContactInfo_ADD_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_LocationSummary_s* z);
void zx_hrxml_EmployerContactInfo_ADD_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x, int n, struct zx_hrxml_InternetDomainName_s* z);

void zx_hrxml_EmployerContactInfo_DEL_PersonName(struct zx_hrxml_EmployerContactInfo_s* x, int n);
void zx_hrxml_EmployerContactInfo_DEL_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x, int n);
void zx_hrxml_EmployerContactInfo_DEL_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x, int n);
void zx_hrxml_EmployerContactInfo_DEL_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x, int n);

void zx_hrxml_EmployerContactInfo_REV_PersonName(struct zx_hrxml_EmployerContactInfo_s* x);
void zx_hrxml_EmployerContactInfo_REV_ContactMethod(struct zx_hrxml_EmployerContactInfo_s* x);
void zx_hrxml_EmployerContactInfo_REV_LocationSummary(struct zx_hrxml_EmployerContactInfo_s* x);
void zx_hrxml_EmployerContactInfo_REV_InternetDomainName(struct zx_hrxml_EmployerContactInfo_s* x);

#endif
/* -------------------------- hrxml_EmployerOrg -------------------------- */
/* refby( zx_hrxml_EmploymentHistory_s ) */
#ifndef zx_hrxml_EmployerOrg_EXT
#define zx_hrxml_EmployerOrg_EXT
#endif
struct zx_hrxml_EmployerOrg_s {
  ZX_ELEM_EXT
  zx_hrxml_EmployerOrg_EXT
  struct zx_elem_s* EmployerOrgName;	/* {1,1} xsd:string */
  struct zx_hrxml_EmployerContactInfo_s* EmployerContactInfo;	/* {0,1}  */
  struct zx_hrxml_PositionHistory_s* PositionHistory;	/* {1,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* employerOrgType;	/* {0,1} attribute hrxml:EmpOrgTypeStringExtensionType */
};

#define zx_NEW_hrxml_EmployerOrg(c, father) (struct zx_hrxml_EmployerOrg_s*)zx_new_elem((c),(father),zx_hrxml_EmployerOrg_ELEM)
int zx_DEC_ATTR_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x);
int zx_DEC_ELEM_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EmployerOrg_s* zx_DEEP_CLONE_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x);
int zx_WALK_SO_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EmployerOrg(struct zx_ctx* c, struct zx_hrxml_EmployerOrg_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_EmployerOrg_GET_employerOrgType(struct zx_hrxml_EmployerOrg_s* x);

struct zx_elem_s* zx_hrxml_EmployerOrg_GET_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x, int n);
struct zx_hrxml_EmployerContactInfo_s* zx_hrxml_EmployerOrg_GET_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x, int n);
struct zx_hrxml_PositionHistory_s* zx_hrxml_EmployerOrg_GET_PositionHistory(struct zx_hrxml_EmployerOrg_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_EmployerOrg_GET_UserArea(struct zx_hrxml_EmployerOrg_s* x, int n);

int zx_hrxml_EmployerOrg_NUM_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x);
int zx_hrxml_EmployerOrg_NUM_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x);
int zx_hrxml_EmployerOrg_NUM_PositionHistory(struct zx_hrxml_EmployerOrg_s* x);
int zx_hrxml_EmployerOrg_NUM_UserArea(struct zx_hrxml_EmployerOrg_s* x);

struct zx_elem_s* zx_hrxml_EmployerOrg_POP_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x);
struct zx_hrxml_EmployerContactInfo_s* zx_hrxml_EmployerOrg_POP_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x);
struct zx_hrxml_PositionHistory_s* zx_hrxml_EmployerOrg_POP_PositionHistory(struct zx_hrxml_EmployerOrg_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_EmployerOrg_POP_UserArea(struct zx_hrxml_EmployerOrg_s* x);

void zx_hrxml_EmployerOrg_PUSH_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x, struct zx_elem_s* y);
void zx_hrxml_EmployerOrg_PUSH_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x, struct zx_hrxml_EmployerContactInfo_s* y);
void zx_hrxml_EmployerOrg_PUSH_PositionHistory(struct zx_hrxml_EmployerOrg_s* x, struct zx_hrxml_PositionHistory_s* y);
void zx_hrxml_EmployerOrg_PUSH_UserArea(struct zx_hrxml_EmployerOrg_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_EmployerOrg_PUT_employerOrgType(struct zx_hrxml_EmployerOrg_s* x, struct zx_attr_s* y);

void zx_hrxml_EmployerOrg_PUT_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EmployerOrg_PUT_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_hrxml_EmployerContactInfo_s* y);
void zx_hrxml_EmployerOrg_PUT_PositionHistory(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_hrxml_PositionHistory_s* y);
void zx_hrxml_EmployerOrg_PUT_UserArea(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_EmployerOrg_ADD_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EmployerOrg_ADD_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_hrxml_EmployerContactInfo_s* z);
void zx_hrxml_EmployerOrg_ADD_PositionHistory(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_hrxml_PositionHistory_s* z);
void zx_hrxml_EmployerOrg_ADD_UserArea(struct zx_hrxml_EmployerOrg_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_EmployerOrg_DEL_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x,int n);
void zx_hrxml_EmployerOrg_DEL_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x, int n);
void zx_hrxml_EmployerOrg_DEL_PositionHistory(struct zx_hrxml_EmployerOrg_s* x, int n);
void zx_hrxml_EmployerOrg_DEL_UserArea(struct zx_hrxml_EmployerOrg_s* x, int n);

void zx_hrxml_EmployerOrg_REV_EmployerOrgName(struct zx_hrxml_EmployerOrg_s* x);
void zx_hrxml_EmployerOrg_REV_EmployerContactInfo(struct zx_hrxml_EmployerOrg_s* x);
void zx_hrxml_EmployerOrg_REV_PositionHistory(struct zx_hrxml_EmployerOrg_s* x);
void zx_hrxml_EmployerOrg_REV_UserArea(struct zx_hrxml_EmployerOrg_s* x);

#endif
/* -------------------------- hrxml_EmploymentHistory -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_EmploymentHistory_EXT
#define zx_hrxml_EmploymentHistory_EXT
#endif
struct zx_hrxml_EmploymentHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_EmploymentHistory_EXT
  struct zx_hrxml_EmployerOrg_s* EmployerOrg;	/* {1,-1}  */
};

#define zx_NEW_hrxml_EmploymentHistory(c, father) (struct zx_hrxml_EmploymentHistory_s*)zx_new_elem((c),(father),zx_hrxml_EmploymentHistory_ELEM)
int zx_DEC_ATTR_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x);
int zx_DEC_ELEM_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EmploymentHistory_s* zx_DEEP_CLONE_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x);
int zx_WALK_SO_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EmploymentHistory(struct zx_ctx* c, struct zx_hrxml_EmploymentHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_EmployerOrg_s* zx_hrxml_EmploymentHistory_GET_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x, int n);

int zx_hrxml_EmploymentHistory_NUM_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x);

struct zx_hrxml_EmployerOrg_s* zx_hrxml_EmploymentHistory_POP_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x);

void zx_hrxml_EmploymentHistory_PUSH_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x, struct zx_hrxml_EmployerOrg_s* y);


void zx_hrxml_EmploymentHistory_PUT_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x, int n, struct zx_hrxml_EmployerOrg_s* y);

void zx_hrxml_EmploymentHistory_ADD_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x, int n, struct zx_hrxml_EmployerOrg_s* z);

void zx_hrxml_EmploymentHistory_DEL_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x, int n);

void zx_hrxml_EmploymentHistory_REV_EmployerOrg(struct zx_hrxml_EmploymentHistory_s* x);

#endif
/* -------------------------- hrxml_EndDate -------------------------- */
/* refby( zx_hrxml_DatesOfAttendance_s zx_hrxml_Association_s zx_hrxml_EffectiveDate_s zx_hrxml_DatesOfService_s zx_hrxml_SpeakingEvent_s zx_hrxml_PositionHistory_s zx_hrxml_AvailabilityDates_s ) */
#ifndef zx_hrxml_EndDate_EXT
#define zx_hrxml_EndDate_EXT
#endif
struct zx_hrxml_EndDate_s {
  ZX_ELEM_EXT
  zx_hrxml_EndDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_EndDate(c, father) (struct zx_hrxml_EndDate_s*)zx_new_elem((c),(father),zx_hrxml_EndDate_ELEM)
int zx_DEC_ATTR_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x);
int zx_DEC_ELEM_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EndDate_s* zx_DEEP_CLONE_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x);
int zx_WALK_SO_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EndDate(struct zx_ctx* c, struct zx_hrxml_EndDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_EndDate_GET_dateDescription(struct zx_hrxml_EndDate_s* x);

struct zx_elem_s* zx_hrxml_EndDate_GET_AnyDate(struct zx_hrxml_EndDate_s* x, int n);
struct zx_elem_s* zx_hrxml_EndDate_GET_YearMonth(struct zx_hrxml_EndDate_s* x, int n);
struct zx_elem_s* zx_hrxml_EndDate_GET_Year(struct zx_hrxml_EndDate_s* x, int n);
struct zx_elem_s* zx_hrxml_EndDate_GET_MonthDay(struct zx_hrxml_EndDate_s* x, int n);
struct zx_elem_s* zx_hrxml_EndDate_GET_StringDate(struct zx_hrxml_EndDate_s* x, int n);

int zx_hrxml_EndDate_NUM_AnyDate(struct zx_hrxml_EndDate_s* x);
int zx_hrxml_EndDate_NUM_YearMonth(struct zx_hrxml_EndDate_s* x);
int zx_hrxml_EndDate_NUM_Year(struct zx_hrxml_EndDate_s* x);
int zx_hrxml_EndDate_NUM_MonthDay(struct zx_hrxml_EndDate_s* x);
int zx_hrxml_EndDate_NUM_StringDate(struct zx_hrxml_EndDate_s* x);

struct zx_elem_s* zx_hrxml_EndDate_POP_AnyDate(struct zx_hrxml_EndDate_s* x);
struct zx_elem_s* zx_hrxml_EndDate_POP_YearMonth(struct zx_hrxml_EndDate_s* x);
struct zx_elem_s* zx_hrxml_EndDate_POP_Year(struct zx_hrxml_EndDate_s* x);
struct zx_elem_s* zx_hrxml_EndDate_POP_MonthDay(struct zx_hrxml_EndDate_s* x);
struct zx_elem_s* zx_hrxml_EndDate_POP_StringDate(struct zx_hrxml_EndDate_s* x);

void zx_hrxml_EndDate_PUSH_AnyDate(struct zx_hrxml_EndDate_s* x, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUSH_YearMonth(struct zx_hrxml_EndDate_s* x, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUSH_Year(struct zx_hrxml_EndDate_s* x, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUSH_MonthDay(struct zx_hrxml_EndDate_s* x, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUSH_StringDate(struct zx_hrxml_EndDate_s* x, struct zx_elem_s* y);

void zx_hrxml_EndDate_PUT_dateDescription(struct zx_hrxml_EndDate_s* x, struct zx_attr_s* y);

void zx_hrxml_EndDate_PUT_AnyDate(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUT_YearMonth(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUT_Year(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUT_MonthDay(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_EndDate_PUT_StringDate(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_EndDate_ADD_AnyDate(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EndDate_ADD_YearMonth(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EndDate_ADD_Year(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EndDate_ADD_MonthDay(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_EndDate_ADD_StringDate(struct zx_hrxml_EndDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_EndDate_DEL_AnyDate(struct zx_hrxml_EndDate_s* x,int n);
void zx_hrxml_EndDate_DEL_YearMonth(struct zx_hrxml_EndDate_s* x,int n);
void zx_hrxml_EndDate_DEL_Year(struct zx_hrxml_EndDate_s* x,int n);
void zx_hrxml_EndDate_DEL_MonthDay(struct zx_hrxml_EndDate_s* x,int n);
void zx_hrxml_EndDate_DEL_StringDate(struct zx_hrxml_EndDate_s* x,int n);

void zx_hrxml_EndDate_REV_AnyDate(struct zx_hrxml_EndDate_s* x);
void zx_hrxml_EndDate_REV_YearMonth(struct zx_hrxml_EndDate_s* x);
void zx_hrxml_EndDate_REV_Year(struct zx_hrxml_EndDate_s* x);
void zx_hrxml_EndDate_REV_MonthDay(struct zx_hrxml_EndDate_s* x);
void zx_hrxml_EndDate_REV_StringDate(struct zx_hrxml_EndDate_s* x);

#endif
/* -------------------------- hrxml_EndingCompensation -------------------------- */
/* refby( zx_hrxml_Compensation_s ) */
#ifndef zx_hrxml_EndingCompensation_EXT
#define zx_hrxml_EndingCompensation_EXT
#endif
struct zx_hrxml_EndingCompensation_s {
  ZX_ELEM_EXT
  zx_hrxml_EndingCompensation_EXT
  struct zx_attr_s* currency;	/* {1,1} attribute hrxml:CurrencyCodeType */
  struct zx_attr_s* intervalType;	/* {0,1} attribute hrxml:IntervalTypeStringExtensionType */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_EndingCompensation(c, father) (struct zx_hrxml_EndingCompensation_s*)zx_new_elem((c),(father),zx_hrxml_EndingCompensation_ELEM)
int zx_DEC_ATTR_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x);
int zx_DEC_ELEM_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EndingCompensation_s* zx_DEEP_CLONE_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x);
int zx_WALK_SO_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EndingCompensation(struct zx_ctx* c, struct zx_hrxml_EndingCompensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_EndingCompensation_GET_currency(struct zx_hrxml_EndingCompensation_s* x);
struct zx_attr_s* zx_hrxml_EndingCompensation_GET_intervalType(struct zx_hrxml_EndingCompensation_s* x);
struct zx_attr_s* zx_hrxml_EndingCompensation_GET_validFrom(struct zx_hrxml_EndingCompensation_s* x);
struct zx_attr_s* zx_hrxml_EndingCompensation_GET_validTo(struct zx_hrxml_EndingCompensation_s* x);





void zx_hrxml_EndingCompensation_PUT_currency(struct zx_hrxml_EndingCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_EndingCompensation_PUT_intervalType(struct zx_hrxml_EndingCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_EndingCompensation_PUT_validFrom(struct zx_hrxml_EndingCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_EndingCompensation_PUT_validTo(struct zx_hrxml_EndingCompensation_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_EnvironmentId -------------------------- */
/* refby( zx_hrxml_WorkSiteEnvironment_s ) */
#ifndef zx_hrxml_EnvironmentId_EXT
#define zx_hrxml_EnvironmentId_EXT
#endif
struct zx_hrxml_EnvironmentId_s {
  ZX_ELEM_EXT
  zx_hrxml_EnvironmentId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_EnvironmentId(c, father) (struct zx_hrxml_EnvironmentId_s*)zx_new_elem((c),(father),zx_hrxml_EnvironmentId_ELEM)
int zx_DEC_ATTR_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x);
int zx_DEC_ELEM_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EnvironmentId_s* zx_DEEP_CLONE_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x);
int zx_WALK_SO_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EnvironmentId(struct zx_ctx* c, struct zx_hrxml_EnvironmentId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_EnvironmentId_GET_idOwner(struct zx_hrxml_EnvironmentId_s* x);
struct zx_attr_s* zx_hrxml_EnvironmentId_GET_validFrom(struct zx_hrxml_EnvironmentId_s* x);
struct zx_attr_s* zx_hrxml_EnvironmentId_GET_validTo(struct zx_hrxml_EnvironmentId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_EnvironmentId_GET_IdValue(struct zx_hrxml_EnvironmentId_s* x, int n);

int zx_hrxml_EnvironmentId_NUM_IdValue(struct zx_hrxml_EnvironmentId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_EnvironmentId_POP_IdValue(struct zx_hrxml_EnvironmentId_s* x);

void zx_hrxml_EnvironmentId_PUSH_IdValue(struct zx_hrxml_EnvironmentId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_EnvironmentId_PUT_idOwner(struct zx_hrxml_EnvironmentId_s* x, struct zx_attr_s* y);
void zx_hrxml_EnvironmentId_PUT_validFrom(struct zx_hrxml_EnvironmentId_s* x, struct zx_attr_s* y);
void zx_hrxml_EnvironmentId_PUT_validTo(struct zx_hrxml_EnvironmentId_s* x, struct zx_attr_s* y);

void zx_hrxml_EnvironmentId_PUT_IdValue(struct zx_hrxml_EnvironmentId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_EnvironmentId_ADD_IdValue(struct zx_hrxml_EnvironmentId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_EnvironmentId_DEL_IdValue(struct zx_hrxml_EnvironmentId_s* x, int n);

void zx_hrxml_EnvironmentId_REV_IdValue(struct zx_hrxml_EnvironmentId_s* x);

#endif
/* -------------------------- hrxml_EvidenceId -------------------------- */
/* refby( zx_hrxml_CompetencyEvidence_s ) */
#ifndef zx_hrxml_EvidenceId_EXT
#define zx_hrxml_EvidenceId_EXT
#endif
struct zx_hrxml_EvidenceId_s {
  ZX_ELEM_EXT
  zx_hrxml_EvidenceId_EXT
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* id;	/* {1,1} attribute xs:ID */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_EvidenceId(c, father) (struct zx_hrxml_EvidenceId_s*)zx_new_elem((c),(father),zx_hrxml_EvidenceId_ELEM)
int zx_DEC_ATTR_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x);
int zx_DEC_ELEM_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_EvidenceId_s* zx_DEEP_CLONE_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x);
int zx_WALK_SO_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_EvidenceId(struct zx_ctx* c, struct zx_hrxml_EvidenceId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_EvidenceId_GET_description(struct zx_hrxml_EvidenceId_s* x);
struct zx_attr_s* zx_hrxml_EvidenceId_GET_id(struct zx_hrxml_EvidenceId_s* x);
struct zx_attr_s* zx_hrxml_EvidenceId_GET_idOwner(struct zx_hrxml_EvidenceId_s* x);





void zx_hrxml_EvidenceId_PUT_description(struct zx_hrxml_EvidenceId_s* x, struct zx_attr_s* y);
void zx_hrxml_EvidenceId_PUT_id(struct zx_hrxml_EvidenceId_s* x, struct zx_attr_s* y);
void zx_hrxml_EvidenceId_PUT_idOwner(struct zx_hrxml_EvidenceId_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_ExpatriateBenefits -------------------------- */
/* refby( zx_hrxml_Benefits_s ) */
#ifndef zx_hrxml_ExpatriateBenefits_EXT
#define zx_hrxml_ExpatriateBenefits_EXT
#endif
struct zx_hrxml_ExpatriateBenefits_s {
  ZX_ELEM_EXT
  zx_hrxml_ExpatriateBenefits_EXT
  struct zx_elem_s* ExpatriateBenefitsOffered;	/* {0,-1} xsd:boolean */
  struct zx_elem_s* ExpatriateBenefitList;	/* {0,-1} hrxml:BasicExpatriateBenefitTypeTypes */
};

#define zx_NEW_hrxml_ExpatriateBenefits(c, father) (struct zx_hrxml_ExpatriateBenefits_s*)zx_new_elem((c),(father),zx_hrxml_ExpatriateBenefits_ELEM)
int zx_DEC_ATTR_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x);
int zx_DEC_ELEM_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ExpatriateBenefits_s* zx_DEEP_CLONE_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x);
int zx_WALK_SO_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ExpatriateBenefits(struct zx_ctx* c, struct zx_hrxml_ExpatriateBenefits_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_ExpatriateBenefits_GET_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x, int n);
struct zx_elem_s* zx_hrxml_ExpatriateBenefits_GET_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x, int n);

int zx_hrxml_ExpatriateBenefits_NUM_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x);
int zx_hrxml_ExpatriateBenefits_NUM_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x);

struct zx_elem_s* zx_hrxml_ExpatriateBenefits_POP_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x);
struct zx_elem_s* zx_hrxml_ExpatriateBenefits_POP_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x);

void zx_hrxml_ExpatriateBenefits_PUSH_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x, struct zx_elem_s* y);
void zx_hrxml_ExpatriateBenefits_PUSH_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x, struct zx_elem_s* y);


void zx_hrxml_ExpatriateBenefits_PUT_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ExpatriateBenefits_PUT_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_ExpatriateBenefits_ADD_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ExpatriateBenefits_ADD_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_ExpatriateBenefits_DEL_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x,int n);
void zx_hrxml_ExpatriateBenefits_DEL_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x,int n);

void zx_hrxml_ExpatriateBenefits_REV_ExpatriateBenefitsOffered(struct zx_hrxml_ExpatriateBenefits_s* x);
void zx_hrxml_ExpatriateBenefits_REV_ExpatriateBenefitList(struct zx_hrxml_ExpatriateBenefits_s* x);

#endif
/* -------------------------- hrxml_FamilyName -------------------------- */
/* refby( zx_hrxml_ContactName_s zx_hrxml_PersonName_s zx_hrxml_AlternateScript_s ) */
#ifndef zx_hrxml_FamilyName_EXT
#define zx_hrxml_FamilyName_EXT
#endif
struct zx_hrxml_FamilyName_s {
  ZX_ELEM_EXT
  zx_hrxml_FamilyName_EXT
  struct zx_attr_s* prefix;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* primary;	/* {0,1} attribute true */
};

#define zx_NEW_hrxml_FamilyName(c, father) (struct zx_hrxml_FamilyName_s*)zx_new_elem((c),(father),zx_hrxml_FamilyName_ELEM)
int zx_DEC_ATTR_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x);
int zx_DEC_ELEM_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_FamilyName_s* zx_DEEP_CLONE_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x);
int zx_WALK_SO_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_FamilyName(struct zx_ctx* c, struct zx_hrxml_FamilyName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_FamilyName_GET_prefix(struct zx_hrxml_FamilyName_s* x);
struct zx_attr_s* zx_hrxml_FamilyName_GET_primary(struct zx_hrxml_FamilyName_s* x);





void zx_hrxml_FamilyName_PUT_prefix(struct zx_hrxml_FamilyName_s* x, struct zx_attr_s* y);
void zx_hrxml_FamilyName_PUT_primary(struct zx_hrxml_FamilyName_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Fax -------------------------- */
/* refby( zx_hrxml_ContactMethod_s ) */
#ifndef zx_hrxml_Fax_EXT
#define zx_hrxml_Fax_EXT
#endif
struct zx_hrxml_Fax_s {
  ZX_ELEM_EXT
  zx_hrxml_Fax_EXT
  struct zx_elem_s* FormattedNumber;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Fax(c, father) (struct zx_hrxml_Fax_s*)zx_new_elem((c),(father),zx_hrxml_Fax_ELEM)
int zx_DEC_ATTR_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x);
int zx_DEC_ELEM_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Fax_s* zx_DEEP_CLONE_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x);
int zx_WALK_SO_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Fax(struct zx_ctx* c, struct zx_hrxml_Fax_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Fax_GET_FormattedNumber(struct zx_hrxml_Fax_s* x, int n);

int zx_hrxml_Fax_NUM_FormattedNumber(struct zx_hrxml_Fax_s* x);

struct zx_elem_s* zx_hrxml_Fax_POP_FormattedNumber(struct zx_hrxml_Fax_s* x);

void zx_hrxml_Fax_PUSH_FormattedNumber(struct zx_hrxml_Fax_s* x, struct zx_elem_s* y);


void zx_hrxml_Fax_PUT_FormattedNumber(struct zx_hrxml_Fax_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Fax_ADD_FormattedNumber(struct zx_hrxml_Fax_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Fax_DEL_FormattedNumber(struct zx_hrxml_Fax_s* x,int n);

void zx_hrxml_Fax_REV_FormattedNumber(struct zx_hrxml_Fax_s* x);

#endif
/* -------------------------- hrxml_FirstIssuedDate -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_FirstIssuedDate_EXT
#define zx_hrxml_FirstIssuedDate_EXT
#endif
struct zx_hrxml_FirstIssuedDate_s {
  ZX_ELEM_EXT
  zx_hrxml_FirstIssuedDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_FirstIssuedDate(c, father) (struct zx_hrxml_FirstIssuedDate_s*)zx_new_elem((c),(father),zx_hrxml_FirstIssuedDate_ELEM)
int zx_DEC_ATTR_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x);
int zx_DEC_ELEM_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_FirstIssuedDate_s* zx_DEEP_CLONE_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x);
int zx_WALK_SO_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_FirstIssuedDate(struct zx_ctx* c, struct zx_hrxml_FirstIssuedDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_FirstIssuedDate_GET_dateDescription(struct zx_hrxml_FirstIssuedDate_s* x);

struct zx_elem_s* zx_hrxml_FirstIssuedDate_GET_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x, int n);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_GET_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x, int n);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_GET_Year(struct zx_hrxml_FirstIssuedDate_s* x, int n);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_GET_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x, int n);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_GET_StringDate(struct zx_hrxml_FirstIssuedDate_s* x, int n);

int zx_hrxml_FirstIssuedDate_NUM_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x);
int zx_hrxml_FirstIssuedDate_NUM_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x);
int zx_hrxml_FirstIssuedDate_NUM_Year(struct zx_hrxml_FirstIssuedDate_s* x);
int zx_hrxml_FirstIssuedDate_NUM_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x);
int zx_hrxml_FirstIssuedDate_NUM_StringDate(struct zx_hrxml_FirstIssuedDate_s* x);

struct zx_elem_s* zx_hrxml_FirstIssuedDate_POP_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_POP_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_POP_Year(struct zx_hrxml_FirstIssuedDate_s* x);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_POP_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x);
struct zx_elem_s* zx_hrxml_FirstIssuedDate_POP_StringDate(struct zx_hrxml_FirstIssuedDate_s* x);

void zx_hrxml_FirstIssuedDate_PUSH_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUSH_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUSH_Year(struct zx_hrxml_FirstIssuedDate_s* x, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUSH_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUSH_StringDate(struct zx_hrxml_FirstIssuedDate_s* x, struct zx_elem_s* y);

void zx_hrxml_FirstIssuedDate_PUT_dateDescription(struct zx_hrxml_FirstIssuedDate_s* x, struct zx_attr_s* y);

void zx_hrxml_FirstIssuedDate_PUT_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUT_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUT_Year(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUT_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_FirstIssuedDate_PUT_StringDate(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_FirstIssuedDate_ADD_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_FirstIssuedDate_ADD_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_FirstIssuedDate_ADD_Year(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_FirstIssuedDate_ADD_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_FirstIssuedDate_ADD_StringDate(struct zx_hrxml_FirstIssuedDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_FirstIssuedDate_DEL_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x,int n);
void zx_hrxml_FirstIssuedDate_DEL_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x,int n);
void zx_hrxml_FirstIssuedDate_DEL_Year(struct zx_hrxml_FirstIssuedDate_s* x,int n);
void zx_hrxml_FirstIssuedDate_DEL_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x,int n);
void zx_hrxml_FirstIssuedDate_DEL_StringDate(struct zx_hrxml_FirstIssuedDate_s* x,int n);

void zx_hrxml_FirstIssuedDate_REV_AnyDate(struct zx_hrxml_FirstIssuedDate_s* x);
void zx_hrxml_FirstIssuedDate_REV_YearMonth(struct zx_hrxml_FirstIssuedDate_s* x);
void zx_hrxml_FirstIssuedDate_REV_Year(struct zx_hrxml_FirstIssuedDate_s* x);
void zx_hrxml_FirstIssuedDate_REV_MonthDay(struct zx_hrxml_FirstIssuedDate_s* x);
void zx_hrxml_FirstIssuedDate_REV_StringDate(struct zx_hrxml_FirstIssuedDate_s* x);

#endif
/* -------------------------- hrxml_FormattedPublicationDescription -------------------------- */
/* refby( zx_hrxml_PublicationHistory_s ) */
#ifndef zx_hrxml_FormattedPublicationDescription_EXT
#define zx_hrxml_FormattedPublicationDescription_EXT
#endif
struct zx_hrxml_FormattedPublicationDescription_s {
  ZX_ELEM_EXT
  zx_hrxml_FormattedPublicationDescription_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_FormattedPublicationDescription(c, father) (struct zx_hrxml_FormattedPublicationDescription_s*)zx_new_elem((c),(father),zx_hrxml_FormattedPublicationDescription_ELEM)
int zx_DEC_ATTR_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x);
int zx_DEC_ELEM_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_FormattedPublicationDescription_s* zx_DEEP_CLONE_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x);
int zx_WALK_SO_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_FormattedPublicationDescription(struct zx_ctx* c, struct zx_hrxml_FormattedPublicationDescription_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_FormattedPublicationDescription_GET_type(struct zx_hrxml_FormattedPublicationDescription_s* x);





void zx_hrxml_FormattedPublicationDescription_PUT_type(struct zx_hrxml_FormattedPublicationDescription_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Height -------------------------- */
/* refby( zx_hrxml_BiologicalDescriptors_s ) */
#ifndef zx_hrxml_Height_EXT
#define zx_hrxml_Height_EXT
#endif
struct zx_hrxml_Height_s {
  ZX_ELEM_EXT
  zx_hrxml_Height_EXT
  struct zx_attr_s* unitOfMeasure;	/* {0,1} attribute xsd:integer */
};

#define zx_NEW_hrxml_Height(c, father) (struct zx_hrxml_Height_s*)zx_new_elem((c),(father),zx_hrxml_Height_ELEM)
int zx_DEC_ATTR_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x);
int zx_DEC_ELEM_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Height_s* zx_DEEP_CLONE_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x);
int zx_WALK_SO_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Height(struct zx_ctx* c, struct zx_hrxml_Height_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Height_GET_unitOfMeasure(struct zx_hrxml_Height_s* x);





void zx_hrxml_Height_PUT_unitOfMeasure(struct zx_hrxml_Height_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_HighestPossibleValue -------------------------- */
/* refby( zx_hrxml_EducationalMeasure_s ) */
#ifndef zx_hrxml_HighestPossibleValue_EXT
#define zx_hrxml_HighestPossibleValue_EXT
#endif
struct zx_hrxml_HighestPossibleValue_s {
  ZX_ELEM_EXT
  zx_hrxml_HighestPossibleValue_EXT
  struct zx_hrxml_NumericValue_s* NumericValue;	/* {0,1} nada */
  struct zx_hrxml_StringValue_s* StringValue;	/* {0,1} nada */
};

#define zx_NEW_hrxml_HighestPossibleValue(c, father) (struct zx_hrxml_HighestPossibleValue_s*)zx_new_elem((c),(father),zx_hrxml_HighestPossibleValue_ELEM)
int zx_DEC_ATTR_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x);
int zx_DEC_ELEM_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_HighestPossibleValue_s* zx_DEEP_CLONE_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x);
int zx_WALK_SO_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_HighestPossibleValue(struct zx_ctx* c, struct zx_hrxml_HighestPossibleValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_NumericValue_s* zx_hrxml_HighestPossibleValue_GET_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x, int n);
struct zx_hrxml_StringValue_s* zx_hrxml_HighestPossibleValue_GET_StringValue(struct zx_hrxml_HighestPossibleValue_s* x, int n);

int zx_hrxml_HighestPossibleValue_NUM_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x);
int zx_hrxml_HighestPossibleValue_NUM_StringValue(struct zx_hrxml_HighestPossibleValue_s* x);

struct zx_hrxml_NumericValue_s* zx_hrxml_HighestPossibleValue_POP_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x);
struct zx_hrxml_StringValue_s* zx_hrxml_HighestPossibleValue_POP_StringValue(struct zx_hrxml_HighestPossibleValue_s* x);

void zx_hrxml_HighestPossibleValue_PUSH_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_HighestPossibleValue_PUSH_StringValue(struct zx_hrxml_HighestPossibleValue_s* x, struct zx_hrxml_StringValue_s* y);


void zx_hrxml_HighestPossibleValue_PUT_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x, int n, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_HighestPossibleValue_PUT_StringValue(struct zx_hrxml_HighestPossibleValue_s* x, int n, struct zx_hrxml_StringValue_s* y);

void zx_hrxml_HighestPossibleValue_ADD_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x, int n, struct zx_hrxml_NumericValue_s* z);
void zx_hrxml_HighestPossibleValue_ADD_StringValue(struct zx_hrxml_HighestPossibleValue_s* x, int n, struct zx_hrxml_StringValue_s* z);

void zx_hrxml_HighestPossibleValue_DEL_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x, int n);
void zx_hrxml_HighestPossibleValue_DEL_StringValue(struct zx_hrxml_HighestPossibleValue_s* x, int n);

void zx_hrxml_HighestPossibleValue_REV_NumericValue(struct zx_hrxml_HighestPossibleValue_s* x);
void zx_hrxml_HighestPossibleValue_REV_StringValue(struct zx_hrxml_HighestPossibleValue_s* x);

#endif
/* -------------------------- hrxml_HorizontalAccuracy -------------------------- */
/* refby( zx_hrxml_SpatialLocation_s ) */
#ifndef zx_hrxml_HorizontalAccuracy_EXT
#define zx_hrxml_HorizontalAccuracy_EXT
#endif
struct zx_hrxml_HorizontalAccuracy_s {
  ZX_ELEM_EXT
  zx_hrxml_HorizontalAccuracy_EXT
};

#define zx_NEW_hrxml_HorizontalAccuracy(c, father) (struct zx_hrxml_HorizontalAccuracy_s*)zx_new_elem((c),(father),zx_hrxml_HorizontalAccuracy_ELEM)
int zx_DEC_ATTR_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x);
int zx_DEC_ELEM_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_HorizontalAccuracy_s* zx_DEEP_CLONE_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x);
int zx_WALK_SO_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_HorizontalAccuracy(struct zx_ctx* c, struct zx_hrxml_HorizontalAccuracy_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_Id -------------------------- */
/* refby( zx_hrxml_PatentMilestone_s zx_hrxml_Stock_s zx_hrxml_LicenseOrCertification_s zx_hrxml_Association_s zx_hrxml_Company_s zx_hrxml_Shift_s zx_hrxml_SecurityCredential_s zx_hrxml_SEPPhysicalLocation_s zx_hrxml_CandidateRecordInfo_s zx_hrxml_LocalInstitutionClassification_s zx_hrxml_DegreeClassification_s zx_hrxml_PhysicalLocation_s zx_hrxml_PositionPosting_s ) */
#ifndef zx_hrxml_Id_EXT
#define zx_hrxml_Id_EXT
#endif
struct zx_hrxml_Id_s {
  ZX_ELEM_EXT
  zx_hrxml_Id_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_Id(c, father) (struct zx_hrxml_Id_s*)zx_new_elem((c),(father),zx_hrxml_Id_ELEM)
int zx_DEC_ATTR_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x);
int zx_DEC_ELEM_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Id_s* zx_DEEP_CLONE_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x);
int zx_WALK_SO_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Id(struct zx_ctx* c, struct zx_hrxml_Id_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Id_GET_idOwner(struct zx_hrxml_Id_s* x);
struct zx_attr_s* zx_hrxml_Id_GET_validFrom(struct zx_hrxml_Id_s* x);
struct zx_attr_s* zx_hrxml_Id_GET_validTo(struct zx_hrxml_Id_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_Id_GET_IdValue(struct zx_hrxml_Id_s* x, int n);

int zx_hrxml_Id_NUM_IdValue(struct zx_hrxml_Id_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_Id_POP_IdValue(struct zx_hrxml_Id_s* x);

void zx_hrxml_Id_PUSH_IdValue(struct zx_hrxml_Id_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_Id_PUT_idOwner(struct zx_hrxml_Id_s* x, struct zx_attr_s* y);
void zx_hrxml_Id_PUT_validFrom(struct zx_hrxml_Id_s* x, struct zx_attr_s* y);
void zx_hrxml_Id_PUT_validTo(struct zx_hrxml_Id_s* x, struct zx_attr_s* y);

void zx_hrxml_Id_PUT_IdValue(struct zx_hrxml_Id_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_Id_ADD_IdValue(struct zx_hrxml_Id_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_Id_DEL_IdValue(struct zx_hrxml_Id_s* x, int n);

void zx_hrxml_Id_REV_IdValue(struct zx_hrxml_Id_s* x);

#endif
/* -------------------------- hrxml_IdValue -------------------------- */
/* refby( zx_hrxml_RoleId_s zx_hrxml_Id_s zx_hrxml_PersonLegalId_s zx_hrxml_BKZId_s zx_hrxml_OrganizationId_s zx_hrxml_CompetencyId_s zx_hrxml_ServiceNumber_s zx_hrxml_UserId_s zx_hrxml_SupplierId_s zx_hrxml_SchoolId_s zx_hrxml_MatchedObjectId_s zx_hrxml_OrganizationalUnitId_s zx_hrxml_LegalId_s zx_hrxml_WorkSiteId_s zx_hrxml_SearchCriteriaId_s zx_hrxml_ContactId_s zx_hrxml_EnvironmentId_s zx_hrxml_TaxId_s zx_hrxml_ProgramId_s zx_hrxml_SearchResultId_s zx_hrxml_ProfileId_s zx_hrxml_PersonId_s zx_hrxml_AffirmativeActionPlanJobGroupId_s ) */
#ifndef zx_hrxml_IdValue_EXT
#define zx_hrxml_IdValue_EXT
#endif
struct zx_hrxml_IdValue_s {
  ZX_ELEM_EXT
  zx_hrxml_IdValue_EXT
  struct zx_attr_s* name;	/* {0,1} attribute xs:ID */
};

#define zx_NEW_hrxml_IdValue(c, father) (struct zx_hrxml_IdValue_s*)zx_new_elem((c),(father),zx_hrxml_IdValue_ELEM)
int zx_DEC_ATTR_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x);
int zx_DEC_ELEM_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_IdValue_s* zx_DEEP_CLONE_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x);
int zx_WALK_SO_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_IdValue(struct zx_ctx* c, struct zx_hrxml_IdValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_IdValue_GET_name(struct zx_hrxml_IdValue_s* x);





void zx_hrxml_IdValue_PUT_name(struct zx_hrxml_IdValue_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_IndustryCode -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_RelatedOrganization_s zx_hrxml_OrgIndustry_s zx_hrxml_OrganizationalUnit_s zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_IndustryCode_EXT
#define zx_hrxml_IndustryCode_EXT
#endif
struct zx_hrxml_IndustryCode_s {
  ZX_ELEM_EXT
  zx_hrxml_IndustryCode_EXT
  struct zx_attr_s* classificationName;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* primaryIndicator;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_IndustryCode(c, father) (struct zx_hrxml_IndustryCode_s*)zx_new_elem((c),(father),zx_hrxml_IndustryCode_ELEM)
int zx_DEC_ATTR_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x);
int zx_DEC_ELEM_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_IndustryCode_s* zx_DEEP_CLONE_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x);
int zx_WALK_SO_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_IndustryCode(struct zx_ctx* c, struct zx_hrxml_IndustryCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_IndustryCode_GET_classificationName(struct zx_hrxml_IndustryCode_s* x);
struct zx_attr_s* zx_hrxml_IndustryCode_GET_primaryIndicator(struct zx_hrxml_IndustryCode_s* x);





void zx_hrxml_IndustryCode_PUT_classificationName(struct zx_hrxml_IndustryCode_s* x, struct zx_attr_s* y);
void zx_hrxml_IndustryCode_PUT_primaryIndicator(struct zx_hrxml_IndustryCode_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Insurance -------------------------- */
/* refby( zx_hrxml_Benefits_s ) */
#ifndef zx_hrxml_Insurance_EXT
#define zx_hrxml_Insurance_EXT
#endif
struct zx_hrxml_Insurance_s {
  ZX_ELEM_EXT
  zx_hrxml_Insurance_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_Insurance(c, father) (struct zx_hrxml_Insurance_s*)zx_new_elem((c),(father),zx_hrxml_Insurance_ELEM)
int zx_DEC_ATTR_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x);
int zx_DEC_ELEM_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Insurance_s* zx_DEEP_CLONE_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x);
int zx_WALK_SO_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Insurance(struct zx_ctx* c, struct zx_hrxml_Insurance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Insurance_GET_type(struct zx_hrxml_Insurance_s* x);





void zx_hrxml_Insurance_PUT_type(struct zx_hrxml_Insurance_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_InternetDomainName -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s zx_hrxml_School_s zx_hrxml_EmployerContactInfo_s ) */
#ifndef zx_hrxml_InternetDomainName_EXT
#define zx_hrxml_InternetDomainName_EXT
#endif
struct zx_hrxml_InternetDomainName_s {
  ZX_ELEM_EXT
  zx_hrxml_InternetDomainName_EXT
  struct zx_attr_s* primaryIndicator;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_InternetDomainName(c, father) (struct zx_hrxml_InternetDomainName_s*)zx_new_elem((c),(father),zx_hrxml_InternetDomainName_ELEM)
int zx_DEC_ATTR_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x);
int zx_DEC_ELEM_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_InternetDomainName_s* zx_DEEP_CLONE_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x);
int zx_WALK_SO_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_InternetDomainName(struct zx_ctx* c, struct zx_hrxml_InternetDomainName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_InternetDomainName_GET_primaryIndicator(struct zx_hrxml_InternetDomainName_s* x);





void zx_hrxml_InternetDomainName_PUT_primaryIndicator(struct zx_hrxml_InternetDomainName_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Inventors -------------------------- */
/* refby( zx_hrxml_Patent_s ) */
#ifndef zx_hrxml_Inventors_EXT
#define zx_hrxml_Inventors_EXT
#endif
struct zx_hrxml_Inventors_s {
  ZX_ELEM_EXT
  zx_hrxml_Inventors_EXT
  struct zx_elem_s* InventorName;	/* {1,-1} xsd:string */
};

#define zx_NEW_hrxml_Inventors(c, father) (struct zx_hrxml_Inventors_s*)zx_new_elem((c),(father),zx_hrxml_Inventors_ELEM)
int zx_DEC_ATTR_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x);
int zx_DEC_ELEM_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Inventors_s* zx_DEEP_CLONE_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x);
int zx_WALK_SO_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Inventors(struct zx_ctx* c, struct zx_hrxml_Inventors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Inventors_GET_InventorName(struct zx_hrxml_Inventors_s* x, int n);

int zx_hrxml_Inventors_NUM_InventorName(struct zx_hrxml_Inventors_s* x);

struct zx_elem_s* zx_hrxml_Inventors_POP_InventorName(struct zx_hrxml_Inventors_s* x);

void zx_hrxml_Inventors_PUSH_InventorName(struct zx_hrxml_Inventors_s* x, struct zx_elem_s* y);


void zx_hrxml_Inventors_PUT_InventorName(struct zx_hrxml_Inventors_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Inventors_ADD_InventorName(struct zx_hrxml_Inventors_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Inventors_DEL_InventorName(struct zx_hrxml_Inventors_s* x,int n);

void zx_hrxml_Inventors_REV_InventorName(struct zx_hrxml_Inventors_s* x);

#endif
/* -------------------------- hrxml_IssuingAuthority -------------------------- */
/* refby( zx_hrxml_LicenseOrCertification_s zx_hrxml_SecurityCredential_s zx_hrxml_PatentDetail_s zx_hrxml_Achievement_s ) */
#ifndef zx_hrxml_IssuingAuthority_EXT
#define zx_hrxml_IssuingAuthority_EXT
#endif
struct zx_hrxml_IssuingAuthority_s {
  ZX_ELEM_EXT
  zx_hrxml_IssuingAuthority_EXT
  struct zx_attr_s* countryCode;	/* {0,1} attribute hrxml:CountryCodeType */
};

#define zx_NEW_hrxml_IssuingAuthority(c, father) (struct zx_hrxml_IssuingAuthority_s*)zx_new_elem((c),(father),zx_hrxml_IssuingAuthority_ELEM)
int zx_DEC_ATTR_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x);
int zx_DEC_ELEM_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_IssuingAuthority_s* zx_DEEP_CLONE_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x);
int zx_WALK_SO_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_IssuingAuthority(struct zx_ctx* c, struct zx_hrxml_IssuingAuthority_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_IssuingAuthority_GET_countryCode(struct zx_hrxml_IssuingAuthority_s* x);





void zx_hrxml_IssuingAuthority_PUT_countryCode(struct zx_hrxml_IssuingAuthority_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_JobCategory -------------------------- */
/* refby( zx_hrxml_JobCategory_s zx_hrxml_PositionHistory_s zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_JobCategory_EXT
#define zx_hrxml_JobCategory_EXT
#endif
struct zx_hrxml_JobCategory_s {
  ZX_ELEM_EXT
  zx_hrxml_JobCategory_EXT
  struct zx_hrxml_TaxonomyName_s* TaxonomyName;	/* {0,1}  */
  struct zx_elem_s* CategoryCode;	/* {0,1} xsd:string */
  struct zx_elem_s* CategoryDescription;	/* {0,1} xsd:string */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_hrxml_JobCategory_s* JobCategory;	/* {0,1}  */
};

#define zx_NEW_hrxml_JobCategory(c, father) (struct zx_hrxml_JobCategory_s*)zx_new_elem((c),(father),zx_hrxml_JobCategory_ELEM)
int zx_DEC_ATTR_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x);
int zx_DEC_ELEM_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_JobCategory_s* zx_DEEP_CLONE_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x);
int zx_WALK_SO_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_JobCategory(struct zx_ctx* c, struct zx_hrxml_JobCategory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_TaxonomyName_s* zx_hrxml_JobCategory_GET_TaxonomyName(struct zx_hrxml_JobCategory_s* x, int n);
struct zx_elem_s* zx_hrxml_JobCategory_GET_CategoryCode(struct zx_hrxml_JobCategory_s* x, int n);
struct zx_elem_s* zx_hrxml_JobCategory_GET_CategoryDescription(struct zx_hrxml_JobCategory_s* x, int n);
struct zx_elem_s* zx_hrxml_JobCategory_GET_Comments(struct zx_hrxml_JobCategory_s* x, int n);
struct zx_hrxml_JobCategory_s* zx_hrxml_JobCategory_GET_JobCategory(struct zx_hrxml_JobCategory_s* x, int n);

int zx_hrxml_JobCategory_NUM_TaxonomyName(struct zx_hrxml_JobCategory_s* x);
int zx_hrxml_JobCategory_NUM_CategoryCode(struct zx_hrxml_JobCategory_s* x);
int zx_hrxml_JobCategory_NUM_CategoryDescription(struct zx_hrxml_JobCategory_s* x);
int zx_hrxml_JobCategory_NUM_Comments(struct zx_hrxml_JobCategory_s* x);
int zx_hrxml_JobCategory_NUM_JobCategory(struct zx_hrxml_JobCategory_s* x);

struct zx_hrxml_TaxonomyName_s* zx_hrxml_JobCategory_POP_TaxonomyName(struct zx_hrxml_JobCategory_s* x);
struct zx_elem_s* zx_hrxml_JobCategory_POP_CategoryCode(struct zx_hrxml_JobCategory_s* x);
struct zx_elem_s* zx_hrxml_JobCategory_POP_CategoryDescription(struct zx_hrxml_JobCategory_s* x);
struct zx_elem_s* zx_hrxml_JobCategory_POP_Comments(struct zx_hrxml_JobCategory_s* x);
struct zx_hrxml_JobCategory_s* zx_hrxml_JobCategory_POP_JobCategory(struct zx_hrxml_JobCategory_s* x);

void zx_hrxml_JobCategory_PUSH_TaxonomyName(struct zx_hrxml_JobCategory_s* x, struct zx_hrxml_TaxonomyName_s* y);
void zx_hrxml_JobCategory_PUSH_CategoryCode(struct zx_hrxml_JobCategory_s* x, struct zx_elem_s* y);
void zx_hrxml_JobCategory_PUSH_CategoryDescription(struct zx_hrxml_JobCategory_s* x, struct zx_elem_s* y);
void zx_hrxml_JobCategory_PUSH_Comments(struct zx_hrxml_JobCategory_s* x, struct zx_elem_s* y);
void zx_hrxml_JobCategory_PUSH_JobCategory(struct zx_hrxml_JobCategory_s* x, struct zx_hrxml_JobCategory_s* y);


void zx_hrxml_JobCategory_PUT_TaxonomyName(struct zx_hrxml_JobCategory_s* x, int n, struct zx_hrxml_TaxonomyName_s* y);
void zx_hrxml_JobCategory_PUT_CategoryCode(struct zx_hrxml_JobCategory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_JobCategory_PUT_CategoryDescription(struct zx_hrxml_JobCategory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_JobCategory_PUT_Comments(struct zx_hrxml_JobCategory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_JobCategory_PUT_JobCategory(struct zx_hrxml_JobCategory_s* x, int n, struct zx_hrxml_JobCategory_s* y);

void zx_hrxml_JobCategory_ADD_TaxonomyName(struct zx_hrxml_JobCategory_s* x, int n, struct zx_hrxml_TaxonomyName_s* z);
void zx_hrxml_JobCategory_ADD_CategoryCode(struct zx_hrxml_JobCategory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_JobCategory_ADD_CategoryDescription(struct zx_hrxml_JobCategory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_JobCategory_ADD_Comments(struct zx_hrxml_JobCategory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_JobCategory_ADD_JobCategory(struct zx_hrxml_JobCategory_s* x, int n, struct zx_hrxml_JobCategory_s* z);

void zx_hrxml_JobCategory_DEL_TaxonomyName(struct zx_hrxml_JobCategory_s* x, int n);
void zx_hrxml_JobCategory_DEL_CategoryCode(struct zx_hrxml_JobCategory_s* x,int n);
void zx_hrxml_JobCategory_DEL_CategoryDescription(struct zx_hrxml_JobCategory_s* x,int n);
void zx_hrxml_JobCategory_DEL_Comments(struct zx_hrxml_JobCategory_s* x,int n);
void zx_hrxml_JobCategory_DEL_JobCategory(struct zx_hrxml_JobCategory_s* x, int n);

void zx_hrxml_JobCategory_REV_TaxonomyName(struct zx_hrxml_JobCategory_s* x);
void zx_hrxml_JobCategory_REV_CategoryCode(struct zx_hrxml_JobCategory_s* x);
void zx_hrxml_JobCategory_REV_CategoryDescription(struct zx_hrxml_JobCategory_s* x);
void zx_hrxml_JobCategory_REV_Comments(struct zx_hrxml_JobCategory_s* x);
void zx_hrxml_JobCategory_REV_JobCategory(struct zx_hrxml_JobCategory_s* x);

#endif
/* -------------------------- hrxml_JobLevelInfo -------------------------- */
/* refby( zx_hrxml_PositionHistory_s ) */
#ifndef zx_hrxml_JobLevelInfo_EXT
#define zx_hrxml_JobLevelInfo_EXT
#endif
struct zx_hrxml_JobLevelInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_JobLevelInfo_EXT
  struct zx_elem_s* JobPlan;	/* {0,1} xsd:string */
  struct zx_elem_s* JobGrade;	/* {0,1} xsd:string */
  struct zx_elem_s* JobStep;	/* {0,1} xsd:string */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_JobLevelInfo(c, father) (struct zx_hrxml_JobLevelInfo_s*)zx_new_elem((c),(father),zx_hrxml_JobLevelInfo_ELEM)
int zx_DEC_ATTR_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x);
int zx_DEC_ELEM_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_JobLevelInfo_s* zx_DEEP_CLONE_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x);
int zx_WALK_SO_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_JobLevelInfo(struct zx_ctx* c, struct zx_hrxml_JobLevelInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_JobLevelInfo_GET_JobPlan(struct zx_hrxml_JobLevelInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_JobLevelInfo_GET_JobGrade(struct zx_hrxml_JobLevelInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_JobLevelInfo_GET_JobStep(struct zx_hrxml_JobLevelInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_JobLevelInfo_GET_Comments(struct zx_hrxml_JobLevelInfo_s* x, int n);

int zx_hrxml_JobLevelInfo_NUM_JobPlan(struct zx_hrxml_JobLevelInfo_s* x);
int zx_hrxml_JobLevelInfo_NUM_JobGrade(struct zx_hrxml_JobLevelInfo_s* x);
int zx_hrxml_JobLevelInfo_NUM_JobStep(struct zx_hrxml_JobLevelInfo_s* x);
int zx_hrxml_JobLevelInfo_NUM_Comments(struct zx_hrxml_JobLevelInfo_s* x);

struct zx_elem_s* zx_hrxml_JobLevelInfo_POP_JobPlan(struct zx_hrxml_JobLevelInfo_s* x);
struct zx_elem_s* zx_hrxml_JobLevelInfo_POP_JobGrade(struct zx_hrxml_JobLevelInfo_s* x);
struct zx_elem_s* zx_hrxml_JobLevelInfo_POP_JobStep(struct zx_hrxml_JobLevelInfo_s* x);
struct zx_elem_s* zx_hrxml_JobLevelInfo_POP_Comments(struct zx_hrxml_JobLevelInfo_s* x);

void zx_hrxml_JobLevelInfo_PUSH_JobPlan(struct zx_hrxml_JobLevelInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_JobLevelInfo_PUSH_JobGrade(struct zx_hrxml_JobLevelInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_JobLevelInfo_PUSH_JobStep(struct zx_hrxml_JobLevelInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_JobLevelInfo_PUSH_Comments(struct zx_hrxml_JobLevelInfo_s* x, struct zx_elem_s* y);


void zx_hrxml_JobLevelInfo_PUT_JobPlan(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_JobLevelInfo_PUT_JobGrade(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_JobLevelInfo_PUT_JobStep(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_JobLevelInfo_PUT_Comments(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_JobLevelInfo_ADD_JobPlan(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_JobLevelInfo_ADD_JobGrade(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_JobLevelInfo_ADD_JobStep(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_JobLevelInfo_ADD_Comments(struct zx_hrxml_JobLevelInfo_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_JobLevelInfo_DEL_JobPlan(struct zx_hrxml_JobLevelInfo_s* x,int n);
void zx_hrxml_JobLevelInfo_DEL_JobGrade(struct zx_hrxml_JobLevelInfo_s* x,int n);
void zx_hrxml_JobLevelInfo_DEL_JobStep(struct zx_hrxml_JobLevelInfo_s* x,int n);
void zx_hrxml_JobLevelInfo_DEL_Comments(struct zx_hrxml_JobLevelInfo_s* x,int n);

void zx_hrxml_JobLevelInfo_REV_JobPlan(struct zx_hrxml_JobLevelInfo_s* x);
void zx_hrxml_JobLevelInfo_REV_JobGrade(struct zx_hrxml_JobLevelInfo_s* x);
void zx_hrxml_JobLevelInfo_REV_JobStep(struct zx_hrxml_JobLevelInfo_s* x);
void zx_hrxml_JobLevelInfo_REV_Comments(struct zx_hrxml_JobLevelInfo_s* x);

#endif
/* -------------------------- hrxml_Language -------------------------- */
/* refby( zx_hrxml_Languages_s ) */
#ifndef zx_hrxml_Language_EXT
#define zx_hrxml_Language_EXT
#endif
struct zx_hrxml_Language_s {
  ZX_ELEM_EXT
  zx_hrxml_Language_EXT
  struct zx_hrxml_LanguageCode_s* LanguageCode;	/* {0,1} nada */
  struct zx_elem_s* Read;	/* {0,1} xsd:boolean */
  struct zx_elem_s* Write;	/* {0,1} xsd:boolean */
  struct zx_elem_s* Speak;	/* {0,1} xsd:boolean */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Language(c, father) (struct zx_hrxml_Language_s*)zx_new_elem((c),(father),zx_hrxml_Language_ELEM)
int zx_DEC_ATTR_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x);
int zx_DEC_ELEM_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Language_s* zx_DEEP_CLONE_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x);
int zx_WALK_SO_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Language(struct zx_ctx* c, struct zx_hrxml_Language_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_LanguageCode_s* zx_hrxml_Language_GET_LanguageCode(struct zx_hrxml_Language_s* x, int n);
struct zx_elem_s* zx_hrxml_Language_GET_Read(struct zx_hrxml_Language_s* x, int n);
struct zx_elem_s* zx_hrxml_Language_GET_Write(struct zx_hrxml_Language_s* x, int n);
struct zx_elem_s* zx_hrxml_Language_GET_Speak(struct zx_hrxml_Language_s* x, int n);
struct zx_elem_s* zx_hrxml_Language_GET_Comments(struct zx_hrxml_Language_s* x, int n);

int zx_hrxml_Language_NUM_LanguageCode(struct zx_hrxml_Language_s* x);
int zx_hrxml_Language_NUM_Read(struct zx_hrxml_Language_s* x);
int zx_hrxml_Language_NUM_Write(struct zx_hrxml_Language_s* x);
int zx_hrxml_Language_NUM_Speak(struct zx_hrxml_Language_s* x);
int zx_hrxml_Language_NUM_Comments(struct zx_hrxml_Language_s* x);

struct zx_hrxml_LanguageCode_s* zx_hrxml_Language_POP_LanguageCode(struct zx_hrxml_Language_s* x);
struct zx_elem_s* zx_hrxml_Language_POP_Read(struct zx_hrxml_Language_s* x);
struct zx_elem_s* zx_hrxml_Language_POP_Write(struct zx_hrxml_Language_s* x);
struct zx_elem_s* zx_hrxml_Language_POP_Speak(struct zx_hrxml_Language_s* x);
struct zx_elem_s* zx_hrxml_Language_POP_Comments(struct zx_hrxml_Language_s* x);

void zx_hrxml_Language_PUSH_LanguageCode(struct zx_hrxml_Language_s* x, struct zx_hrxml_LanguageCode_s* y);
void zx_hrxml_Language_PUSH_Read(struct zx_hrxml_Language_s* x, struct zx_elem_s* y);
void zx_hrxml_Language_PUSH_Write(struct zx_hrxml_Language_s* x, struct zx_elem_s* y);
void zx_hrxml_Language_PUSH_Speak(struct zx_hrxml_Language_s* x, struct zx_elem_s* y);
void zx_hrxml_Language_PUSH_Comments(struct zx_hrxml_Language_s* x, struct zx_elem_s* y);


void zx_hrxml_Language_PUT_LanguageCode(struct zx_hrxml_Language_s* x, int n, struct zx_hrxml_LanguageCode_s* y);
void zx_hrxml_Language_PUT_Read(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Language_PUT_Write(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Language_PUT_Speak(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Language_PUT_Comments(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Language_ADD_LanguageCode(struct zx_hrxml_Language_s* x, int n, struct zx_hrxml_LanguageCode_s* z);
void zx_hrxml_Language_ADD_Read(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Language_ADD_Write(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Language_ADD_Speak(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Language_ADD_Comments(struct zx_hrxml_Language_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Language_DEL_LanguageCode(struct zx_hrxml_Language_s* x, int n);
void zx_hrxml_Language_DEL_Read(struct zx_hrxml_Language_s* x,int n);
void zx_hrxml_Language_DEL_Write(struct zx_hrxml_Language_s* x,int n);
void zx_hrxml_Language_DEL_Speak(struct zx_hrxml_Language_s* x,int n);
void zx_hrxml_Language_DEL_Comments(struct zx_hrxml_Language_s* x,int n);

void zx_hrxml_Language_REV_LanguageCode(struct zx_hrxml_Language_s* x);
void zx_hrxml_Language_REV_Read(struct zx_hrxml_Language_s* x);
void zx_hrxml_Language_REV_Write(struct zx_hrxml_Language_s* x);
void zx_hrxml_Language_REV_Speak(struct zx_hrxml_Language_s* x);
void zx_hrxml_Language_REV_Comments(struct zx_hrxml_Language_s* x);

#endif
/* -------------------------- hrxml_LanguageCode -------------------------- */
/* refby( zx_hrxml_Language_s ) */
#ifndef zx_hrxml_LanguageCode_EXT
#define zx_hrxml_LanguageCode_EXT
#endif
struct zx_hrxml_LanguageCode_s {
  ZX_ELEM_EXT
  zx_hrxml_LanguageCode_EXT
};

#define zx_NEW_hrxml_LanguageCode(c, father) (struct zx_hrxml_LanguageCode_s*)zx_new_elem((c),(father),zx_hrxml_LanguageCode_ELEM)
int zx_DEC_ATTR_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x);
int zx_DEC_ELEM_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LanguageCode_s* zx_DEEP_CLONE_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x);
int zx_WALK_SO_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LanguageCode(struct zx_ctx* c, struct zx_hrxml_LanguageCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_Languages -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_Languages_EXT
#define zx_hrxml_Languages_EXT
#endif
struct zx_hrxml_Languages_s {
  ZX_ELEM_EXT
  zx_hrxml_Languages_EXT
  struct zx_hrxml_Language_s* Language;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_Languages(c, father) (struct zx_hrxml_Languages_s*)zx_new_elem((c),(father),zx_hrxml_Languages_ELEM)
int zx_DEC_ATTR_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x);
int zx_DEC_ELEM_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Languages_s* zx_DEEP_CLONE_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x);
int zx_WALK_SO_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Languages(struct zx_ctx* c, struct zx_hrxml_Languages_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Language_s* zx_hrxml_Languages_GET_Language(struct zx_hrxml_Languages_s* x, int n);

int zx_hrxml_Languages_NUM_Language(struct zx_hrxml_Languages_s* x);

struct zx_hrxml_Language_s* zx_hrxml_Languages_POP_Language(struct zx_hrxml_Languages_s* x);

void zx_hrxml_Languages_PUSH_Language(struct zx_hrxml_Languages_s* x, struct zx_hrxml_Language_s* y);


void zx_hrxml_Languages_PUT_Language(struct zx_hrxml_Languages_s* x, int n, struct zx_hrxml_Language_s* y);

void zx_hrxml_Languages_ADD_Language(struct zx_hrxml_Languages_s* x, int n, struct zx_hrxml_Language_s* z);

void zx_hrxml_Languages_DEL_Language(struct zx_hrxml_Languages_s* x, int n);

void zx_hrxml_Languages_REV_Language(struct zx_hrxml_Languages_s* x);

#endif
/* -------------------------- hrxml_Latitude -------------------------- */
/* refby( zx_hrxml_SpatialLocation_s ) */
#ifndef zx_hrxml_Latitude_EXT
#define zx_hrxml_Latitude_EXT
#endif
struct zx_hrxml_Latitude_s {
  ZX_ELEM_EXT
  zx_hrxml_Latitude_EXT
};

#define zx_NEW_hrxml_Latitude(c, father) (struct zx_hrxml_Latitude_s*)zx_new_elem((c),(father),zx_hrxml_Latitude_ELEM)
int zx_DEC_ATTR_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x);
int zx_DEC_ELEM_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Latitude_s* zx_DEEP_CLONE_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x);
int zx_WALK_SO_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Latitude(struct zx_ctx* c, struct zx_hrxml_Latitude_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_LegalClassification -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_LegalClassification_EXT
#define zx_hrxml_LegalClassification_EXT
#endif
struct zx_hrxml_LegalClassification_s {
  ZX_ELEM_EXT
  zx_hrxml_LegalClassification_EXT
  struct zx_attr_s* countryCode;	/* {1,1} attribute hrxml:CountryCodeType */
  struct zx_attr_s* ownership;	/* {0,1} attribute hrxml:OrganizationLegalOwnershipType */
};

#define zx_NEW_hrxml_LegalClassification(c, father) (struct zx_hrxml_LegalClassification_s*)zx_new_elem((c),(father),zx_hrxml_LegalClassification_ELEM)
int zx_DEC_ATTR_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x);
int zx_DEC_ELEM_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LegalClassification_s* zx_DEEP_CLONE_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x);
int zx_WALK_SO_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LegalClassification(struct zx_ctx* c, struct zx_hrxml_LegalClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_LegalClassification_GET_countryCode(struct zx_hrxml_LegalClassification_s* x);
struct zx_attr_s* zx_hrxml_LegalClassification_GET_ownership(struct zx_hrxml_LegalClassification_s* x);





void zx_hrxml_LegalClassification_PUT_countryCode(struct zx_hrxml_LegalClassification_s* x, struct zx_attr_s* y);
void zx_hrxml_LegalClassification_PUT_ownership(struct zx_hrxml_LegalClassification_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_LegalId -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_LegalId_EXT
#define zx_hrxml_LegalId_EXT
#endif
struct zx_hrxml_LegalId_s {
  ZX_ELEM_EXT
  zx_hrxml_LegalId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_LegalId(c, father) (struct zx_hrxml_LegalId_s*)zx_new_elem((c),(father),zx_hrxml_LegalId_ELEM)
int zx_DEC_ATTR_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x);
int zx_DEC_ELEM_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LegalId_s* zx_DEEP_CLONE_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x);
int zx_WALK_SO_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LegalId(struct zx_ctx* c, struct zx_hrxml_LegalId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_LegalId_GET_idOwner(struct zx_hrxml_LegalId_s* x);
struct zx_attr_s* zx_hrxml_LegalId_GET_validFrom(struct zx_hrxml_LegalId_s* x);
struct zx_attr_s* zx_hrxml_LegalId_GET_validTo(struct zx_hrxml_LegalId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_LegalId_GET_IdValue(struct zx_hrxml_LegalId_s* x, int n);

int zx_hrxml_LegalId_NUM_IdValue(struct zx_hrxml_LegalId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_LegalId_POP_IdValue(struct zx_hrxml_LegalId_s* x);

void zx_hrxml_LegalId_PUSH_IdValue(struct zx_hrxml_LegalId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_LegalId_PUT_idOwner(struct zx_hrxml_LegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_LegalId_PUT_validFrom(struct zx_hrxml_LegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_LegalId_PUT_validTo(struct zx_hrxml_LegalId_s* x, struct zx_attr_s* y);

void zx_hrxml_LegalId_PUT_IdValue(struct zx_hrxml_LegalId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_LegalId_ADD_IdValue(struct zx_hrxml_LegalId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_LegalId_DEL_IdValue(struct zx_hrxml_LegalId_s* x, int n);

void zx_hrxml_LegalId_REV_IdValue(struct zx_hrxml_LegalId_s* x);

#endif
/* -------------------------- hrxml_LegalIdentifiers -------------------------- */
/* refby( zx_hrxml_PersonDescriptors_s ) */
#ifndef zx_hrxml_LegalIdentifiers_EXT
#define zx_hrxml_LegalIdentifiers_EXT
#endif
struct zx_hrxml_LegalIdentifiers_s {
  ZX_ELEM_EXT
  zx_hrxml_LegalIdentifiers_EXT
  struct zx_hrxml_PersonLegalId_s* PersonLegalId;	/* {0,-1}  */
  struct zx_hrxml_MilitaryStatus_s* MilitaryStatus;	/* {0,-1}  */
  struct zx_hrxml_VisaStatus_s* VisaStatus;	/* {0,-1}  */
  struct zx_elem_s* Citizenship;	/* {0,-1} xsd:string */
  struct zx_elem_s* Residency;	/* {0,-1} xsd:string */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_LegalIdentifiers(c, father) (struct zx_hrxml_LegalIdentifiers_s*)zx_new_elem((c),(father),zx_hrxml_LegalIdentifiers_ELEM)
int zx_DEC_ATTR_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x);
int zx_DEC_ELEM_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LegalIdentifiers_s* zx_DEEP_CLONE_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x);
int zx_WALK_SO_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LegalIdentifiers(struct zx_ctx* c, struct zx_hrxml_LegalIdentifiers_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PersonLegalId_s* zx_hrxml_LegalIdentifiers_GET_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x, int n);
struct zx_hrxml_MilitaryStatus_s* zx_hrxml_LegalIdentifiers_GET_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n);
struct zx_hrxml_VisaStatus_s* zx_hrxml_LegalIdentifiers_GET_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n);
struct zx_elem_s* zx_hrxml_LegalIdentifiers_GET_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x, int n);
struct zx_elem_s* zx_hrxml_LegalIdentifiers_GET_Residency(struct zx_hrxml_LegalIdentifiers_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_LegalIdentifiers_GET_UserArea(struct zx_hrxml_LegalIdentifiers_s* x, int n);

int zx_hrxml_LegalIdentifiers_NUM_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x);
int zx_hrxml_LegalIdentifiers_NUM_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x);
int zx_hrxml_LegalIdentifiers_NUM_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x);
int zx_hrxml_LegalIdentifiers_NUM_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x);
int zx_hrxml_LegalIdentifiers_NUM_Residency(struct zx_hrxml_LegalIdentifiers_s* x);
int zx_hrxml_LegalIdentifiers_NUM_UserArea(struct zx_hrxml_LegalIdentifiers_s* x);

struct zx_hrxml_PersonLegalId_s* zx_hrxml_LegalIdentifiers_POP_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x);
struct zx_hrxml_MilitaryStatus_s* zx_hrxml_LegalIdentifiers_POP_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x);
struct zx_hrxml_VisaStatus_s* zx_hrxml_LegalIdentifiers_POP_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x);
struct zx_elem_s* zx_hrxml_LegalIdentifiers_POP_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x);
struct zx_elem_s* zx_hrxml_LegalIdentifiers_POP_Residency(struct zx_hrxml_LegalIdentifiers_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_LegalIdentifiers_POP_UserArea(struct zx_hrxml_LegalIdentifiers_s* x);

void zx_hrxml_LegalIdentifiers_PUSH_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x, struct zx_hrxml_PersonLegalId_s* y);
void zx_hrxml_LegalIdentifiers_PUSH_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x, struct zx_hrxml_MilitaryStatus_s* y);
void zx_hrxml_LegalIdentifiers_PUSH_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x, struct zx_hrxml_VisaStatus_s* y);
void zx_hrxml_LegalIdentifiers_PUSH_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x, struct zx_elem_s* y);
void zx_hrxml_LegalIdentifiers_PUSH_Residency(struct zx_hrxml_LegalIdentifiers_s* x, struct zx_elem_s* y);
void zx_hrxml_LegalIdentifiers_PUSH_UserArea(struct zx_hrxml_LegalIdentifiers_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_LegalIdentifiers_PUT_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_PersonLegalId_s* y);
void zx_hrxml_LegalIdentifiers_PUT_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_MilitaryStatus_s* y);
void zx_hrxml_LegalIdentifiers_PUT_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_VisaStatus_s* y);
void zx_hrxml_LegalIdentifiers_PUT_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_LegalIdentifiers_PUT_Residency(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_LegalIdentifiers_PUT_UserArea(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_LegalIdentifiers_ADD_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_PersonLegalId_s* z);
void zx_hrxml_LegalIdentifiers_ADD_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_MilitaryStatus_s* z);
void zx_hrxml_LegalIdentifiers_ADD_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_VisaStatus_s* z);
void zx_hrxml_LegalIdentifiers_ADD_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_LegalIdentifiers_ADD_Residency(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_LegalIdentifiers_ADD_UserArea(struct zx_hrxml_LegalIdentifiers_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_LegalIdentifiers_DEL_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x, int n);
void zx_hrxml_LegalIdentifiers_DEL_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n);
void zx_hrxml_LegalIdentifiers_DEL_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x, int n);
void zx_hrxml_LegalIdentifiers_DEL_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x,int n);
void zx_hrxml_LegalIdentifiers_DEL_Residency(struct zx_hrxml_LegalIdentifiers_s* x,int n);
void zx_hrxml_LegalIdentifiers_DEL_UserArea(struct zx_hrxml_LegalIdentifiers_s* x, int n);

void zx_hrxml_LegalIdentifiers_REV_PersonLegalId(struct zx_hrxml_LegalIdentifiers_s* x);
void zx_hrxml_LegalIdentifiers_REV_MilitaryStatus(struct zx_hrxml_LegalIdentifiers_s* x);
void zx_hrxml_LegalIdentifiers_REV_VisaStatus(struct zx_hrxml_LegalIdentifiers_s* x);
void zx_hrxml_LegalIdentifiers_REV_Citizenship(struct zx_hrxml_LegalIdentifiers_s* x);
void zx_hrxml_LegalIdentifiers_REV_Residency(struct zx_hrxml_LegalIdentifiers_s* x);
void zx_hrxml_LegalIdentifiers_REV_UserArea(struct zx_hrxml_LegalIdentifiers_s* x);

#endif
/* -------------------------- hrxml_LicenseOrCertification -------------------------- */
/* refby( zx_hrxml_LicensesAndCertifications_s ) */
#ifndef zx_hrxml_LicenseOrCertification_EXT
#define zx_hrxml_LicenseOrCertification_EXT
#endif
struct zx_hrxml_LicenseOrCertification_s {
  ZX_ELEM_EXT
  zx_hrxml_LicenseOrCertification_EXT
  struct zx_elem_s* Name;	/* {1,1} xsd:string */
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_hrxml_IssuingAuthority_s* IssuingAuthority;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_EffectiveDate_s* EffectiveDate;	/* {0,1}  */
};

#define zx_NEW_hrxml_LicenseOrCertification(c, father) (struct zx_hrxml_LicenseOrCertification_s*)zx_new_elem((c),(father),zx_hrxml_LicenseOrCertification_ELEM)
int zx_DEC_ATTR_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x);
int zx_DEC_ELEM_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LicenseOrCertification_s* zx_DEEP_CLONE_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x);
int zx_WALK_SO_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LicenseOrCertification(struct zx_ctx* c, struct zx_hrxml_LicenseOrCertification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_LicenseOrCertification_GET_Name(struct zx_hrxml_LicenseOrCertification_s* x, int n);
struct zx_hrxml_Id_s* zx_hrxml_LicenseOrCertification_GET_Id(struct zx_hrxml_LicenseOrCertification_s* x, int n);
struct zx_hrxml_IssuingAuthority_s* zx_hrxml_LicenseOrCertification_GET_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_LicenseOrCertification_GET_Description(struct zx_hrxml_LicenseOrCertification_s* x, int n);
struct zx_hrxml_EffectiveDate_s* zx_hrxml_LicenseOrCertification_GET_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x, int n);

int zx_hrxml_LicenseOrCertification_NUM_Name(struct zx_hrxml_LicenseOrCertification_s* x);
int zx_hrxml_LicenseOrCertification_NUM_Id(struct zx_hrxml_LicenseOrCertification_s* x);
int zx_hrxml_LicenseOrCertification_NUM_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x);
int zx_hrxml_LicenseOrCertification_NUM_Description(struct zx_hrxml_LicenseOrCertification_s* x);
int zx_hrxml_LicenseOrCertification_NUM_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x);

struct zx_elem_s* zx_hrxml_LicenseOrCertification_POP_Name(struct zx_hrxml_LicenseOrCertification_s* x);
struct zx_hrxml_Id_s* zx_hrxml_LicenseOrCertification_POP_Id(struct zx_hrxml_LicenseOrCertification_s* x);
struct zx_hrxml_IssuingAuthority_s* zx_hrxml_LicenseOrCertification_POP_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x);
struct zx_hrxml_Description_s* zx_hrxml_LicenseOrCertification_POP_Description(struct zx_hrxml_LicenseOrCertification_s* x);
struct zx_hrxml_EffectiveDate_s* zx_hrxml_LicenseOrCertification_POP_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x);

void zx_hrxml_LicenseOrCertification_PUSH_Name(struct zx_hrxml_LicenseOrCertification_s* x, struct zx_elem_s* y);
void zx_hrxml_LicenseOrCertification_PUSH_Id(struct zx_hrxml_LicenseOrCertification_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_LicenseOrCertification_PUSH_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x, struct zx_hrxml_IssuingAuthority_s* y);
void zx_hrxml_LicenseOrCertification_PUSH_Description(struct zx_hrxml_LicenseOrCertification_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_LicenseOrCertification_PUSH_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x, struct zx_hrxml_EffectiveDate_s* y);


void zx_hrxml_LicenseOrCertification_PUT_Name(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_LicenseOrCertification_PUT_Id(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_LicenseOrCertification_PUT_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_IssuingAuthority_s* y);
void zx_hrxml_LicenseOrCertification_PUT_Description(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_LicenseOrCertification_PUT_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_EffectiveDate_s* y);

void zx_hrxml_LicenseOrCertification_ADD_Name(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_LicenseOrCertification_ADD_Id(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_LicenseOrCertification_ADD_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_IssuingAuthority_s* z);
void zx_hrxml_LicenseOrCertification_ADD_Description(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_LicenseOrCertification_ADD_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x, int n, struct zx_hrxml_EffectiveDate_s* z);

void zx_hrxml_LicenseOrCertification_DEL_Name(struct zx_hrxml_LicenseOrCertification_s* x,int n);
void zx_hrxml_LicenseOrCertification_DEL_Id(struct zx_hrxml_LicenseOrCertification_s* x, int n);
void zx_hrxml_LicenseOrCertification_DEL_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x, int n);
void zx_hrxml_LicenseOrCertification_DEL_Description(struct zx_hrxml_LicenseOrCertification_s* x, int n);
void zx_hrxml_LicenseOrCertification_DEL_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x, int n);

void zx_hrxml_LicenseOrCertification_REV_Name(struct zx_hrxml_LicenseOrCertification_s* x);
void zx_hrxml_LicenseOrCertification_REV_Id(struct zx_hrxml_LicenseOrCertification_s* x);
void zx_hrxml_LicenseOrCertification_REV_IssuingAuthority(struct zx_hrxml_LicenseOrCertification_s* x);
void zx_hrxml_LicenseOrCertification_REV_Description(struct zx_hrxml_LicenseOrCertification_s* x);
void zx_hrxml_LicenseOrCertification_REV_EffectiveDate(struct zx_hrxml_LicenseOrCertification_s* x);

#endif
/* -------------------------- hrxml_LicensesAndCertifications -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_LicensesAndCertifications_EXT
#define zx_hrxml_LicensesAndCertifications_EXT
#endif
struct zx_hrxml_LicensesAndCertifications_s {
  ZX_ELEM_EXT
  zx_hrxml_LicensesAndCertifications_EXT
  struct zx_hrxml_LicenseOrCertification_s* LicenseOrCertification;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_LicensesAndCertifications(c, father) (struct zx_hrxml_LicensesAndCertifications_s*)zx_new_elem((c),(father),zx_hrxml_LicensesAndCertifications_ELEM)
int zx_DEC_ATTR_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x);
int zx_DEC_ELEM_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LicensesAndCertifications_s* zx_DEEP_CLONE_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x);
int zx_WALK_SO_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LicensesAndCertifications(struct zx_ctx* c, struct zx_hrxml_LicensesAndCertifications_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_LicenseOrCertification_s* zx_hrxml_LicensesAndCertifications_GET_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x, int n);

int zx_hrxml_LicensesAndCertifications_NUM_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x);

struct zx_hrxml_LicenseOrCertification_s* zx_hrxml_LicensesAndCertifications_POP_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x);

void zx_hrxml_LicensesAndCertifications_PUSH_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x, struct zx_hrxml_LicenseOrCertification_s* y);


void zx_hrxml_LicensesAndCertifications_PUT_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x, int n, struct zx_hrxml_LicenseOrCertification_s* y);

void zx_hrxml_LicensesAndCertifications_ADD_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x, int n, struct zx_hrxml_LicenseOrCertification_s* z);

void zx_hrxml_LicensesAndCertifications_DEL_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x, int n);

void zx_hrxml_LicensesAndCertifications_REV_LicenseOrCertification(struct zx_hrxml_LicensesAndCertifications_s* x);

#endif
/* -------------------------- hrxml_List -------------------------- */
/* refby( zx_hrxml_OtherDescriptors_s ) */
#ifndef zx_hrxml_List_EXT
#define zx_hrxml_List_EXT
#endif
struct zx_hrxml_List_s {
  ZX_ELEM_EXT
  zx_hrxml_List_EXT
  struct zx_elem_s* Item;	/* {1,-1} xsd:string */
};

#define zx_NEW_hrxml_List(c, father) (struct zx_hrxml_List_s*)zx_new_elem((c),(father),zx_hrxml_List_ELEM)
int zx_DEC_ATTR_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x);
int zx_DEC_ELEM_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_List_s* zx_DEEP_CLONE_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x);
int zx_WALK_SO_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_List(struct zx_ctx* c, struct zx_hrxml_List_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_List_GET_Item(struct zx_hrxml_List_s* x, int n);

int zx_hrxml_List_NUM_Item(struct zx_hrxml_List_s* x);

struct zx_elem_s* zx_hrxml_List_POP_Item(struct zx_hrxml_List_s* x);

void zx_hrxml_List_PUSH_Item(struct zx_hrxml_List_s* x, struct zx_elem_s* y);


void zx_hrxml_List_PUT_Item(struct zx_hrxml_List_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_List_ADD_Item(struct zx_hrxml_List_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_List_DEL_Item(struct zx_hrxml_List_s* x,int n);

void zx_hrxml_List_REV_Item(struct zx_hrxml_List_s* x);

#endif
/* -------------------------- hrxml_LocalInstitutionClassification -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s ) */
#ifndef zx_hrxml_LocalInstitutionClassification_EXT
#define zx_hrxml_LocalInstitutionClassification_EXT
#endif
struct zx_hrxml_LocalInstitutionClassification_s {
  ZX_ELEM_EXT
  zx_hrxml_LocalInstitutionClassification_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
};

#define zx_NEW_hrxml_LocalInstitutionClassification(c, father) (struct zx_hrxml_LocalInstitutionClassification_s*)zx_new_elem((c),(father),zx_hrxml_LocalInstitutionClassification_ELEM)
int zx_DEC_ATTR_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x);
int zx_DEC_ELEM_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LocalInstitutionClassification_s* zx_DEEP_CLONE_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x);
int zx_WALK_SO_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LocalInstitutionClassification(struct zx_ctx* c, struct zx_hrxml_LocalInstitutionClassification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_LocalInstitutionClassification_GET_Id(struct zx_hrxml_LocalInstitutionClassification_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_LocalInstitutionClassification_GET_Description(struct zx_hrxml_LocalInstitutionClassification_s* x, int n);

int zx_hrxml_LocalInstitutionClassification_NUM_Id(struct zx_hrxml_LocalInstitutionClassification_s* x);
int zx_hrxml_LocalInstitutionClassification_NUM_Description(struct zx_hrxml_LocalInstitutionClassification_s* x);

struct zx_hrxml_Id_s* zx_hrxml_LocalInstitutionClassification_POP_Id(struct zx_hrxml_LocalInstitutionClassification_s* x);
struct zx_hrxml_Description_s* zx_hrxml_LocalInstitutionClassification_POP_Description(struct zx_hrxml_LocalInstitutionClassification_s* x);

void zx_hrxml_LocalInstitutionClassification_PUSH_Id(struct zx_hrxml_LocalInstitutionClassification_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_LocalInstitutionClassification_PUSH_Description(struct zx_hrxml_LocalInstitutionClassification_s* x, struct zx_hrxml_Description_s* y);


void zx_hrxml_LocalInstitutionClassification_PUT_Id(struct zx_hrxml_LocalInstitutionClassification_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_LocalInstitutionClassification_PUT_Description(struct zx_hrxml_LocalInstitutionClassification_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_LocalInstitutionClassification_ADD_Id(struct zx_hrxml_LocalInstitutionClassification_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_LocalInstitutionClassification_ADD_Description(struct zx_hrxml_LocalInstitutionClassification_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_LocalInstitutionClassification_DEL_Id(struct zx_hrxml_LocalInstitutionClassification_s* x, int n);
void zx_hrxml_LocalInstitutionClassification_DEL_Description(struct zx_hrxml_LocalInstitutionClassification_s* x, int n);

void zx_hrxml_LocalInstitutionClassification_REV_Id(struct zx_hrxml_LocalInstitutionClassification_s* x);
void zx_hrxml_LocalInstitutionClassification_REV_Description(struct zx_hrxml_LocalInstitutionClassification_s* x);

#endif
/* -------------------------- hrxml_LocationSummary -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s zx_hrxml_OrgInfo_s zx_hrxml_EmployerContactInfo_s ) */
#ifndef zx_hrxml_LocationSummary_EXT
#define zx_hrxml_LocationSummary_EXT
#endif
struct zx_hrxml_LocationSummary_s {
  ZX_ELEM_EXT
  zx_hrxml_LocationSummary_EXT
  struct zx_elem_s* Municipality;	/* {0,1} xsd:string */
  struct zx_elem_s* Region;	/* {0,-1} xsd:string */
  struct zx_elem_s* CountryCode;	/* {0,1} xsd:string */
  struct zx_elem_s* PostalCode;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_LocationSummary(c, father) (struct zx_hrxml_LocationSummary_s*)zx_new_elem((c),(father),zx_hrxml_LocationSummary_ELEM)
int zx_DEC_ATTR_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x);
int zx_DEC_ELEM_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LocationSummary_s* zx_DEEP_CLONE_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x);
int zx_WALK_SO_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LocationSummary(struct zx_ctx* c, struct zx_hrxml_LocationSummary_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_LocationSummary_GET_Municipality(struct zx_hrxml_LocationSummary_s* x, int n);
struct zx_elem_s* zx_hrxml_LocationSummary_GET_Region(struct zx_hrxml_LocationSummary_s* x, int n);
struct zx_elem_s* zx_hrxml_LocationSummary_GET_CountryCode(struct zx_hrxml_LocationSummary_s* x, int n);
struct zx_elem_s* zx_hrxml_LocationSummary_GET_PostalCode(struct zx_hrxml_LocationSummary_s* x, int n);

int zx_hrxml_LocationSummary_NUM_Municipality(struct zx_hrxml_LocationSummary_s* x);
int zx_hrxml_LocationSummary_NUM_Region(struct zx_hrxml_LocationSummary_s* x);
int zx_hrxml_LocationSummary_NUM_CountryCode(struct zx_hrxml_LocationSummary_s* x);
int zx_hrxml_LocationSummary_NUM_PostalCode(struct zx_hrxml_LocationSummary_s* x);

struct zx_elem_s* zx_hrxml_LocationSummary_POP_Municipality(struct zx_hrxml_LocationSummary_s* x);
struct zx_elem_s* zx_hrxml_LocationSummary_POP_Region(struct zx_hrxml_LocationSummary_s* x);
struct zx_elem_s* zx_hrxml_LocationSummary_POP_CountryCode(struct zx_hrxml_LocationSummary_s* x);
struct zx_elem_s* zx_hrxml_LocationSummary_POP_PostalCode(struct zx_hrxml_LocationSummary_s* x);

void zx_hrxml_LocationSummary_PUSH_Municipality(struct zx_hrxml_LocationSummary_s* x, struct zx_elem_s* y);
void zx_hrxml_LocationSummary_PUSH_Region(struct zx_hrxml_LocationSummary_s* x, struct zx_elem_s* y);
void zx_hrxml_LocationSummary_PUSH_CountryCode(struct zx_hrxml_LocationSummary_s* x, struct zx_elem_s* y);
void zx_hrxml_LocationSummary_PUSH_PostalCode(struct zx_hrxml_LocationSummary_s* x, struct zx_elem_s* y);


void zx_hrxml_LocationSummary_PUT_Municipality(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_LocationSummary_PUT_Region(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_LocationSummary_PUT_CountryCode(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_LocationSummary_PUT_PostalCode(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_LocationSummary_ADD_Municipality(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_LocationSummary_ADD_Region(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_LocationSummary_ADD_CountryCode(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_LocationSummary_ADD_PostalCode(struct zx_hrxml_LocationSummary_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_LocationSummary_DEL_Municipality(struct zx_hrxml_LocationSummary_s* x,int n);
void zx_hrxml_LocationSummary_DEL_Region(struct zx_hrxml_LocationSummary_s* x,int n);
void zx_hrxml_LocationSummary_DEL_CountryCode(struct zx_hrxml_LocationSummary_s* x,int n);
void zx_hrxml_LocationSummary_DEL_PostalCode(struct zx_hrxml_LocationSummary_s* x,int n);

void zx_hrxml_LocationSummary_REV_Municipality(struct zx_hrxml_LocationSummary_s* x);
void zx_hrxml_LocationSummary_REV_Region(struct zx_hrxml_LocationSummary_s* x);
void zx_hrxml_LocationSummary_REV_CountryCode(struct zx_hrxml_LocationSummary_s* x);
void zx_hrxml_LocationSummary_REV_PostalCode(struct zx_hrxml_LocationSummary_s* x);

#endif
/* -------------------------- hrxml_Longitude -------------------------- */
/* refby( zx_hrxml_SpatialLocation_s ) */
#ifndef zx_hrxml_Longitude_EXT
#define zx_hrxml_Longitude_EXT
#endif
struct zx_hrxml_Longitude_s {
  ZX_ELEM_EXT
  zx_hrxml_Longitude_EXT
};

#define zx_NEW_hrxml_Longitude(c, father) (struct zx_hrxml_Longitude_s*)zx_new_elem((c),(father),zx_hrxml_Longitude_ELEM)
int zx_DEC_ATTR_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x);
int zx_DEC_ELEM_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Longitude_s* zx_DEEP_CLONE_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x);
int zx_WALK_SO_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Longitude(struct zx_ctx* c, struct zx_hrxml_Longitude_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_LowestPossibleValue -------------------------- */
/* refby( zx_hrxml_EducationalMeasure_s ) */
#ifndef zx_hrxml_LowestPossibleValue_EXT
#define zx_hrxml_LowestPossibleValue_EXT
#endif
struct zx_hrxml_LowestPossibleValue_s {
  ZX_ELEM_EXT
  zx_hrxml_LowestPossibleValue_EXT
  struct zx_hrxml_NumericValue_s* NumericValue;	/* {0,1} nada */
  struct zx_hrxml_StringValue_s* StringValue;	/* {0,1} nada */
};

#define zx_NEW_hrxml_LowestPossibleValue(c, father) (struct zx_hrxml_LowestPossibleValue_s*)zx_new_elem((c),(father),zx_hrxml_LowestPossibleValue_ELEM)
int zx_DEC_ATTR_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x);
int zx_DEC_ELEM_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_LowestPossibleValue_s* zx_DEEP_CLONE_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x);
int zx_WALK_SO_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_LowestPossibleValue(struct zx_ctx* c, struct zx_hrxml_LowestPossibleValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_NumericValue_s* zx_hrxml_LowestPossibleValue_GET_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x, int n);
struct zx_hrxml_StringValue_s* zx_hrxml_LowestPossibleValue_GET_StringValue(struct zx_hrxml_LowestPossibleValue_s* x, int n);

int zx_hrxml_LowestPossibleValue_NUM_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x);
int zx_hrxml_LowestPossibleValue_NUM_StringValue(struct zx_hrxml_LowestPossibleValue_s* x);

struct zx_hrxml_NumericValue_s* zx_hrxml_LowestPossibleValue_POP_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x);
struct zx_hrxml_StringValue_s* zx_hrxml_LowestPossibleValue_POP_StringValue(struct zx_hrxml_LowestPossibleValue_s* x);

void zx_hrxml_LowestPossibleValue_PUSH_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_LowestPossibleValue_PUSH_StringValue(struct zx_hrxml_LowestPossibleValue_s* x, struct zx_hrxml_StringValue_s* y);


void zx_hrxml_LowestPossibleValue_PUT_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x, int n, struct zx_hrxml_NumericValue_s* y);
void zx_hrxml_LowestPossibleValue_PUT_StringValue(struct zx_hrxml_LowestPossibleValue_s* x, int n, struct zx_hrxml_StringValue_s* y);

void zx_hrxml_LowestPossibleValue_ADD_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x, int n, struct zx_hrxml_NumericValue_s* z);
void zx_hrxml_LowestPossibleValue_ADD_StringValue(struct zx_hrxml_LowestPossibleValue_s* x, int n, struct zx_hrxml_StringValue_s* z);

void zx_hrxml_LowestPossibleValue_DEL_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x, int n);
void zx_hrxml_LowestPossibleValue_DEL_StringValue(struct zx_hrxml_LowestPossibleValue_s* x, int n);

void zx_hrxml_LowestPossibleValue_REV_NumericValue(struct zx_hrxml_LowestPossibleValue_s* x);
void zx_hrxml_LowestPossibleValue_REV_StringValue(struct zx_hrxml_LowestPossibleValue_s* x);

#endif
/* -------------------------- hrxml_MatchedObjectId -------------------------- */
/* refby( zx_hrxml_SearchResult_s ) */
#ifndef zx_hrxml_MatchedObjectId_EXT
#define zx_hrxml_MatchedObjectId_EXT
#endif
struct zx_hrxml_MatchedObjectId_s {
  ZX_ELEM_EXT
  zx_hrxml_MatchedObjectId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_MatchedObjectId(c, father) (struct zx_hrxml_MatchedObjectId_s*)zx_new_elem((c),(father),zx_hrxml_MatchedObjectId_ELEM)
int zx_DEC_ATTR_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x);
int zx_DEC_ELEM_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_MatchedObjectId_s* zx_DEEP_CLONE_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x);
int zx_WALK_SO_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_MatchedObjectId(struct zx_ctx* c, struct zx_hrxml_MatchedObjectId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_MatchedObjectId_GET_idOwner(struct zx_hrxml_MatchedObjectId_s* x);
struct zx_attr_s* zx_hrxml_MatchedObjectId_GET_validFrom(struct zx_hrxml_MatchedObjectId_s* x);
struct zx_attr_s* zx_hrxml_MatchedObjectId_GET_validTo(struct zx_hrxml_MatchedObjectId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_MatchedObjectId_GET_IdValue(struct zx_hrxml_MatchedObjectId_s* x, int n);

int zx_hrxml_MatchedObjectId_NUM_IdValue(struct zx_hrxml_MatchedObjectId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_MatchedObjectId_POP_IdValue(struct zx_hrxml_MatchedObjectId_s* x);

void zx_hrxml_MatchedObjectId_PUSH_IdValue(struct zx_hrxml_MatchedObjectId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_MatchedObjectId_PUT_idOwner(struct zx_hrxml_MatchedObjectId_s* x, struct zx_attr_s* y);
void zx_hrxml_MatchedObjectId_PUT_validFrom(struct zx_hrxml_MatchedObjectId_s* x, struct zx_attr_s* y);
void zx_hrxml_MatchedObjectId_PUT_validTo(struct zx_hrxml_MatchedObjectId_s* x, struct zx_attr_s* y);

void zx_hrxml_MatchedObjectId_PUT_IdValue(struct zx_hrxml_MatchedObjectId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_MatchedObjectId_ADD_IdValue(struct zx_hrxml_MatchedObjectId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_MatchedObjectId_DEL_IdValue(struct zx_hrxml_MatchedObjectId_s* x, int n);

void zx_hrxml_MatchedObjectId_REV_IdValue(struct zx_hrxml_MatchedObjectId_s* x);

#endif
/* -------------------------- hrxml_Measure -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s ) */
#ifndef zx_hrxml_Measure_EXT
#define zx_hrxml_Measure_EXT
#endif
struct zx_hrxml_Measure_s {
  ZX_ELEM_EXT
  zx_hrxml_Measure_EXT
  struct zx_elem_s* MeasureSystem;	/* {1,1} xsd:string */
  struct zx_elem_s* MeasureValue;	/* {1,1} xsd:string */
  struct zx_attr_s* measureType;	/* {1,1} attribute xsd:string */
};

#define zx_NEW_hrxml_Measure(c, father) (struct zx_hrxml_Measure_s*)zx_new_elem((c),(father),zx_hrxml_Measure_ELEM)
int zx_DEC_ATTR_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x);
int zx_DEC_ELEM_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Measure_s* zx_DEEP_CLONE_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x);
int zx_WALK_SO_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Measure(struct zx_ctx* c, struct zx_hrxml_Measure_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Measure_GET_measureType(struct zx_hrxml_Measure_s* x);

struct zx_elem_s* zx_hrxml_Measure_GET_MeasureSystem(struct zx_hrxml_Measure_s* x, int n);
struct zx_elem_s* zx_hrxml_Measure_GET_MeasureValue(struct zx_hrxml_Measure_s* x, int n);

int zx_hrxml_Measure_NUM_MeasureSystem(struct zx_hrxml_Measure_s* x);
int zx_hrxml_Measure_NUM_MeasureValue(struct zx_hrxml_Measure_s* x);

struct zx_elem_s* zx_hrxml_Measure_POP_MeasureSystem(struct zx_hrxml_Measure_s* x);
struct zx_elem_s* zx_hrxml_Measure_POP_MeasureValue(struct zx_hrxml_Measure_s* x);

void zx_hrxml_Measure_PUSH_MeasureSystem(struct zx_hrxml_Measure_s* x, struct zx_elem_s* y);
void zx_hrxml_Measure_PUSH_MeasureValue(struct zx_hrxml_Measure_s* x, struct zx_elem_s* y);

void zx_hrxml_Measure_PUT_measureType(struct zx_hrxml_Measure_s* x, struct zx_attr_s* y);

void zx_hrxml_Measure_PUT_MeasureSystem(struct zx_hrxml_Measure_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Measure_PUT_MeasureValue(struct zx_hrxml_Measure_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Measure_ADD_MeasureSystem(struct zx_hrxml_Measure_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Measure_ADD_MeasureValue(struct zx_hrxml_Measure_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Measure_DEL_MeasureSystem(struct zx_hrxml_Measure_s* x,int n);
void zx_hrxml_Measure_DEL_MeasureValue(struct zx_hrxml_Measure_s* x,int n);

void zx_hrxml_Measure_REV_MeasureSystem(struct zx_hrxml_Measure_s* x);
void zx_hrxml_Measure_REV_MeasureValue(struct zx_hrxml_Measure_s* x);

#endif
/* -------------------------- hrxml_MilitaryHistory -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_MilitaryHistory_EXT
#define zx_hrxml_MilitaryHistory_EXT
#endif
struct zx_hrxml_MilitaryHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_MilitaryHistory_EXT
  struct zx_elem_s* CountryServed;	/* {1,1} xsd:string */
  struct zx_hrxml_ServiceNumber_s* ServiceNumber;	/* {0,1}  */
  struct zx_hrxml_ServiceDetail_s* ServiceDetail;	/* {0,-1}  */
  struct zx_elem_s* ServiceStatus;	/* {0,1} xsd:string */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_MilitaryHistory(c, father) (struct zx_hrxml_MilitaryHistory_s*)zx_new_elem((c),(father),zx_hrxml_MilitaryHistory_ELEM)
int zx_DEC_ATTR_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x);
int zx_DEC_ELEM_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_MilitaryHistory_s* zx_DEEP_CLONE_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x);
int zx_WALK_SO_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_MilitaryHistory(struct zx_ctx* c, struct zx_hrxml_MilitaryHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_MilitaryHistory_GET_CountryServed(struct zx_hrxml_MilitaryHistory_s* x, int n);
struct zx_hrxml_ServiceNumber_s* zx_hrxml_MilitaryHistory_GET_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x, int n);
struct zx_hrxml_ServiceDetail_s* zx_hrxml_MilitaryHistory_GET_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x, int n);
struct zx_elem_s* zx_hrxml_MilitaryHistory_GET_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x, int n);
struct zx_elem_s* zx_hrxml_MilitaryHistory_GET_Comments(struct zx_hrxml_MilitaryHistory_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_MilitaryHistory_GET_UserArea(struct zx_hrxml_MilitaryHistory_s* x, int n);

int zx_hrxml_MilitaryHistory_NUM_CountryServed(struct zx_hrxml_MilitaryHistory_s* x);
int zx_hrxml_MilitaryHistory_NUM_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x);
int zx_hrxml_MilitaryHistory_NUM_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x);
int zx_hrxml_MilitaryHistory_NUM_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x);
int zx_hrxml_MilitaryHistory_NUM_Comments(struct zx_hrxml_MilitaryHistory_s* x);
int zx_hrxml_MilitaryHistory_NUM_UserArea(struct zx_hrxml_MilitaryHistory_s* x);

struct zx_elem_s* zx_hrxml_MilitaryHistory_POP_CountryServed(struct zx_hrxml_MilitaryHistory_s* x);
struct zx_hrxml_ServiceNumber_s* zx_hrxml_MilitaryHistory_POP_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x);
struct zx_hrxml_ServiceDetail_s* zx_hrxml_MilitaryHistory_POP_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x);
struct zx_elem_s* zx_hrxml_MilitaryHistory_POP_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x);
struct zx_elem_s* zx_hrxml_MilitaryHistory_POP_Comments(struct zx_hrxml_MilitaryHistory_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_MilitaryHistory_POP_UserArea(struct zx_hrxml_MilitaryHistory_s* x);

void zx_hrxml_MilitaryHistory_PUSH_CountryServed(struct zx_hrxml_MilitaryHistory_s* x, struct zx_elem_s* y);
void zx_hrxml_MilitaryHistory_PUSH_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x, struct zx_hrxml_ServiceNumber_s* y);
void zx_hrxml_MilitaryHistory_PUSH_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x, struct zx_hrxml_ServiceDetail_s* y);
void zx_hrxml_MilitaryHistory_PUSH_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x, struct zx_elem_s* y);
void zx_hrxml_MilitaryHistory_PUSH_Comments(struct zx_hrxml_MilitaryHistory_s* x, struct zx_elem_s* y);
void zx_hrxml_MilitaryHistory_PUSH_UserArea(struct zx_hrxml_MilitaryHistory_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_MilitaryHistory_PUT_CountryServed(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MilitaryHistory_PUT_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_hrxml_ServiceNumber_s* y);
void zx_hrxml_MilitaryHistory_PUT_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_hrxml_ServiceDetail_s* y);
void zx_hrxml_MilitaryHistory_PUT_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MilitaryHistory_PUT_Comments(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MilitaryHistory_PUT_UserArea(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_MilitaryHistory_ADD_CountryServed(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MilitaryHistory_ADD_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_hrxml_ServiceNumber_s* z);
void zx_hrxml_MilitaryHistory_ADD_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_hrxml_ServiceDetail_s* z);
void zx_hrxml_MilitaryHistory_ADD_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MilitaryHistory_ADD_Comments(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MilitaryHistory_ADD_UserArea(struct zx_hrxml_MilitaryHistory_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_MilitaryHistory_DEL_CountryServed(struct zx_hrxml_MilitaryHistory_s* x,int n);
void zx_hrxml_MilitaryHistory_DEL_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x, int n);
void zx_hrxml_MilitaryHistory_DEL_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x, int n);
void zx_hrxml_MilitaryHistory_DEL_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x,int n);
void zx_hrxml_MilitaryHistory_DEL_Comments(struct zx_hrxml_MilitaryHistory_s* x,int n);
void zx_hrxml_MilitaryHistory_DEL_UserArea(struct zx_hrxml_MilitaryHistory_s* x, int n);

void zx_hrxml_MilitaryHistory_REV_CountryServed(struct zx_hrxml_MilitaryHistory_s* x);
void zx_hrxml_MilitaryHistory_REV_ServiceNumber(struct zx_hrxml_MilitaryHistory_s* x);
void zx_hrxml_MilitaryHistory_REV_ServiceDetail(struct zx_hrxml_MilitaryHistory_s* x);
void zx_hrxml_MilitaryHistory_REV_ServiceStatus(struct zx_hrxml_MilitaryHistory_s* x);
void zx_hrxml_MilitaryHistory_REV_Comments(struct zx_hrxml_MilitaryHistory_s* x);
void zx_hrxml_MilitaryHistory_REV_UserArea(struct zx_hrxml_MilitaryHistory_s* x);

#endif
/* -------------------------- hrxml_MilitaryStatus -------------------------- */
/* refby( zx_hrxml_LegalIdentifiers_s ) */
#ifndef zx_hrxml_MilitaryStatus_EXT
#define zx_hrxml_MilitaryStatus_EXT
#endif
struct zx_hrxml_MilitaryStatus_s {
  ZX_ELEM_EXT
  zx_hrxml_MilitaryStatus_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_MilitaryStatus(c, father) (struct zx_hrxml_MilitaryStatus_s*)zx_new_elem((c),(father),zx_hrxml_MilitaryStatus_ELEM)
int zx_DEC_ATTR_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x);
int zx_DEC_ELEM_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_MilitaryStatus_s* zx_DEEP_CLONE_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x);
int zx_WALK_SO_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_MilitaryStatus(struct zx_ctx* c, struct zx_hrxml_MilitaryStatus_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_MilitaryStatus_GET_type(struct zx_hrxml_MilitaryStatus_s* x);





void zx_hrxml_MilitaryStatus_PUT_type(struct zx_hrxml_MilitaryStatus_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Mobile -------------------------- */
/* refby( zx_hrxml_ContactMethod_s ) */
#ifndef zx_hrxml_Mobile_EXT
#define zx_hrxml_Mobile_EXT
#endif
struct zx_hrxml_Mobile_s {
  ZX_ELEM_EXT
  zx_hrxml_Mobile_EXT
  struct zx_elem_s* FormattedNumber;	/* {0,1} xsd:string */
  struct zx_attr_s* smsEnabled;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_Mobile(c, father) (struct zx_hrxml_Mobile_s*)zx_new_elem((c),(father),zx_hrxml_Mobile_ELEM)
int zx_DEC_ATTR_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x);
int zx_DEC_ELEM_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Mobile_s* zx_DEEP_CLONE_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x);
int zx_WALK_SO_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Mobile(struct zx_ctx* c, struct zx_hrxml_Mobile_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Mobile_GET_smsEnabled(struct zx_hrxml_Mobile_s* x);

struct zx_elem_s* zx_hrxml_Mobile_GET_FormattedNumber(struct zx_hrxml_Mobile_s* x, int n);

int zx_hrxml_Mobile_NUM_FormattedNumber(struct zx_hrxml_Mobile_s* x);

struct zx_elem_s* zx_hrxml_Mobile_POP_FormattedNumber(struct zx_hrxml_Mobile_s* x);

void zx_hrxml_Mobile_PUSH_FormattedNumber(struct zx_hrxml_Mobile_s* x, struct zx_elem_s* y);

void zx_hrxml_Mobile_PUT_smsEnabled(struct zx_hrxml_Mobile_s* x, struct zx_attr_s* y);

void zx_hrxml_Mobile_PUT_FormattedNumber(struct zx_hrxml_Mobile_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Mobile_ADD_FormattedNumber(struct zx_hrxml_Mobile_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Mobile_DEL_FormattedNumber(struct zx_hrxml_Mobile_s* x,int n);

void zx_hrxml_Mobile_REV_FormattedNumber(struct zx_hrxml_Mobile_s* x);

#endif
/* -------------------------- hrxml_MostRecentDate -------------------------- */
/* refby( zx_hrxml_CopyrightDates_s ) */
#ifndef zx_hrxml_MostRecentDate_EXT
#define zx_hrxml_MostRecentDate_EXT
#endif
struct zx_hrxml_MostRecentDate_s {
  ZX_ELEM_EXT
  zx_hrxml_MostRecentDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_MostRecentDate(c, father) (struct zx_hrxml_MostRecentDate_s*)zx_new_elem((c),(father),zx_hrxml_MostRecentDate_ELEM)
int zx_DEC_ATTR_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x);
int zx_DEC_ELEM_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_MostRecentDate_s* zx_DEEP_CLONE_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x);
int zx_WALK_SO_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_MostRecentDate(struct zx_ctx* c, struct zx_hrxml_MostRecentDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_MostRecentDate_GET_dateDescription(struct zx_hrxml_MostRecentDate_s* x);

struct zx_elem_s* zx_hrxml_MostRecentDate_GET_AnyDate(struct zx_hrxml_MostRecentDate_s* x, int n);
struct zx_elem_s* zx_hrxml_MostRecentDate_GET_YearMonth(struct zx_hrxml_MostRecentDate_s* x, int n);
struct zx_elem_s* zx_hrxml_MostRecentDate_GET_Year(struct zx_hrxml_MostRecentDate_s* x, int n);
struct zx_elem_s* zx_hrxml_MostRecentDate_GET_MonthDay(struct zx_hrxml_MostRecentDate_s* x, int n);
struct zx_elem_s* zx_hrxml_MostRecentDate_GET_StringDate(struct zx_hrxml_MostRecentDate_s* x, int n);

int zx_hrxml_MostRecentDate_NUM_AnyDate(struct zx_hrxml_MostRecentDate_s* x);
int zx_hrxml_MostRecentDate_NUM_YearMonth(struct zx_hrxml_MostRecentDate_s* x);
int zx_hrxml_MostRecentDate_NUM_Year(struct zx_hrxml_MostRecentDate_s* x);
int zx_hrxml_MostRecentDate_NUM_MonthDay(struct zx_hrxml_MostRecentDate_s* x);
int zx_hrxml_MostRecentDate_NUM_StringDate(struct zx_hrxml_MostRecentDate_s* x);

struct zx_elem_s* zx_hrxml_MostRecentDate_POP_AnyDate(struct zx_hrxml_MostRecentDate_s* x);
struct zx_elem_s* zx_hrxml_MostRecentDate_POP_YearMonth(struct zx_hrxml_MostRecentDate_s* x);
struct zx_elem_s* zx_hrxml_MostRecentDate_POP_Year(struct zx_hrxml_MostRecentDate_s* x);
struct zx_elem_s* zx_hrxml_MostRecentDate_POP_MonthDay(struct zx_hrxml_MostRecentDate_s* x);
struct zx_elem_s* zx_hrxml_MostRecentDate_POP_StringDate(struct zx_hrxml_MostRecentDate_s* x);

void zx_hrxml_MostRecentDate_PUSH_AnyDate(struct zx_hrxml_MostRecentDate_s* x, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUSH_YearMonth(struct zx_hrxml_MostRecentDate_s* x, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUSH_Year(struct zx_hrxml_MostRecentDate_s* x, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUSH_MonthDay(struct zx_hrxml_MostRecentDate_s* x, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUSH_StringDate(struct zx_hrxml_MostRecentDate_s* x, struct zx_elem_s* y);

void zx_hrxml_MostRecentDate_PUT_dateDescription(struct zx_hrxml_MostRecentDate_s* x, struct zx_attr_s* y);

void zx_hrxml_MostRecentDate_PUT_AnyDate(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUT_YearMonth(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUT_Year(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUT_MonthDay(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_MostRecentDate_PUT_StringDate(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_MostRecentDate_ADD_AnyDate(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MostRecentDate_ADD_YearMonth(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MostRecentDate_ADD_Year(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MostRecentDate_ADD_MonthDay(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_MostRecentDate_ADD_StringDate(struct zx_hrxml_MostRecentDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_MostRecentDate_DEL_AnyDate(struct zx_hrxml_MostRecentDate_s* x,int n);
void zx_hrxml_MostRecentDate_DEL_YearMonth(struct zx_hrxml_MostRecentDate_s* x,int n);
void zx_hrxml_MostRecentDate_DEL_Year(struct zx_hrxml_MostRecentDate_s* x,int n);
void zx_hrxml_MostRecentDate_DEL_MonthDay(struct zx_hrxml_MostRecentDate_s* x,int n);
void zx_hrxml_MostRecentDate_DEL_StringDate(struct zx_hrxml_MostRecentDate_s* x,int n);

void zx_hrxml_MostRecentDate_REV_AnyDate(struct zx_hrxml_MostRecentDate_s* x);
void zx_hrxml_MostRecentDate_REV_YearMonth(struct zx_hrxml_MostRecentDate_s* x);
void zx_hrxml_MostRecentDate_REV_Year(struct zx_hrxml_MostRecentDate_s* x);
void zx_hrxml_MostRecentDate_REV_MonthDay(struct zx_hrxml_MostRecentDate_s* x);
void zx_hrxml_MostRecentDate_REV_StringDate(struct zx_hrxml_MostRecentDate_s* x);

#endif
/* -------------------------- hrxml_NonXMLResume -------------------------- */
/* refby( zx_hrxml_Resume_s ) */
#ifndef zx_hrxml_NonXMLResume_EXT
#define zx_hrxml_NonXMLResume_EXT
#endif
struct zx_hrxml_NonXMLResume_s {
  ZX_ELEM_EXT
  zx_hrxml_NonXMLResume_EXT
  struct zx_elem_s* TextResume;	/* {0,1} xsd:string */
  struct zx_elem_s* LinkToResume;	/* {0,1} xsd:string */
  struct zx_hrxml_SupportingMaterials_s* SupportingMaterials;	/* {0,-1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* RevisionDate;	/* {0,1} hrxml:LocalDateType */
};

#define zx_NEW_hrxml_NonXMLResume(c, father) (struct zx_hrxml_NonXMLResume_s*)zx_new_elem((c),(father),zx_hrxml_NonXMLResume_ELEM)
int zx_DEC_ATTR_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x);
int zx_DEC_ELEM_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_NonXMLResume_s* zx_DEEP_CLONE_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x);
int zx_WALK_SO_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_NonXMLResume(struct zx_ctx* c, struct zx_hrxml_NonXMLResume_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_NonXMLResume_GET_TextResume(struct zx_hrxml_NonXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_NonXMLResume_GET_LinkToResume(struct zx_hrxml_NonXMLResume_s* x, int n);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_NonXMLResume_GET_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_NonXMLResume_GET_Comments(struct zx_hrxml_NonXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_NonXMLResume_GET_RevisionDate(struct zx_hrxml_NonXMLResume_s* x, int n);

int zx_hrxml_NonXMLResume_NUM_TextResume(struct zx_hrxml_NonXMLResume_s* x);
int zx_hrxml_NonXMLResume_NUM_LinkToResume(struct zx_hrxml_NonXMLResume_s* x);
int zx_hrxml_NonXMLResume_NUM_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x);
int zx_hrxml_NonXMLResume_NUM_Comments(struct zx_hrxml_NonXMLResume_s* x);
int zx_hrxml_NonXMLResume_NUM_RevisionDate(struct zx_hrxml_NonXMLResume_s* x);

struct zx_elem_s* zx_hrxml_NonXMLResume_POP_TextResume(struct zx_hrxml_NonXMLResume_s* x);
struct zx_elem_s* zx_hrxml_NonXMLResume_POP_LinkToResume(struct zx_hrxml_NonXMLResume_s* x);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_NonXMLResume_POP_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x);
struct zx_elem_s* zx_hrxml_NonXMLResume_POP_Comments(struct zx_hrxml_NonXMLResume_s* x);
struct zx_elem_s* zx_hrxml_NonXMLResume_POP_RevisionDate(struct zx_hrxml_NonXMLResume_s* x);

void zx_hrxml_NonXMLResume_PUSH_TextResume(struct zx_hrxml_NonXMLResume_s* x, struct zx_elem_s* y);
void zx_hrxml_NonXMLResume_PUSH_LinkToResume(struct zx_hrxml_NonXMLResume_s* x, struct zx_elem_s* y);
void zx_hrxml_NonXMLResume_PUSH_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_NonXMLResume_PUSH_Comments(struct zx_hrxml_NonXMLResume_s* x, struct zx_elem_s* y);
void zx_hrxml_NonXMLResume_PUSH_RevisionDate(struct zx_hrxml_NonXMLResume_s* x, struct zx_elem_s* y);


void zx_hrxml_NonXMLResume_PUT_TextResume(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_NonXMLResume_PUT_LinkToResume(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_NonXMLResume_PUT_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_NonXMLResume_PUT_Comments(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_NonXMLResume_PUT_RevisionDate(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_NonXMLResume_ADD_TextResume(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_NonXMLResume_ADD_LinkToResume(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_NonXMLResume_ADD_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_hrxml_SupportingMaterials_s* z);
void zx_hrxml_NonXMLResume_ADD_Comments(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_NonXMLResume_ADD_RevisionDate(struct zx_hrxml_NonXMLResume_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_NonXMLResume_DEL_TextResume(struct zx_hrxml_NonXMLResume_s* x,int n);
void zx_hrxml_NonXMLResume_DEL_LinkToResume(struct zx_hrxml_NonXMLResume_s* x,int n);
void zx_hrxml_NonXMLResume_DEL_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x, int n);
void zx_hrxml_NonXMLResume_DEL_Comments(struct zx_hrxml_NonXMLResume_s* x,int n);
void zx_hrxml_NonXMLResume_DEL_RevisionDate(struct zx_hrxml_NonXMLResume_s* x,int n);

void zx_hrxml_NonXMLResume_REV_TextResume(struct zx_hrxml_NonXMLResume_s* x);
void zx_hrxml_NonXMLResume_REV_LinkToResume(struct zx_hrxml_NonXMLResume_s* x);
void zx_hrxml_NonXMLResume_REV_SupportingMaterials(struct zx_hrxml_NonXMLResume_s* x);
void zx_hrxml_NonXMLResume_REV_Comments(struct zx_hrxml_NonXMLResume_s* x);
void zx_hrxml_NonXMLResume_REV_RevisionDate(struct zx_hrxml_NonXMLResume_s* x);

#endif
/* -------------------------- hrxml_NumericValue -------------------------- */
/* refby( zx_hrxml_CompetencyEvidence_s zx_hrxml_HighestPossibleValue_s zx_hrxml_LowestPossibleValue_s zx_hrxml_CompetencyWeight_s ) */
#ifndef zx_hrxml_NumericValue_EXT
#define zx_hrxml_NumericValue_EXT
#endif
struct zx_hrxml_NumericValue_s {
  ZX_ELEM_EXT
  zx_hrxml_NumericValue_EXT
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* interval;	/* {0,1} attribute xsd:double */
  struct zx_attr_s* maxValue;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* minValue;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_NumericValue(c, father) (struct zx_hrxml_NumericValue_s*)zx_new_elem((c),(father),zx_hrxml_NumericValue_ELEM)
int zx_DEC_ATTR_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x);
int zx_DEC_ELEM_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_NumericValue_s* zx_DEEP_CLONE_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x);
int zx_WALK_SO_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_NumericValue(struct zx_ctx* c, struct zx_hrxml_NumericValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_NumericValue_GET_description(struct zx_hrxml_NumericValue_s* x);
struct zx_attr_s* zx_hrxml_NumericValue_GET_interval(struct zx_hrxml_NumericValue_s* x);
struct zx_attr_s* zx_hrxml_NumericValue_GET_maxValue(struct zx_hrxml_NumericValue_s* x);
struct zx_attr_s* zx_hrxml_NumericValue_GET_minValue(struct zx_hrxml_NumericValue_s* x);





void zx_hrxml_NumericValue_PUT_description(struct zx_hrxml_NumericValue_s* x, struct zx_attr_s* y);
void zx_hrxml_NumericValue_PUT_interval(struct zx_hrxml_NumericValue_s* x, struct zx_attr_s* y);
void zx_hrxml_NumericValue_PUT_maxValue(struct zx_hrxml_NumericValue_s* x, struct zx_attr_s* y);
void zx_hrxml_NumericValue_PUT_minValue(struct zx_hrxml_NumericValue_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_OrgIndustry -------------------------- */
/* refby( zx_hrxml_PositionHistory_s ) */
#ifndef zx_hrxml_OrgIndustry_EXT
#define zx_hrxml_OrgIndustry_EXT
#endif
struct zx_hrxml_OrgIndustry_s {
  ZX_ELEM_EXT
  zx_hrxml_OrgIndustry_EXT
  struct zx_elem_s* IndustryDescription;	/* {0,1} xsd:string */
  struct zx_hrxml_IndustryCode_s* IndustryCode;	/* {0,1}  */
  struct zx_attr_s* primaryIndicator;	/* {1,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_OrgIndustry(c, father) (struct zx_hrxml_OrgIndustry_s*)zx_new_elem((c),(father),zx_hrxml_OrgIndustry_ELEM)
int zx_DEC_ATTR_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x);
int zx_DEC_ELEM_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrgIndustry_s* zx_DEEP_CLONE_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x);
int zx_WALK_SO_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrgIndustry(struct zx_ctx* c, struct zx_hrxml_OrgIndustry_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OrgIndustry_GET_primaryIndicator(struct zx_hrxml_OrgIndustry_s* x);

struct zx_elem_s* zx_hrxml_OrgIndustry_GET_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x, int n);
struct zx_hrxml_IndustryCode_s* zx_hrxml_OrgIndustry_GET_IndustryCode(struct zx_hrxml_OrgIndustry_s* x, int n);

int zx_hrxml_OrgIndustry_NUM_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x);
int zx_hrxml_OrgIndustry_NUM_IndustryCode(struct zx_hrxml_OrgIndustry_s* x);

struct zx_elem_s* zx_hrxml_OrgIndustry_POP_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x);
struct zx_hrxml_IndustryCode_s* zx_hrxml_OrgIndustry_POP_IndustryCode(struct zx_hrxml_OrgIndustry_s* x);

void zx_hrxml_OrgIndustry_PUSH_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x, struct zx_elem_s* y);
void zx_hrxml_OrgIndustry_PUSH_IndustryCode(struct zx_hrxml_OrgIndustry_s* x, struct zx_hrxml_IndustryCode_s* y);

void zx_hrxml_OrgIndustry_PUT_primaryIndicator(struct zx_hrxml_OrgIndustry_s* x, struct zx_attr_s* y);

void zx_hrxml_OrgIndustry_PUT_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OrgIndustry_PUT_IndustryCode(struct zx_hrxml_OrgIndustry_s* x, int n, struct zx_hrxml_IndustryCode_s* y);

void zx_hrxml_OrgIndustry_ADD_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OrgIndustry_ADD_IndustryCode(struct zx_hrxml_OrgIndustry_s* x, int n, struct zx_hrxml_IndustryCode_s* z);

void zx_hrxml_OrgIndustry_DEL_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x,int n);
void zx_hrxml_OrgIndustry_DEL_IndustryCode(struct zx_hrxml_OrgIndustry_s* x, int n);

void zx_hrxml_OrgIndustry_REV_IndustryDescription(struct zx_hrxml_OrgIndustry_s* x);
void zx_hrxml_OrgIndustry_REV_IndustryCode(struct zx_hrxml_OrgIndustry_s* x);

#endif
/* -------------------------- hrxml_OrgInfo -------------------------- */
/* refby( zx_hrxml_PositionHistory_s ) */
#ifndef zx_hrxml_OrgInfo_EXT
#define zx_hrxml_OrgInfo_EXT
#endif
struct zx_hrxml_OrgInfo_s {
  ZX_ELEM_EXT
  zx_hrxml_OrgInfo_EXT
  struct zx_hrxml_PositionLocation_s* PositionLocation;	/* {0,1}  */
  struct zx_elem_s* WebSite;	/* {0,1} xsd:string */
  struct zx_hrxml_LocationSummary_s* LocationSummary;	/* {0,1}  */
};

#define zx_NEW_hrxml_OrgInfo(c, father) (struct zx_hrxml_OrgInfo_s*)zx_new_elem((c),(father),zx_hrxml_OrgInfo_ELEM)
int zx_DEC_ATTR_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x);
int zx_DEC_ELEM_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrgInfo_s* zx_DEEP_CLONE_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x);
int zx_WALK_SO_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrgInfo(struct zx_ctx* c, struct zx_hrxml_OrgInfo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PositionLocation_s* zx_hrxml_OrgInfo_GET_PositionLocation(struct zx_hrxml_OrgInfo_s* x, int n);
struct zx_elem_s* zx_hrxml_OrgInfo_GET_WebSite(struct zx_hrxml_OrgInfo_s* x, int n);
struct zx_hrxml_LocationSummary_s* zx_hrxml_OrgInfo_GET_LocationSummary(struct zx_hrxml_OrgInfo_s* x, int n);

int zx_hrxml_OrgInfo_NUM_PositionLocation(struct zx_hrxml_OrgInfo_s* x);
int zx_hrxml_OrgInfo_NUM_WebSite(struct zx_hrxml_OrgInfo_s* x);
int zx_hrxml_OrgInfo_NUM_LocationSummary(struct zx_hrxml_OrgInfo_s* x);

struct zx_hrxml_PositionLocation_s* zx_hrxml_OrgInfo_POP_PositionLocation(struct zx_hrxml_OrgInfo_s* x);
struct zx_elem_s* zx_hrxml_OrgInfo_POP_WebSite(struct zx_hrxml_OrgInfo_s* x);
struct zx_hrxml_LocationSummary_s* zx_hrxml_OrgInfo_POP_LocationSummary(struct zx_hrxml_OrgInfo_s* x);

void zx_hrxml_OrgInfo_PUSH_PositionLocation(struct zx_hrxml_OrgInfo_s* x, struct zx_hrxml_PositionLocation_s* y);
void zx_hrxml_OrgInfo_PUSH_WebSite(struct zx_hrxml_OrgInfo_s* x, struct zx_elem_s* y);
void zx_hrxml_OrgInfo_PUSH_LocationSummary(struct zx_hrxml_OrgInfo_s* x, struct zx_hrxml_LocationSummary_s* y);


void zx_hrxml_OrgInfo_PUT_PositionLocation(struct zx_hrxml_OrgInfo_s* x, int n, struct zx_hrxml_PositionLocation_s* y);
void zx_hrxml_OrgInfo_PUT_WebSite(struct zx_hrxml_OrgInfo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OrgInfo_PUT_LocationSummary(struct zx_hrxml_OrgInfo_s* x, int n, struct zx_hrxml_LocationSummary_s* y);

void zx_hrxml_OrgInfo_ADD_PositionLocation(struct zx_hrxml_OrgInfo_s* x, int n, struct zx_hrxml_PositionLocation_s* z);
void zx_hrxml_OrgInfo_ADD_WebSite(struct zx_hrxml_OrgInfo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OrgInfo_ADD_LocationSummary(struct zx_hrxml_OrgInfo_s* x, int n, struct zx_hrxml_LocationSummary_s* z);

void zx_hrxml_OrgInfo_DEL_PositionLocation(struct zx_hrxml_OrgInfo_s* x, int n);
void zx_hrxml_OrgInfo_DEL_WebSite(struct zx_hrxml_OrgInfo_s* x,int n);
void zx_hrxml_OrgInfo_DEL_LocationSummary(struct zx_hrxml_OrgInfo_s* x, int n);

void zx_hrxml_OrgInfo_REV_PositionLocation(struct zx_hrxml_OrgInfo_s* x);
void zx_hrxml_OrgInfo_REV_WebSite(struct zx_hrxml_OrgInfo_s* x);
void zx_hrxml_OrgInfo_REV_LocationSummary(struct zx_hrxml_OrgInfo_s* x);

#endif
/* -------------------------- hrxml_OrgName -------------------------- */
/* refby( zx_hrxml_OrgName_s zx_hrxml_PositionHistory_s ) */
#ifndef zx_hrxml_OrgName_EXT
#define zx_hrxml_OrgName_EXT
#endif
struct zx_hrxml_OrgName_s {
  ZX_ELEM_EXT
  zx_hrxml_OrgName_EXT
  struct zx_elem_s* OrganizationName;	/* {1,1} xsd:string */
  struct zx_hrxml_OrgName_s* OrgName;	/* {0,1}  */
  struct zx_attr_s* organizationType;	/* {0,1} attribute hrxml:OrgTypeStringExtensionType */
};

#define zx_NEW_hrxml_OrgName(c, father) (struct zx_hrxml_OrgName_s*)zx_new_elem((c),(father),zx_hrxml_OrgName_ELEM)
int zx_DEC_ATTR_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x);
int zx_DEC_ELEM_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrgName_s* zx_DEEP_CLONE_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x);
int zx_WALK_SO_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrgName(struct zx_ctx* c, struct zx_hrxml_OrgName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OrgName_GET_organizationType(struct zx_hrxml_OrgName_s* x);

struct zx_elem_s* zx_hrxml_OrgName_GET_OrganizationName(struct zx_hrxml_OrgName_s* x, int n);
struct zx_hrxml_OrgName_s* zx_hrxml_OrgName_GET_OrgName(struct zx_hrxml_OrgName_s* x, int n);

int zx_hrxml_OrgName_NUM_OrganizationName(struct zx_hrxml_OrgName_s* x);
int zx_hrxml_OrgName_NUM_OrgName(struct zx_hrxml_OrgName_s* x);

struct zx_elem_s* zx_hrxml_OrgName_POP_OrganizationName(struct zx_hrxml_OrgName_s* x);
struct zx_hrxml_OrgName_s* zx_hrxml_OrgName_POP_OrgName(struct zx_hrxml_OrgName_s* x);

void zx_hrxml_OrgName_PUSH_OrganizationName(struct zx_hrxml_OrgName_s* x, struct zx_elem_s* y);
void zx_hrxml_OrgName_PUSH_OrgName(struct zx_hrxml_OrgName_s* x, struct zx_hrxml_OrgName_s* y);

void zx_hrxml_OrgName_PUT_organizationType(struct zx_hrxml_OrgName_s* x, struct zx_attr_s* y);

void zx_hrxml_OrgName_PUT_OrganizationName(struct zx_hrxml_OrgName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OrgName_PUT_OrgName(struct zx_hrxml_OrgName_s* x, int n, struct zx_hrxml_OrgName_s* y);

void zx_hrxml_OrgName_ADD_OrganizationName(struct zx_hrxml_OrgName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OrgName_ADD_OrgName(struct zx_hrxml_OrgName_s* x, int n, struct zx_hrxml_OrgName_s* z);

void zx_hrxml_OrgName_DEL_OrganizationName(struct zx_hrxml_OrgName_s* x,int n);
void zx_hrxml_OrgName_DEL_OrgName(struct zx_hrxml_OrgName_s* x, int n);

void zx_hrxml_OrgName_REV_OrganizationName(struct zx_hrxml_OrgName_s* x);
void zx_hrxml_OrgName_REV_OrgName(struct zx_hrxml_OrgName_s* x);

#endif
/* -------------------------- hrxml_Organization -------------------------- */
/* refby( zx_hrxml_Recipient_s ) */
#ifndef zx_hrxml_Organization_EXT
#define zx_hrxml_Organization_EXT
#endif
struct zx_hrxml_Organization_s {
  ZX_ELEM_EXT
  zx_hrxml_Organization_EXT
};

#define zx_NEW_hrxml_Organization(c, father) (struct zx_hrxml_Organization_s*)zx_new_elem((c),(father),zx_hrxml_Organization_ELEM)
int zx_DEC_ATTR_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x);
int zx_DEC_ELEM_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Organization_s* zx_DEEP_CLONE_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x);
int zx_WALK_SO_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Organization(struct zx_ctx* c, struct zx_hrxml_Organization_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_OrganizationId -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_RelatedOrganization_s zx_hrxml_OrganizationalUnit_s ) */
#ifndef zx_hrxml_OrganizationId_EXT
#define zx_hrxml_OrganizationId_EXT
#endif
struct zx_hrxml_OrganizationId_s {
  ZX_ELEM_EXT
  zx_hrxml_OrganizationId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_OrganizationId(c, father) (struct zx_hrxml_OrganizationId_s*)zx_new_elem((c),(father),zx_hrxml_OrganizationId_ELEM)
int zx_DEC_ATTR_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x);
int zx_DEC_ELEM_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrganizationId_s* zx_DEEP_CLONE_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x);
int zx_WALK_SO_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrganizationId(struct zx_ctx* c, struct zx_hrxml_OrganizationId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OrganizationId_GET_idOwner(struct zx_hrxml_OrganizationId_s* x);
struct zx_attr_s* zx_hrxml_OrganizationId_GET_validFrom(struct zx_hrxml_OrganizationId_s* x);
struct zx_attr_s* zx_hrxml_OrganizationId_GET_validTo(struct zx_hrxml_OrganizationId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_OrganizationId_GET_IdValue(struct zx_hrxml_OrganizationId_s* x, int n);

int zx_hrxml_OrganizationId_NUM_IdValue(struct zx_hrxml_OrganizationId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_OrganizationId_POP_IdValue(struct zx_hrxml_OrganizationId_s* x);

void zx_hrxml_OrganizationId_PUSH_IdValue(struct zx_hrxml_OrganizationId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_OrganizationId_PUT_idOwner(struct zx_hrxml_OrganizationId_s* x, struct zx_attr_s* y);
void zx_hrxml_OrganizationId_PUT_validFrom(struct zx_hrxml_OrganizationId_s* x, struct zx_attr_s* y);
void zx_hrxml_OrganizationId_PUT_validTo(struct zx_hrxml_OrganizationId_s* x, struct zx_attr_s* y);

void zx_hrxml_OrganizationId_PUT_IdValue(struct zx_hrxml_OrganizationId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_OrganizationId_ADD_IdValue(struct zx_hrxml_OrganizationId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_OrganizationId_DEL_IdValue(struct zx_hrxml_OrganizationId_s* x, int n);

void zx_hrxml_OrganizationId_REV_IdValue(struct zx_hrxml_OrganizationId_s* x);

#endif
/* -------------------------- hrxml_OrganizationUnit -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s ) */
#ifndef zx_hrxml_OrganizationUnit_EXT
#define zx_hrxml_OrganizationUnit_EXT
#endif
struct zx_hrxml_OrganizationUnit_s {
  ZX_ELEM_EXT
  zx_hrxml_OrganizationUnit_EXT
  struct zx_attr_s* attendanceStatus;	/* {0,1} attribute current */
  struct zx_attr_s* organizationType;	/* {1,1} attribute hrxml:OrgTypeStringExtensionType */
};

#define zx_NEW_hrxml_OrganizationUnit(c, father) (struct zx_hrxml_OrganizationUnit_s*)zx_new_elem((c),(father),zx_hrxml_OrganizationUnit_ELEM)
int zx_DEC_ATTR_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x);
int zx_DEC_ELEM_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrganizationUnit_s* zx_DEEP_CLONE_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x);
int zx_WALK_SO_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrganizationUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationUnit_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OrganizationUnit_GET_attendanceStatus(struct zx_hrxml_OrganizationUnit_s* x);
struct zx_attr_s* zx_hrxml_OrganizationUnit_GET_organizationType(struct zx_hrxml_OrganizationUnit_s* x);





void zx_hrxml_OrganizationUnit_PUT_attendanceStatus(struct zx_hrxml_OrganizationUnit_s* x, struct zx_attr_s* y);
void zx_hrxml_OrganizationUnit_PUT_organizationType(struct zx_hrxml_OrganizationUnit_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_OrganizationalUnit -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_OrganizationalUnit_EXT
#define zx_hrxml_OrganizationalUnit_EXT
#endif
struct zx_hrxml_OrganizationalUnit_s {
  ZX_ELEM_EXT
  zx_hrxml_OrganizationalUnit_EXT
  struct zx_elem_s* OrganizationalUnitName;	/* {0,1} xsd:string */
  struct zx_hrxml_OrganizationalUnitId_s* OrganizationalUnitId;	/* {0,-1}  */
  struct zx_hrxml_OrganizationId_s* OrganizationId;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_IndustryCode_s* IndustryCode;	/* {0,-1}  */
  struct zx_hrxml_AccountingCode_s* AccountingCode;	/* {0,-1}  */
  struct zx_hrxml_WorkSite_s* WorkSite;	/* {0,-1}  */
  struct zx_hrxml_RelatedOrganizationalUnit_s* RelatedOrganizationalUnit;	/* {0,-1}  */
  struct zx_hrxml_PersonMember_s* PersonMember;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* hierarchicalRole;	/* {0,1} attribute hrxml:HierarchicalRoleType */
  struct zx_attr_s* typeOfGroup;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_OrganizationalUnit(c, father) (struct zx_hrxml_OrganizationalUnit_s*)zx_new_elem((c),(father),zx_hrxml_OrganizationalUnit_ELEM)
int zx_DEC_ATTR_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x);
int zx_DEC_ELEM_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrganizationalUnit_s* zx_DEEP_CLONE_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x);
int zx_WALK_SO_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnit_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OrganizationalUnit_GET_hierarchicalRole(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_attr_s* zx_hrxml_OrganizationalUnit_GET_typeOfGroup(struct zx_hrxml_OrganizationalUnit_s* x);

struct zx_elem_s* zx_hrxml_OrganizationalUnit_GET_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_OrganizationalUnitId_s* zx_hrxml_OrganizationalUnit_GET_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_OrganizationId_s* zx_hrxml_OrganizationalUnit_GET_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_OrganizationalUnit_GET_Description(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_IndustryCode_s* zx_hrxml_OrganizationalUnit_GET_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_AccountingCode_s* zx_hrxml_OrganizationalUnit_GET_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_WorkSite_s* zx_hrxml_OrganizationalUnit_GET_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_RelatedOrganizationalUnit_s* zx_hrxml_OrganizationalUnit_GET_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_PersonMember_s* zx_hrxml_OrganizationalUnit_GET_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_OrganizationalUnit_GET_UserArea(struct zx_hrxml_OrganizationalUnit_s* x, int n);

int zx_hrxml_OrganizationalUnit_NUM_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_Description(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x);
int zx_hrxml_OrganizationalUnit_NUM_UserArea(struct zx_hrxml_OrganizationalUnit_s* x);

struct zx_elem_s* zx_hrxml_OrganizationalUnit_POP_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_OrganizationalUnitId_s* zx_hrxml_OrganizationalUnit_POP_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_OrganizationId_s* zx_hrxml_OrganizationalUnit_POP_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_Description_s* zx_hrxml_OrganizationalUnit_POP_Description(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_IndustryCode_s* zx_hrxml_OrganizationalUnit_POP_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_AccountingCode_s* zx_hrxml_OrganizationalUnit_POP_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_WorkSite_s* zx_hrxml_OrganizationalUnit_POP_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_RelatedOrganizationalUnit_s* zx_hrxml_OrganizationalUnit_POP_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_PersonMember_s* zx_hrxml_OrganizationalUnit_POP_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_OrganizationalUnit_POP_UserArea(struct zx_hrxml_OrganizationalUnit_s* x);

void zx_hrxml_OrganizationalUnit_PUSH_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_elem_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_OrganizationalUnitId_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_OrganizationId_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_Description(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_AccountingCode_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_WorkSite_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_RelatedOrganizationalUnit_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_PersonMember_s* y);
void zx_hrxml_OrganizationalUnit_PUSH_UserArea(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_OrganizationalUnit_PUT_hierarchicalRole(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_attr_s* y);
void zx_hrxml_OrganizationalUnit_PUT_typeOfGroup(struct zx_hrxml_OrganizationalUnit_s* x, struct zx_attr_s* y);

void zx_hrxml_OrganizationalUnit_PUT_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OrganizationalUnit_PUT_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationalUnitId_s* y);
void zx_hrxml_OrganizationalUnit_PUT_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationId_s* y);
void zx_hrxml_OrganizationalUnit_PUT_Description(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_OrganizationalUnit_PUT_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_OrganizationalUnit_PUT_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_AccountingCode_s* y);
void zx_hrxml_OrganizationalUnit_PUT_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_WorkSite_s* y);
void zx_hrxml_OrganizationalUnit_PUT_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_RelatedOrganizationalUnit_s* y);
void zx_hrxml_OrganizationalUnit_PUT_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_PersonMember_s* y);
void zx_hrxml_OrganizationalUnit_PUT_UserArea(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_OrganizationalUnit_ADD_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OrganizationalUnit_ADD_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationalUnitId_s* z);
void zx_hrxml_OrganizationalUnit_ADD_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationId_s* z);
void zx_hrxml_OrganizationalUnit_ADD_Description(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_OrganizationalUnit_ADD_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_IndustryCode_s* z);
void zx_hrxml_OrganizationalUnit_ADD_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_AccountingCode_s* z);
void zx_hrxml_OrganizationalUnit_ADD_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_WorkSite_s* z);
void zx_hrxml_OrganizationalUnit_ADD_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_RelatedOrganizationalUnit_s* z);
void zx_hrxml_OrganizationalUnit_ADD_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_PersonMember_s* z);
void zx_hrxml_OrganizationalUnit_ADD_UserArea(struct zx_hrxml_OrganizationalUnit_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_OrganizationalUnit_DEL_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x,int n);
void zx_hrxml_OrganizationalUnit_DEL_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_Description(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x, int n);
void zx_hrxml_OrganizationalUnit_DEL_UserArea(struct zx_hrxml_OrganizationalUnit_s* x, int n);

void zx_hrxml_OrganizationalUnit_REV_OrganizationalUnitName(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_OrganizationalUnitId(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_OrganizationId(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_Description(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_IndustryCode(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_AccountingCode(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_WorkSite(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_RelatedOrganizationalUnit(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_PersonMember(struct zx_hrxml_OrganizationalUnit_s* x);
void zx_hrxml_OrganizationalUnit_REV_UserArea(struct zx_hrxml_OrganizationalUnit_s* x);

#endif
/* -------------------------- hrxml_OrganizationalUnitId -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_OrganizationalUnit_s ) */
#ifndef zx_hrxml_OrganizationalUnitId_EXT
#define zx_hrxml_OrganizationalUnitId_EXT
#endif
struct zx_hrxml_OrganizationalUnitId_s {
  ZX_ELEM_EXT
  zx_hrxml_OrganizationalUnitId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_OrganizationalUnitId(c, father) (struct zx_hrxml_OrganizationalUnitId_s*)zx_new_elem((c),(father),zx_hrxml_OrganizationalUnitId_ELEM)
int zx_DEC_ATTR_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x);
int zx_DEC_ELEM_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OrganizationalUnitId_s* zx_DEEP_CLONE_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x);
int zx_WALK_SO_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OrganizationalUnitId(struct zx_ctx* c, struct zx_hrxml_OrganizationalUnitId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OrganizationalUnitId_GET_idOwner(struct zx_hrxml_OrganizationalUnitId_s* x);
struct zx_attr_s* zx_hrxml_OrganizationalUnitId_GET_validFrom(struct zx_hrxml_OrganizationalUnitId_s* x);
struct zx_attr_s* zx_hrxml_OrganizationalUnitId_GET_validTo(struct zx_hrxml_OrganizationalUnitId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_OrganizationalUnitId_GET_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x, int n);

int zx_hrxml_OrganizationalUnitId_NUM_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_OrganizationalUnitId_POP_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x);

void zx_hrxml_OrganizationalUnitId_PUSH_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_OrganizationalUnitId_PUT_idOwner(struct zx_hrxml_OrganizationalUnitId_s* x, struct zx_attr_s* y);
void zx_hrxml_OrganizationalUnitId_PUT_validFrom(struct zx_hrxml_OrganizationalUnitId_s* x, struct zx_attr_s* y);
void zx_hrxml_OrganizationalUnitId_PUT_validTo(struct zx_hrxml_OrganizationalUnitId_s* x, struct zx_attr_s* y);

void zx_hrxml_OrganizationalUnitId_PUT_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_OrganizationalUnitId_ADD_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_OrganizationalUnitId_DEL_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x, int n);

void zx_hrxml_OrganizationalUnitId_REV_IdValue(struct zx_hrxml_OrganizationalUnitId_s* x);

#endif
/* -------------------------- hrxml_OriginalDate -------------------------- */
/* refby( zx_hrxml_CopyrightDates_s ) */
#ifndef zx_hrxml_OriginalDate_EXT
#define zx_hrxml_OriginalDate_EXT
#endif
struct zx_hrxml_OriginalDate_s {
  ZX_ELEM_EXT
  zx_hrxml_OriginalDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_OriginalDate(c, father) (struct zx_hrxml_OriginalDate_s*)zx_new_elem((c),(father),zx_hrxml_OriginalDate_ELEM)
int zx_DEC_ATTR_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x);
int zx_DEC_ELEM_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OriginalDate_s* zx_DEEP_CLONE_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x);
int zx_WALK_SO_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OriginalDate(struct zx_ctx* c, struct zx_hrxml_OriginalDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OriginalDate_GET_dateDescription(struct zx_hrxml_OriginalDate_s* x);

struct zx_elem_s* zx_hrxml_OriginalDate_GET_AnyDate(struct zx_hrxml_OriginalDate_s* x, int n);
struct zx_elem_s* zx_hrxml_OriginalDate_GET_YearMonth(struct zx_hrxml_OriginalDate_s* x, int n);
struct zx_elem_s* zx_hrxml_OriginalDate_GET_Year(struct zx_hrxml_OriginalDate_s* x, int n);
struct zx_elem_s* zx_hrxml_OriginalDate_GET_MonthDay(struct zx_hrxml_OriginalDate_s* x, int n);
struct zx_elem_s* zx_hrxml_OriginalDate_GET_StringDate(struct zx_hrxml_OriginalDate_s* x, int n);

int zx_hrxml_OriginalDate_NUM_AnyDate(struct zx_hrxml_OriginalDate_s* x);
int zx_hrxml_OriginalDate_NUM_YearMonth(struct zx_hrxml_OriginalDate_s* x);
int zx_hrxml_OriginalDate_NUM_Year(struct zx_hrxml_OriginalDate_s* x);
int zx_hrxml_OriginalDate_NUM_MonthDay(struct zx_hrxml_OriginalDate_s* x);
int zx_hrxml_OriginalDate_NUM_StringDate(struct zx_hrxml_OriginalDate_s* x);

struct zx_elem_s* zx_hrxml_OriginalDate_POP_AnyDate(struct zx_hrxml_OriginalDate_s* x);
struct zx_elem_s* zx_hrxml_OriginalDate_POP_YearMonth(struct zx_hrxml_OriginalDate_s* x);
struct zx_elem_s* zx_hrxml_OriginalDate_POP_Year(struct zx_hrxml_OriginalDate_s* x);
struct zx_elem_s* zx_hrxml_OriginalDate_POP_MonthDay(struct zx_hrxml_OriginalDate_s* x);
struct zx_elem_s* zx_hrxml_OriginalDate_POP_StringDate(struct zx_hrxml_OriginalDate_s* x);

void zx_hrxml_OriginalDate_PUSH_AnyDate(struct zx_hrxml_OriginalDate_s* x, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUSH_YearMonth(struct zx_hrxml_OriginalDate_s* x, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUSH_Year(struct zx_hrxml_OriginalDate_s* x, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUSH_MonthDay(struct zx_hrxml_OriginalDate_s* x, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUSH_StringDate(struct zx_hrxml_OriginalDate_s* x, struct zx_elem_s* y);

void zx_hrxml_OriginalDate_PUT_dateDescription(struct zx_hrxml_OriginalDate_s* x, struct zx_attr_s* y);

void zx_hrxml_OriginalDate_PUT_AnyDate(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUT_YearMonth(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUT_Year(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUT_MonthDay(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OriginalDate_PUT_StringDate(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_OriginalDate_ADD_AnyDate(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OriginalDate_ADD_YearMonth(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OriginalDate_ADD_Year(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OriginalDate_ADD_MonthDay(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OriginalDate_ADD_StringDate(struct zx_hrxml_OriginalDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_OriginalDate_DEL_AnyDate(struct zx_hrxml_OriginalDate_s* x,int n);
void zx_hrxml_OriginalDate_DEL_YearMonth(struct zx_hrxml_OriginalDate_s* x,int n);
void zx_hrxml_OriginalDate_DEL_Year(struct zx_hrxml_OriginalDate_s* x,int n);
void zx_hrxml_OriginalDate_DEL_MonthDay(struct zx_hrxml_OriginalDate_s* x,int n);
void zx_hrxml_OriginalDate_DEL_StringDate(struct zx_hrxml_OriginalDate_s* x,int n);

void zx_hrxml_OriginalDate_REV_AnyDate(struct zx_hrxml_OriginalDate_s* x);
void zx_hrxml_OriginalDate_REV_YearMonth(struct zx_hrxml_OriginalDate_s* x);
void zx_hrxml_OriginalDate_REV_Year(struct zx_hrxml_OriginalDate_s* x);
void zx_hrxml_OriginalDate_REV_MonthDay(struct zx_hrxml_OriginalDate_s* x);
void zx_hrxml_OriginalDate_REV_StringDate(struct zx_hrxml_OriginalDate_s* x);

#endif
/* -------------------------- hrxml_OtherBenefits -------------------------- */
/* refby( zx_hrxml_Benefits_s ) */
#ifndef zx_hrxml_OtherBenefits_EXT
#define zx_hrxml_OtherBenefits_EXT
#endif
struct zx_hrxml_OtherBenefits_s {
  ZX_ELEM_EXT
  zx_hrxml_OtherBenefits_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_OtherBenefits(c, father) (struct zx_hrxml_OtherBenefits_s*)zx_new_elem((c),(father),zx_hrxml_OtherBenefits_ELEM)
int zx_DEC_ATTR_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x);
int zx_DEC_ELEM_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OtherBenefits_s* zx_DEEP_CLONE_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x);
int zx_WALK_SO_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OtherBenefits(struct zx_ctx* c, struct zx_hrxml_OtherBenefits_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OtherBenefits_GET_type(struct zx_hrxml_OtherBenefits_s* x);





void zx_hrxml_OtherBenefits_PUT_type(struct zx_hrxml_OtherBenefits_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_OtherCompensation -------------------------- */
/* refby( zx_hrxml_Compensation_s ) */
#ifndef zx_hrxml_OtherCompensation_EXT
#define zx_hrxml_OtherCompensation_EXT
#endif
struct zx_hrxml_OtherCompensation_s {
  ZX_ELEM_EXT
  zx_hrxml_OtherCompensation_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_OtherCompensation(c, father) (struct zx_hrxml_OtherCompensation_s*)zx_new_elem((c),(father),zx_hrxml_OtherCompensation_ELEM)
int zx_DEC_ATTR_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x);
int zx_DEC_ELEM_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OtherCompensation_s* zx_DEEP_CLONE_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x);
int zx_WALK_SO_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OtherCompensation(struct zx_ctx* c, struct zx_hrxml_OtherCompensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OtherCompensation_GET_type(struct zx_hrxml_OtherCompensation_s* x);
struct zx_attr_s* zx_hrxml_OtherCompensation_GET_validFrom(struct zx_hrxml_OtherCompensation_s* x);
struct zx_attr_s* zx_hrxml_OtherCompensation_GET_validTo(struct zx_hrxml_OtherCompensation_s* x);





void zx_hrxml_OtherCompensation_PUT_type(struct zx_hrxml_OtherCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_OtherCompensation_PUT_validFrom(struct zx_hrxml_OtherCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_OtherCompensation_PUT_validTo(struct zx_hrxml_OtherCompensation_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_OtherDescriptors -------------------------- */
/* refby( zx_hrxml_PersonDescriptors_s ) */
#ifndef zx_hrxml_OtherDescriptors_EXT
#define zx_hrxml_OtherDescriptors_EXT
#endif
struct zx_hrxml_OtherDescriptors_s {
  ZX_ELEM_EXT
  zx_hrxml_OtherDescriptors_EXT
  struct zx_elem_s* Name;	/* {0,1} xsd:string */
  struct zx_elem_s* Applicable;	/* {0,1} xsd:boolean */
  struct zx_elem_s* Value;	/* {0,1} xsd:string */
  struct zx_hrxml_List_s* List;	/* {0,1}  */
};

#define zx_NEW_hrxml_OtherDescriptors(c, father) (struct zx_hrxml_OtherDescriptors_s*)zx_new_elem((c),(father),zx_hrxml_OtherDescriptors_ELEM)
int zx_DEC_ATTR_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x);
int zx_DEC_ELEM_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OtherDescriptors_s* zx_DEEP_CLONE_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x);
int zx_WALK_SO_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OtherDescriptors(struct zx_ctx* c, struct zx_hrxml_OtherDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_OtherDescriptors_GET_Name(struct zx_hrxml_OtherDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherDescriptors_GET_Applicable(struct zx_hrxml_OtherDescriptors_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherDescriptors_GET_Value(struct zx_hrxml_OtherDescriptors_s* x, int n);
struct zx_hrxml_List_s* zx_hrxml_OtherDescriptors_GET_List(struct zx_hrxml_OtherDescriptors_s* x, int n);

int zx_hrxml_OtherDescriptors_NUM_Name(struct zx_hrxml_OtherDescriptors_s* x);
int zx_hrxml_OtherDescriptors_NUM_Applicable(struct zx_hrxml_OtherDescriptors_s* x);
int zx_hrxml_OtherDescriptors_NUM_Value(struct zx_hrxml_OtherDescriptors_s* x);
int zx_hrxml_OtherDescriptors_NUM_List(struct zx_hrxml_OtherDescriptors_s* x);

struct zx_elem_s* zx_hrxml_OtherDescriptors_POP_Name(struct zx_hrxml_OtherDescriptors_s* x);
struct zx_elem_s* zx_hrxml_OtherDescriptors_POP_Applicable(struct zx_hrxml_OtherDescriptors_s* x);
struct zx_elem_s* zx_hrxml_OtherDescriptors_POP_Value(struct zx_hrxml_OtherDescriptors_s* x);
struct zx_hrxml_List_s* zx_hrxml_OtherDescriptors_POP_List(struct zx_hrxml_OtherDescriptors_s* x);

void zx_hrxml_OtherDescriptors_PUSH_Name(struct zx_hrxml_OtherDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherDescriptors_PUSH_Applicable(struct zx_hrxml_OtherDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherDescriptors_PUSH_Value(struct zx_hrxml_OtherDescriptors_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherDescriptors_PUSH_List(struct zx_hrxml_OtherDescriptors_s* x, struct zx_hrxml_List_s* y);


void zx_hrxml_OtherDescriptors_PUT_Name(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherDescriptors_PUT_Applicable(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherDescriptors_PUT_Value(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherDescriptors_PUT_List(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_hrxml_List_s* y);

void zx_hrxml_OtherDescriptors_ADD_Name(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherDescriptors_ADD_Applicable(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherDescriptors_ADD_Value(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherDescriptors_ADD_List(struct zx_hrxml_OtherDescriptors_s* x, int n, struct zx_hrxml_List_s* z);

void zx_hrxml_OtherDescriptors_DEL_Name(struct zx_hrxml_OtherDescriptors_s* x,int n);
void zx_hrxml_OtherDescriptors_DEL_Applicable(struct zx_hrxml_OtherDescriptors_s* x,int n);
void zx_hrxml_OtherDescriptors_DEL_Value(struct zx_hrxml_OtherDescriptors_s* x,int n);
void zx_hrxml_OtherDescriptors_DEL_List(struct zx_hrxml_OtherDescriptors_s* x, int n);

void zx_hrxml_OtherDescriptors_REV_Name(struct zx_hrxml_OtherDescriptors_s* x);
void zx_hrxml_OtherDescriptors_REV_Applicable(struct zx_hrxml_OtherDescriptors_s* x);
void zx_hrxml_OtherDescriptors_REV_Value(struct zx_hrxml_OtherDescriptors_s* x);
void zx_hrxml_OtherDescriptors_REV_List(struct zx_hrxml_OtherDescriptors_s* x);

#endif
/* -------------------------- hrxml_OtherHonors -------------------------- */
/* refby( zx_hrxml_Degree_s ) */
#ifndef zx_hrxml_OtherHonors_EXT
#define zx_hrxml_OtherHonors_EXT
#endif
struct zx_hrxml_OtherHonors_s {
  ZX_ELEM_EXT
  zx_hrxml_OtherHonors_EXT
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_OtherHonors(c, father) (struct zx_hrxml_OtherHonors_s*)zx_new_elem((c),(father),zx_hrxml_OtherHonors_ELEM)
int zx_DEC_ATTR_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x);
int zx_DEC_ELEM_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OtherHonors_s* zx_DEEP_CLONE_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x);
int zx_WALK_SO_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OtherHonors(struct zx_ctx* c, struct zx_hrxml_OtherHonors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OtherHonors_GET_type(struct zx_hrxml_OtherHonors_s* x);





void zx_hrxml_OtherHonors_PUT_type(struct zx_hrxml_OtherHonors_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_OtherPay -------------------------- */
/* refby( zx_hrxml_PrehireRemuneration_s zx_hrxml_RemunerationPackage_s ) */
#ifndef zx_hrxml_OtherPay_EXT
#define zx_hrxml_OtherPay_EXT
#endif
struct zx_hrxml_OtherPay_s {
  ZX_ELEM_EXT
  zx_hrxml_OtherPay_EXT
  struct zx_elem_s* OtherPayAmountMin;	/* {0,1} xsd:decimal */
  struct zx_elem_s* OtherPayAmountMax;	/* {0,1} xsd:decimal */
  struct zx_elem_s* OtherPayCalculation;	/* {0,1} xsd:string */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_attr_s* currencyCode;	/* {0,1} attribute hrxml:CurrencyCodeType */
  struct zx_attr_s* otherInterval;	/* {0,1} attribute hrxml:OtherIntervalType */
  struct zx_attr_s* otherPayType;	/* {0,1} attribute hrxml:OtherPayTypeTypes */
};

#define zx_NEW_hrxml_OtherPay(c, father) (struct zx_hrxml_OtherPay_s*)zx_new_elem((c),(father),zx_hrxml_OtherPay_ELEM)
int zx_DEC_ATTR_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x);
int zx_DEC_ELEM_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OtherPay_s* zx_DEEP_CLONE_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x);
int zx_WALK_SO_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OtherPay(struct zx_ctx* c, struct zx_hrxml_OtherPay_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OtherPay_GET_currencyCode(struct zx_hrxml_OtherPay_s* x);
struct zx_attr_s* zx_hrxml_OtherPay_GET_otherInterval(struct zx_hrxml_OtherPay_s* x);
struct zx_attr_s* zx_hrxml_OtherPay_GET_otherPayType(struct zx_hrxml_OtherPay_s* x);

struct zx_elem_s* zx_hrxml_OtherPay_GET_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPay_GET_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPay_GET_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPay_GET_Comments(struct zx_hrxml_OtherPay_s* x, int n);

int zx_hrxml_OtherPay_NUM_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x);
int zx_hrxml_OtherPay_NUM_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x);
int zx_hrxml_OtherPay_NUM_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x);
int zx_hrxml_OtherPay_NUM_Comments(struct zx_hrxml_OtherPay_s* x);

struct zx_elem_s* zx_hrxml_OtherPay_POP_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x);
struct zx_elem_s* zx_hrxml_OtherPay_POP_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x);
struct zx_elem_s* zx_hrxml_OtherPay_POP_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x);
struct zx_elem_s* zx_hrxml_OtherPay_POP_Comments(struct zx_hrxml_OtherPay_s* x);

void zx_hrxml_OtherPay_PUSH_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPay_PUSH_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPay_PUSH_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPay_PUSH_Comments(struct zx_hrxml_OtherPay_s* x, struct zx_elem_s* y);

void zx_hrxml_OtherPay_PUT_currencyCode(struct zx_hrxml_OtherPay_s* x, struct zx_attr_s* y);
void zx_hrxml_OtherPay_PUT_otherInterval(struct zx_hrxml_OtherPay_s* x, struct zx_attr_s* y);
void zx_hrxml_OtherPay_PUT_otherPayType(struct zx_hrxml_OtherPay_s* x, struct zx_attr_s* y);

void zx_hrxml_OtherPay_PUT_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPay_PUT_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPay_PUT_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPay_PUT_Comments(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_OtherPay_ADD_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPay_ADD_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPay_ADD_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPay_ADD_Comments(struct zx_hrxml_OtherPay_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_OtherPay_DEL_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x,int n);
void zx_hrxml_OtherPay_DEL_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x,int n);
void zx_hrxml_OtherPay_DEL_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x,int n);
void zx_hrxml_OtherPay_DEL_Comments(struct zx_hrxml_OtherPay_s* x,int n);

void zx_hrxml_OtherPay_REV_OtherPayAmountMin(struct zx_hrxml_OtherPay_s* x);
void zx_hrxml_OtherPay_REV_OtherPayAmountMax(struct zx_hrxml_OtherPay_s* x);
void zx_hrxml_OtherPay_REV_OtherPayCalculation(struct zx_hrxml_OtherPay_s* x);
void zx_hrxml_OtherPay_REV_Comments(struct zx_hrxml_OtherPay_s* x);

#endif
/* -------------------------- hrxml_OtherPublication -------------------------- */
/* refby( zx_hrxml_PublicationHistory_s ) */
#ifndef zx_hrxml_OtherPublication_EXT
#define zx_hrxml_OtherPublication_EXT
#endif
struct zx_hrxml_OtherPublication_s {
  ZX_ELEM_EXT
  zx_hrxml_OtherPublication_EXT
  struct zx_elem_s* Title;	/* {1,1} xsd:string */
  struct zx_elem_s* Name;	/* {0,-1} xsd:string */
  struct zx_hrxml_PublicationDate_s* PublicationDate;	/* {0,1}  */
  struct zx_elem_s* Link;	/* {0,-1} InternetWebAddressType */
  struct zx_elem_s* Abstract;	/* {0,1} xsd:string */
  struct zx_hrxml_Copyright_s* Copyright;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* ISSN;	/* {0,1} xsd:string */
  struct zx_elem_s* ISBN;	/* {0,1} xsd:string */
  struct zx_elem_s* NumberOfPages;	/* {0,1} xsd:positiveInteger */
  struct zx_elem_s* PublisherName;	/* {0,1} xsd:string */
  struct zx_elem_s* PublisherLocation;	/* {0,1} xsd:string */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_OtherPublication(c, father) (struct zx_hrxml_OtherPublication_s*)zx_new_elem((c),(father),zx_hrxml_OtherPublication_ELEM)
int zx_DEC_ATTR_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x);
int zx_DEC_ELEM_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_OtherPublication_s* zx_DEEP_CLONE_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x);
int zx_WALK_SO_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_OtherPublication(struct zx_ctx* c, struct zx_hrxml_OtherPublication_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_OtherPublication_GET_type(struct zx_hrxml_OtherPublication_s* x);

struct zx_elem_s* zx_hrxml_OtherPublication_GET_Title(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_Name(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_hrxml_PublicationDate_s* zx_hrxml_OtherPublication_GET_PublicationDate(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_Link(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_Abstract(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_hrxml_Copyright_s* zx_hrxml_OtherPublication_GET_Copyright(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_Comments(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_ISSN(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_ISBN(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_NumberOfPages(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_PublisherName(struct zx_hrxml_OtherPublication_s* x, int n);
struct zx_elem_s* zx_hrxml_OtherPublication_GET_PublisherLocation(struct zx_hrxml_OtherPublication_s* x, int n);

int zx_hrxml_OtherPublication_NUM_Title(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_Name(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_PublicationDate(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_Link(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_Abstract(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_Copyright(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_Comments(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_ISSN(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_ISBN(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_NumberOfPages(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_PublisherName(struct zx_hrxml_OtherPublication_s* x);
int zx_hrxml_OtherPublication_NUM_PublisherLocation(struct zx_hrxml_OtherPublication_s* x);

struct zx_elem_s* zx_hrxml_OtherPublication_POP_Title(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_Name(struct zx_hrxml_OtherPublication_s* x);
struct zx_hrxml_PublicationDate_s* zx_hrxml_OtherPublication_POP_PublicationDate(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_Link(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_Abstract(struct zx_hrxml_OtherPublication_s* x);
struct zx_hrxml_Copyright_s* zx_hrxml_OtherPublication_POP_Copyright(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_Comments(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_ISSN(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_ISBN(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_NumberOfPages(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_PublisherName(struct zx_hrxml_OtherPublication_s* x);
struct zx_elem_s* zx_hrxml_OtherPublication_POP_PublisherLocation(struct zx_hrxml_OtherPublication_s* x);

void zx_hrxml_OtherPublication_PUSH_Title(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_Name(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_PublicationDate(struct zx_hrxml_OtherPublication_s* x, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_OtherPublication_PUSH_Link(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_Abstract(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_Copyright(struct zx_hrxml_OtherPublication_s* x, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_OtherPublication_PUSH_Comments(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_ISSN(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_ISBN(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_NumberOfPages(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_PublisherName(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUSH_PublisherLocation(struct zx_hrxml_OtherPublication_s* x, struct zx_elem_s* y);

void zx_hrxml_OtherPublication_PUT_type(struct zx_hrxml_OtherPublication_s* x, struct zx_attr_s* y);

void zx_hrxml_OtherPublication_PUT_Title(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_Name(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_PublicationDate(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_hrxml_PublicationDate_s* y);
void zx_hrxml_OtherPublication_PUT_Link(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_Abstract(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_Copyright(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_hrxml_Copyright_s* y);
void zx_hrxml_OtherPublication_PUT_Comments(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_ISSN(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_ISBN(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_NumberOfPages(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_PublisherName(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_OtherPublication_PUT_PublisherLocation(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_OtherPublication_ADD_Title(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_Name(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_PublicationDate(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_hrxml_PublicationDate_s* z);
void zx_hrxml_OtherPublication_ADD_Link(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_Abstract(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_Copyright(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_hrxml_Copyright_s* z);
void zx_hrxml_OtherPublication_ADD_Comments(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_ISSN(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_ISBN(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_NumberOfPages(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_PublisherName(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_OtherPublication_ADD_PublisherLocation(struct zx_hrxml_OtherPublication_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_OtherPublication_DEL_Title(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_Name(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_PublicationDate(struct zx_hrxml_OtherPublication_s* x, int n);
void zx_hrxml_OtherPublication_DEL_Link(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_Abstract(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_Copyright(struct zx_hrxml_OtherPublication_s* x, int n);
void zx_hrxml_OtherPublication_DEL_Comments(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_ISSN(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_ISBN(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_NumberOfPages(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_PublisherName(struct zx_hrxml_OtherPublication_s* x,int n);
void zx_hrxml_OtherPublication_DEL_PublisherLocation(struct zx_hrxml_OtherPublication_s* x,int n);

void zx_hrxml_OtherPublication_REV_Title(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_Name(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_PublicationDate(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_Link(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_Abstract(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_Copyright(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_Comments(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_ISSN(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_ISBN(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_NumberOfPages(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_PublisherName(struct zx_hrxml_OtherPublication_s* x);
void zx_hrxml_OtherPublication_REV_PublisherLocation(struct zx_hrxml_OtherPublication_s* x);

#endif
/* -------------------------- hrxml_Pager -------------------------- */
/* refby( zx_hrxml_ContactMethod_s ) */
#ifndef zx_hrxml_Pager_EXT
#define zx_hrxml_Pager_EXT
#endif
struct zx_hrxml_Pager_s {
  ZX_ELEM_EXT
  zx_hrxml_Pager_EXT
  struct zx_elem_s* FormattedNumber;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Pager(c, father) (struct zx_hrxml_Pager_s*)zx_new_elem((c),(father),zx_hrxml_Pager_ELEM)
int zx_DEC_ATTR_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x);
int zx_DEC_ELEM_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Pager_s* zx_DEEP_CLONE_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x);
int zx_WALK_SO_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Pager(struct zx_ctx* c, struct zx_hrxml_Pager_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Pager_GET_FormattedNumber(struct zx_hrxml_Pager_s* x, int n);

int zx_hrxml_Pager_NUM_FormattedNumber(struct zx_hrxml_Pager_s* x);

struct zx_elem_s* zx_hrxml_Pager_POP_FormattedNumber(struct zx_hrxml_Pager_s* x);

void zx_hrxml_Pager_PUSH_FormattedNumber(struct zx_hrxml_Pager_s* x, struct zx_elem_s* y);


void zx_hrxml_Pager_PUT_FormattedNumber(struct zx_hrxml_Pager_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Pager_ADD_FormattedNumber(struct zx_hrxml_Pager_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Pager_DEL_FormattedNumber(struct zx_hrxml_Pager_s* x,int n);

void zx_hrxml_Pager_REV_FormattedNumber(struct zx_hrxml_Pager_s* x);

#endif
/* -------------------------- hrxml_ParkingInstructions -------------------------- */
/* refby( zx_hrxml_WorkSite_s ) */
#ifndef zx_hrxml_ParkingInstructions_EXT
#define zx_hrxml_ParkingInstructions_EXT
#endif
struct zx_hrxml_ParkingInstructions_s {
  ZX_ELEM_EXT
  zx_hrxml_ParkingInstructions_EXT
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_ParkingInstructions(c, father) (struct zx_hrxml_ParkingInstructions_s*)zx_new_elem((c),(father),zx_hrxml_ParkingInstructions_ELEM)
int zx_DEC_ATTR_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x);
int zx_DEC_ELEM_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ParkingInstructions_s* zx_DEEP_CLONE_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x);
int zx_WALK_SO_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ParkingInstructions(struct zx_ctx* c, struct zx_hrxml_ParkingInstructions_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ParkingInstructions_GET_lang(struct zx_hrxml_ParkingInstructions_s* x);





void zx_hrxml_ParkingInstructions_PUT_lang(struct zx_hrxml_ParkingInstructions_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Patent -------------------------- */
/* refby( zx_hrxml_PatentHistory_s ) */
#ifndef zx_hrxml_Patent_EXT
#define zx_hrxml_Patent_EXT
#endif
struct zx_hrxml_Patent_s {
  ZX_ELEM_EXT
  zx_hrxml_Patent_EXT
  struct zx_elem_s* PatentTitle;	/* {0,1} xsd:string */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_Inventors_s* Inventors;	/* {0,1}  */
  struct zx_hrxml_PatentDetail_s* PatentDetail;	/* {0,-1}  */
  struct zx_elem_s* Link;	/* {0,1} InternetWebAddressType */
};

#define zx_NEW_hrxml_Patent(c, father) (struct zx_hrxml_Patent_s*)zx_new_elem((c),(father),zx_hrxml_Patent_ELEM)
int zx_DEC_ATTR_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x);
int zx_DEC_ELEM_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Patent_s* zx_DEEP_CLONE_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x);
int zx_WALK_SO_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Patent(struct zx_ctx* c, struct zx_hrxml_Patent_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Patent_GET_PatentTitle(struct zx_hrxml_Patent_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_Patent_GET_Description(struct zx_hrxml_Patent_s* x, int n);
struct zx_hrxml_Inventors_s* zx_hrxml_Patent_GET_Inventors(struct zx_hrxml_Patent_s* x, int n);
struct zx_hrxml_PatentDetail_s* zx_hrxml_Patent_GET_PatentDetail(struct zx_hrxml_Patent_s* x, int n);
struct zx_elem_s* zx_hrxml_Patent_GET_Link(struct zx_hrxml_Patent_s* x, int n);

int zx_hrxml_Patent_NUM_PatentTitle(struct zx_hrxml_Patent_s* x);
int zx_hrxml_Patent_NUM_Description(struct zx_hrxml_Patent_s* x);
int zx_hrxml_Patent_NUM_Inventors(struct zx_hrxml_Patent_s* x);
int zx_hrxml_Patent_NUM_PatentDetail(struct zx_hrxml_Patent_s* x);
int zx_hrxml_Patent_NUM_Link(struct zx_hrxml_Patent_s* x);

struct zx_elem_s* zx_hrxml_Patent_POP_PatentTitle(struct zx_hrxml_Patent_s* x);
struct zx_hrxml_Description_s* zx_hrxml_Patent_POP_Description(struct zx_hrxml_Patent_s* x);
struct zx_hrxml_Inventors_s* zx_hrxml_Patent_POP_Inventors(struct zx_hrxml_Patent_s* x);
struct zx_hrxml_PatentDetail_s* zx_hrxml_Patent_POP_PatentDetail(struct zx_hrxml_Patent_s* x);
struct zx_elem_s* zx_hrxml_Patent_POP_Link(struct zx_hrxml_Patent_s* x);

void zx_hrxml_Patent_PUSH_PatentTitle(struct zx_hrxml_Patent_s* x, struct zx_elem_s* y);
void zx_hrxml_Patent_PUSH_Description(struct zx_hrxml_Patent_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_Patent_PUSH_Inventors(struct zx_hrxml_Patent_s* x, struct zx_hrxml_Inventors_s* y);
void zx_hrxml_Patent_PUSH_PatentDetail(struct zx_hrxml_Patent_s* x, struct zx_hrxml_PatentDetail_s* y);
void zx_hrxml_Patent_PUSH_Link(struct zx_hrxml_Patent_s* x, struct zx_elem_s* y);


void zx_hrxml_Patent_PUT_PatentTitle(struct zx_hrxml_Patent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Patent_PUT_Description(struct zx_hrxml_Patent_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_Patent_PUT_Inventors(struct zx_hrxml_Patent_s* x, int n, struct zx_hrxml_Inventors_s* y);
void zx_hrxml_Patent_PUT_PatentDetail(struct zx_hrxml_Patent_s* x, int n, struct zx_hrxml_PatentDetail_s* y);
void zx_hrxml_Patent_PUT_Link(struct zx_hrxml_Patent_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Patent_ADD_PatentTitle(struct zx_hrxml_Patent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Patent_ADD_Description(struct zx_hrxml_Patent_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_Patent_ADD_Inventors(struct zx_hrxml_Patent_s* x, int n, struct zx_hrxml_Inventors_s* z);
void zx_hrxml_Patent_ADD_PatentDetail(struct zx_hrxml_Patent_s* x, int n, struct zx_hrxml_PatentDetail_s* z);
void zx_hrxml_Patent_ADD_Link(struct zx_hrxml_Patent_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Patent_DEL_PatentTitle(struct zx_hrxml_Patent_s* x,int n);
void zx_hrxml_Patent_DEL_Description(struct zx_hrxml_Patent_s* x, int n);
void zx_hrxml_Patent_DEL_Inventors(struct zx_hrxml_Patent_s* x, int n);
void zx_hrxml_Patent_DEL_PatentDetail(struct zx_hrxml_Patent_s* x, int n);
void zx_hrxml_Patent_DEL_Link(struct zx_hrxml_Patent_s* x,int n);

void zx_hrxml_Patent_REV_PatentTitle(struct zx_hrxml_Patent_s* x);
void zx_hrxml_Patent_REV_Description(struct zx_hrxml_Patent_s* x);
void zx_hrxml_Patent_REV_Inventors(struct zx_hrxml_Patent_s* x);
void zx_hrxml_Patent_REV_PatentDetail(struct zx_hrxml_Patent_s* x);
void zx_hrxml_Patent_REV_Link(struct zx_hrxml_Patent_s* x);

#endif
/* -------------------------- hrxml_PatentDetail -------------------------- */
/* refby( zx_hrxml_Patent_s ) */
#ifndef zx_hrxml_PatentDetail_EXT
#define zx_hrxml_PatentDetail_EXT
#endif
struct zx_hrxml_PatentDetail_s {
  ZX_ELEM_EXT
  zx_hrxml_PatentDetail_EXT
  struct zx_hrxml_IssuingAuthority_s* IssuingAuthority;	/* {0,1}  */
  struct zx_hrxml_PatentMilestone_s* PatentMilestone;	/* {1,-1}  */
};

#define zx_NEW_hrxml_PatentDetail(c, father) (struct zx_hrxml_PatentDetail_s*)zx_new_elem((c),(father),zx_hrxml_PatentDetail_ELEM)
int zx_DEC_ATTR_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x);
int zx_DEC_ELEM_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PatentDetail_s* zx_DEEP_CLONE_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x);
int zx_WALK_SO_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PatentDetail(struct zx_ctx* c, struct zx_hrxml_PatentDetail_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_IssuingAuthority_s* zx_hrxml_PatentDetail_GET_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x, int n);
struct zx_hrxml_PatentMilestone_s* zx_hrxml_PatentDetail_GET_PatentMilestone(struct zx_hrxml_PatentDetail_s* x, int n);

int zx_hrxml_PatentDetail_NUM_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x);
int zx_hrxml_PatentDetail_NUM_PatentMilestone(struct zx_hrxml_PatentDetail_s* x);

struct zx_hrxml_IssuingAuthority_s* zx_hrxml_PatentDetail_POP_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x);
struct zx_hrxml_PatentMilestone_s* zx_hrxml_PatentDetail_POP_PatentMilestone(struct zx_hrxml_PatentDetail_s* x);

void zx_hrxml_PatentDetail_PUSH_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x, struct zx_hrxml_IssuingAuthority_s* y);
void zx_hrxml_PatentDetail_PUSH_PatentMilestone(struct zx_hrxml_PatentDetail_s* x, struct zx_hrxml_PatentMilestone_s* y);


void zx_hrxml_PatentDetail_PUT_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x, int n, struct zx_hrxml_IssuingAuthority_s* y);
void zx_hrxml_PatentDetail_PUT_PatentMilestone(struct zx_hrxml_PatentDetail_s* x, int n, struct zx_hrxml_PatentMilestone_s* y);

void zx_hrxml_PatentDetail_ADD_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x, int n, struct zx_hrxml_IssuingAuthority_s* z);
void zx_hrxml_PatentDetail_ADD_PatentMilestone(struct zx_hrxml_PatentDetail_s* x, int n, struct zx_hrxml_PatentMilestone_s* z);

void zx_hrxml_PatentDetail_DEL_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x, int n);
void zx_hrxml_PatentDetail_DEL_PatentMilestone(struct zx_hrxml_PatentDetail_s* x, int n);

void zx_hrxml_PatentDetail_REV_IssuingAuthority(struct zx_hrxml_PatentDetail_s* x);
void zx_hrxml_PatentDetail_REV_PatentMilestone(struct zx_hrxml_PatentDetail_s* x);

#endif
/* -------------------------- hrxml_PatentHistory -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_PatentHistory_EXT
#define zx_hrxml_PatentHistory_EXT
#endif
struct zx_hrxml_PatentHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_PatentHistory_EXT
  struct zx_hrxml_Patent_s* Patent;	/* {1,-1}  */
};

#define zx_NEW_hrxml_PatentHistory(c, father) (struct zx_hrxml_PatentHistory_s*)zx_new_elem((c),(father),zx_hrxml_PatentHistory_ELEM)
int zx_DEC_ATTR_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x);
int zx_DEC_ELEM_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PatentHistory_s* zx_DEEP_CLONE_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x);
int zx_WALK_SO_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PatentHistory(struct zx_ctx* c, struct zx_hrxml_PatentHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Patent_s* zx_hrxml_PatentHistory_GET_Patent(struct zx_hrxml_PatentHistory_s* x, int n);

int zx_hrxml_PatentHistory_NUM_Patent(struct zx_hrxml_PatentHistory_s* x);

struct zx_hrxml_Patent_s* zx_hrxml_PatentHistory_POP_Patent(struct zx_hrxml_PatentHistory_s* x);

void zx_hrxml_PatentHistory_PUSH_Patent(struct zx_hrxml_PatentHistory_s* x, struct zx_hrxml_Patent_s* y);


void zx_hrxml_PatentHistory_PUT_Patent(struct zx_hrxml_PatentHistory_s* x, int n, struct zx_hrxml_Patent_s* y);

void zx_hrxml_PatentHistory_ADD_Patent(struct zx_hrxml_PatentHistory_s* x, int n, struct zx_hrxml_Patent_s* z);

void zx_hrxml_PatentHistory_DEL_Patent(struct zx_hrxml_PatentHistory_s* x, int n);

void zx_hrxml_PatentHistory_REV_Patent(struct zx_hrxml_PatentHistory_s* x);

#endif
/* -------------------------- hrxml_PatentMilestone -------------------------- */
/* refby( zx_hrxml_PatentDetail_s ) */
#ifndef zx_hrxml_PatentMilestone_EXT
#define zx_hrxml_PatentMilestone_EXT
#endif
struct zx_hrxml_PatentMilestone_s {
  ZX_ELEM_EXT
  zx_hrxml_PatentMilestone_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_hrxml_Status_s* Status;	/* {0,1}  */
  struct zx_elem_s* Date;	/* {0,1} hrxml:LocalDateType */
};

#define zx_NEW_hrxml_PatentMilestone(c, father) (struct zx_hrxml_PatentMilestone_s*)zx_new_elem((c),(father),zx_hrxml_PatentMilestone_ELEM)
int zx_DEC_ATTR_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x);
int zx_DEC_ELEM_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PatentMilestone_s* zx_DEEP_CLONE_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x);
int zx_WALK_SO_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PatentMilestone(struct zx_ctx* c, struct zx_hrxml_PatentMilestone_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_PatentMilestone_GET_Id(struct zx_hrxml_PatentMilestone_s* x, int n);
struct zx_hrxml_Status_s* zx_hrxml_PatentMilestone_GET_Status(struct zx_hrxml_PatentMilestone_s* x, int n);
struct zx_elem_s* zx_hrxml_PatentMilestone_GET_Date(struct zx_hrxml_PatentMilestone_s* x, int n);

int zx_hrxml_PatentMilestone_NUM_Id(struct zx_hrxml_PatentMilestone_s* x);
int zx_hrxml_PatentMilestone_NUM_Status(struct zx_hrxml_PatentMilestone_s* x);
int zx_hrxml_PatentMilestone_NUM_Date(struct zx_hrxml_PatentMilestone_s* x);

struct zx_hrxml_Id_s* zx_hrxml_PatentMilestone_POP_Id(struct zx_hrxml_PatentMilestone_s* x);
struct zx_hrxml_Status_s* zx_hrxml_PatentMilestone_POP_Status(struct zx_hrxml_PatentMilestone_s* x);
struct zx_elem_s* zx_hrxml_PatentMilestone_POP_Date(struct zx_hrxml_PatentMilestone_s* x);

void zx_hrxml_PatentMilestone_PUSH_Id(struct zx_hrxml_PatentMilestone_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_PatentMilestone_PUSH_Status(struct zx_hrxml_PatentMilestone_s* x, struct zx_hrxml_Status_s* y);
void zx_hrxml_PatentMilestone_PUSH_Date(struct zx_hrxml_PatentMilestone_s* x, struct zx_elem_s* y);


void zx_hrxml_PatentMilestone_PUT_Id(struct zx_hrxml_PatentMilestone_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_PatentMilestone_PUT_Status(struct zx_hrxml_PatentMilestone_s* x, int n, struct zx_hrxml_Status_s* y);
void zx_hrxml_PatentMilestone_PUT_Date(struct zx_hrxml_PatentMilestone_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_PatentMilestone_ADD_Id(struct zx_hrxml_PatentMilestone_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_PatentMilestone_ADD_Status(struct zx_hrxml_PatentMilestone_s* x, int n, struct zx_hrxml_Status_s* z);
void zx_hrxml_PatentMilestone_ADD_Date(struct zx_hrxml_PatentMilestone_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_PatentMilestone_DEL_Id(struct zx_hrxml_PatentMilestone_s* x, int n);
void zx_hrxml_PatentMilestone_DEL_Status(struct zx_hrxml_PatentMilestone_s* x, int n);
void zx_hrxml_PatentMilestone_DEL_Date(struct zx_hrxml_PatentMilestone_s* x,int n);

void zx_hrxml_PatentMilestone_REV_Id(struct zx_hrxml_PatentMilestone_s* x);
void zx_hrxml_PatentMilestone_REV_Status(struct zx_hrxml_PatentMilestone_s* x);
void zx_hrxml_PatentMilestone_REV_Date(struct zx_hrxml_PatentMilestone_s* x);

#endif
/* -------------------------- hrxml_PersonDescriptors -------------------------- */
/* refby( zx_hrxml_PersonalData_s ) */
#ifndef zx_hrxml_PersonDescriptors_EXT
#define zx_hrxml_PersonDescriptors_EXT
#endif
struct zx_hrxml_PersonDescriptors_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonDescriptors_EXT
  struct zx_hrxml_LegalIdentifiers_s* LegalIdentifiers;	/* {0,1}  */
  struct zx_hrxml_DemographicDescriptors_s* DemographicDescriptors;	/* {0,1}  */
  struct zx_hrxml_BiologicalDescriptors_s* BiologicalDescriptors;	/* {0,1}  */
  struct zx_hrxml_SupportingMaterials_s* SupportingMaterials;	/* {0,-1}  */
  struct zx_hrxml_OtherDescriptors_s* OtherDescriptors;	/* {0,0}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,0}  */
};

#define zx_NEW_hrxml_PersonDescriptors(c, father) (struct zx_hrxml_PersonDescriptors_s*)zx_new_elem((c),(father),zx_hrxml_PersonDescriptors_ELEM)
int zx_DEC_ATTR_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x);
int zx_DEC_ELEM_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonDescriptors_s* zx_DEEP_CLONE_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x);
int zx_WALK_SO_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonDescriptors(struct zx_ctx* c, struct zx_hrxml_PersonDescriptors_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_LegalIdentifiers_s* zx_hrxml_PersonDescriptors_GET_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x, int n);
struct zx_hrxml_DemographicDescriptors_s* zx_hrxml_PersonDescriptors_GET_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n);
struct zx_hrxml_BiologicalDescriptors_s* zx_hrxml_PersonDescriptors_GET_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_PersonDescriptors_GET_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x, int n);
struct zx_hrxml_OtherDescriptors_s* zx_hrxml_PersonDescriptors_GET_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_PersonDescriptors_GET_UserArea(struct zx_hrxml_PersonDescriptors_s* x, int n);

int zx_hrxml_PersonDescriptors_NUM_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x);
int zx_hrxml_PersonDescriptors_NUM_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
int zx_hrxml_PersonDescriptors_NUM_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
int zx_hrxml_PersonDescriptors_NUM_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x);
int zx_hrxml_PersonDescriptors_NUM_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
int zx_hrxml_PersonDescriptors_NUM_UserArea(struct zx_hrxml_PersonDescriptors_s* x);

struct zx_hrxml_LegalIdentifiers_s* zx_hrxml_PersonDescriptors_POP_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x);
struct zx_hrxml_DemographicDescriptors_s* zx_hrxml_PersonDescriptors_POP_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
struct zx_hrxml_BiologicalDescriptors_s* zx_hrxml_PersonDescriptors_POP_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_PersonDescriptors_POP_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x);
struct zx_hrxml_OtherDescriptors_s* zx_hrxml_PersonDescriptors_POP_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_PersonDescriptors_POP_UserArea(struct zx_hrxml_PersonDescriptors_s* x);

void zx_hrxml_PersonDescriptors_PUSH_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x, struct zx_hrxml_LegalIdentifiers_s* y);
void zx_hrxml_PersonDescriptors_PUSH_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x, struct zx_hrxml_DemographicDescriptors_s* y);
void zx_hrxml_PersonDescriptors_PUSH_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x, struct zx_hrxml_BiologicalDescriptors_s* y);
void zx_hrxml_PersonDescriptors_PUSH_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_PersonDescriptors_PUSH_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x, struct zx_hrxml_OtherDescriptors_s* y);
void zx_hrxml_PersonDescriptors_PUSH_UserArea(struct zx_hrxml_PersonDescriptors_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_PersonDescriptors_PUT_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_LegalIdentifiers_s* y);
void zx_hrxml_PersonDescriptors_PUT_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_DemographicDescriptors_s* y);
void zx_hrxml_PersonDescriptors_PUT_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_BiologicalDescriptors_s* y);
void zx_hrxml_PersonDescriptors_PUT_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_PersonDescriptors_PUT_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_OtherDescriptors_s* y);
void zx_hrxml_PersonDescriptors_PUT_UserArea(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_PersonDescriptors_ADD_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_LegalIdentifiers_s* z);
void zx_hrxml_PersonDescriptors_ADD_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_DemographicDescriptors_s* z);
void zx_hrxml_PersonDescriptors_ADD_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_BiologicalDescriptors_s* z);
void zx_hrxml_PersonDescriptors_ADD_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_SupportingMaterials_s* z);
void zx_hrxml_PersonDescriptors_ADD_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_OtherDescriptors_s* z);
void zx_hrxml_PersonDescriptors_ADD_UserArea(struct zx_hrxml_PersonDescriptors_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_PersonDescriptors_DEL_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x, int n);
void zx_hrxml_PersonDescriptors_DEL_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n);
void zx_hrxml_PersonDescriptors_DEL_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n);
void zx_hrxml_PersonDescriptors_DEL_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x, int n);
void zx_hrxml_PersonDescriptors_DEL_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x, int n);
void zx_hrxml_PersonDescriptors_DEL_UserArea(struct zx_hrxml_PersonDescriptors_s* x, int n);

void zx_hrxml_PersonDescriptors_REV_LegalIdentifiers(struct zx_hrxml_PersonDescriptors_s* x);
void zx_hrxml_PersonDescriptors_REV_DemographicDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
void zx_hrxml_PersonDescriptors_REV_BiologicalDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
void zx_hrxml_PersonDescriptors_REV_SupportingMaterials(struct zx_hrxml_PersonDescriptors_s* x);
void zx_hrxml_PersonDescriptors_REV_OtherDescriptors(struct zx_hrxml_PersonDescriptors_s* x);
void zx_hrxml_PersonDescriptors_REV_UserArea(struct zx_hrxml_PersonDescriptors_s* x);

#endif
/* -------------------------- hrxml_PersonId -------------------------- */
/* refby( zx_hrxml_PersonalData_s zx_hrxml_PersonMember_s ) */
#ifndef zx_hrxml_PersonId_EXT
#define zx_hrxml_PersonId_EXT
#endif
struct zx_hrxml_PersonId_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_PersonId(c, father) (struct zx_hrxml_PersonId_s*)zx_new_elem((c),(father),zx_hrxml_PersonId_ELEM)
int zx_DEC_ATTR_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x);
int zx_DEC_ELEM_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonId_s* zx_DEEP_CLONE_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x);
int zx_WALK_SO_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonId(struct zx_ctx* c, struct zx_hrxml_PersonId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PersonId_GET_idOwner(struct zx_hrxml_PersonId_s* x);
struct zx_attr_s* zx_hrxml_PersonId_GET_validFrom(struct zx_hrxml_PersonId_s* x);
struct zx_attr_s* zx_hrxml_PersonId_GET_validTo(struct zx_hrxml_PersonId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_PersonId_GET_IdValue(struct zx_hrxml_PersonId_s* x, int n);

int zx_hrxml_PersonId_NUM_IdValue(struct zx_hrxml_PersonId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_PersonId_POP_IdValue(struct zx_hrxml_PersonId_s* x);

void zx_hrxml_PersonId_PUSH_IdValue(struct zx_hrxml_PersonId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_PersonId_PUT_idOwner(struct zx_hrxml_PersonId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonId_PUT_validFrom(struct zx_hrxml_PersonId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonId_PUT_validTo(struct zx_hrxml_PersonId_s* x, struct zx_attr_s* y);

void zx_hrxml_PersonId_PUT_IdValue(struct zx_hrxml_PersonId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_PersonId_ADD_IdValue(struct zx_hrxml_PersonId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_PersonId_DEL_IdValue(struct zx_hrxml_PersonId_s* x, int n);

void zx_hrxml_PersonId_REV_IdValue(struct zx_hrxml_PersonId_s* x);

#endif
/* -------------------------- hrxml_PersonLegalId -------------------------- */
/* refby( zx_hrxml_LegalIdentifiers_s ) */
#ifndef zx_hrxml_PersonLegalId_EXT
#define zx_hrxml_PersonLegalId_EXT
#endif
struct zx_hrxml_PersonLegalId_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonLegalId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* countryCode;	/* {0,1} attribute hrxml:CountryCodeType */
  struct zx_attr_s* documentType;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* idSource;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* issuingRegion;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* jurisdiction;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_PersonLegalId(c, father) (struct zx_hrxml_PersonLegalId_s*)zx_new_elem((c),(father),zx_hrxml_PersonLegalId_ELEM)
int zx_DEC_ATTR_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x);
int zx_DEC_ELEM_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonLegalId_s* zx_DEEP_CLONE_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x);
int zx_WALK_SO_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonLegalId(struct zx_ctx* c, struct zx_hrxml_PersonLegalId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_countryCode(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_documentType(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_idOwner(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_idSource(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_issuingRegion(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_jurisdiction(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_validFrom(struct zx_hrxml_PersonLegalId_s* x);
struct zx_attr_s* zx_hrxml_PersonLegalId_GET_validTo(struct zx_hrxml_PersonLegalId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_PersonLegalId_GET_IdValue(struct zx_hrxml_PersonLegalId_s* x, int n);

int zx_hrxml_PersonLegalId_NUM_IdValue(struct zx_hrxml_PersonLegalId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_PersonLegalId_POP_IdValue(struct zx_hrxml_PersonLegalId_s* x);

void zx_hrxml_PersonLegalId_PUSH_IdValue(struct zx_hrxml_PersonLegalId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_PersonLegalId_PUT_countryCode(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_documentType(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_idOwner(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_idSource(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_issuingRegion(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_jurisdiction(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_validFrom(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);
void zx_hrxml_PersonLegalId_PUT_validTo(struct zx_hrxml_PersonLegalId_s* x, struct zx_attr_s* y);

void zx_hrxml_PersonLegalId_PUT_IdValue(struct zx_hrxml_PersonLegalId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_PersonLegalId_ADD_IdValue(struct zx_hrxml_PersonLegalId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_PersonLegalId_DEL_IdValue(struct zx_hrxml_PersonLegalId_s* x, int n);

void zx_hrxml_PersonLegalId_REV_IdValue(struct zx_hrxml_PersonLegalId_s* x);

#endif
/* -------------------------- hrxml_PersonMember -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_OrganizationalUnit_s ) */
#ifndef zx_hrxml_PersonMember_EXT
#define zx_hrxml_PersonMember_EXT
#endif
struct zx_hrxml_PersonMember_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonMember_EXT
  struct zx_hrxml_PersonName_s* PersonName;	/* {0,1}  */
  struct zx_hrxml_PersonId_s* PersonId;	/* {0,-1}  */
  struct zx_hrxml_PersonRole_s* PersonRole;	/* {0,-1}  */
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
};

#define zx_NEW_hrxml_PersonMember(c, father) (struct zx_hrxml_PersonMember_s*)zx_new_elem((c),(father),zx_hrxml_PersonMember_ELEM)
int zx_DEC_ATTR_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x);
int zx_DEC_ELEM_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonMember_s* zx_DEEP_CLONE_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x);
int zx_WALK_SO_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonMember(struct zx_ctx* c, struct zx_hrxml_PersonMember_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PersonName_s* zx_hrxml_PersonMember_GET_PersonName(struct zx_hrxml_PersonMember_s* x, int n);
struct zx_hrxml_PersonId_s* zx_hrxml_PersonMember_GET_PersonId(struct zx_hrxml_PersonMember_s* x, int n);
struct zx_hrxml_PersonRole_s* zx_hrxml_PersonMember_GET_PersonRole(struct zx_hrxml_PersonMember_s* x, int n);
struct zx_hrxml_ContactMethod_s* zx_hrxml_PersonMember_GET_ContactMethod(struct zx_hrxml_PersonMember_s* x, int n);

int zx_hrxml_PersonMember_NUM_PersonName(struct zx_hrxml_PersonMember_s* x);
int zx_hrxml_PersonMember_NUM_PersonId(struct zx_hrxml_PersonMember_s* x);
int zx_hrxml_PersonMember_NUM_PersonRole(struct zx_hrxml_PersonMember_s* x);
int zx_hrxml_PersonMember_NUM_ContactMethod(struct zx_hrxml_PersonMember_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_PersonMember_POP_PersonName(struct zx_hrxml_PersonMember_s* x);
struct zx_hrxml_PersonId_s* zx_hrxml_PersonMember_POP_PersonId(struct zx_hrxml_PersonMember_s* x);
struct zx_hrxml_PersonRole_s* zx_hrxml_PersonMember_POP_PersonRole(struct zx_hrxml_PersonMember_s* x);
struct zx_hrxml_ContactMethod_s* zx_hrxml_PersonMember_POP_ContactMethod(struct zx_hrxml_PersonMember_s* x);

void zx_hrxml_PersonMember_PUSH_PersonName(struct zx_hrxml_PersonMember_s* x, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_PersonMember_PUSH_PersonId(struct zx_hrxml_PersonMember_s* x, struct zx_hrxml_PersonId_s* y);
void zx_hrxml_PersonMember_PUSH_PersonRole(struct zx_hrxml_PersonMember_s* x, struct zx_hrxml_PersonRole_s* y);
void zx_hrxml_PersonMember_PUSH_ContactMethod(struct zx_hrxml_PersonMember_s* x, struct zx_hrxml_ContactMethod_s* y);


void zx_hrxml_PersonMember_PUT_PersonName(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_PersonMember_PUT_PersonId(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_PersonId_s* y);
void zx_hrxml_PersonMember_PUT_PersonRole(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_PersonRole_s* y);
void zx_hrxml_PersonMember_PUT_ContactMethod(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_ContactMethod_s* y);

void zx_hrxml_PersonMember_ADD_PersonName(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_PersonName_s* z);
void zx_hrxml_PersonMember_ADD_PersonId(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_PersonId_s* z);
void zx_hrxml_PersonMember_ADD_PersonRole(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_PersonRole_s* z);
void zx_hrxml_PersonMember_ADD_ContactMethod(struct zx_hrxml_PersonMember_s* x, int n, struct zx_hrxml_ContactMethod_s* z);

void zx_hrxml_PersonMember_DEL_PersonName(struct zx_hrxml_PersonMember_s* x, int n);
void zx_hrxml_PersonMember_DEL_PersonId(struct zx_hrxml_PersonMember_s* x, int n);
void zx_hrxml_PersonMember_DEL_PersonRole(struct zx_hrxml_PersonMember_s* x, int n);
void zx_hrxml_PersonMember_DEL_ContactMethod(struct zx_hrxml_PersonMember_s* x, int n);

void zx_hrxml_PersonMember_REV_PersonName(struct zx_hrxml_PersonMember_s* x);
void zx_hrxml_PersonMember_REV_PersonId(struct zx_hrxml_PersonMember_s* x);
void zx_hrxml_PersonMember_REV_PersonRole(struct zx_hrxml_PersonMember_s* x);
void zx_hrxml_PersonMember_REV_ContactMethod(struct zx_hrxml_PersonMember_s* x);

#endif
/* -------------------------- hrxml_PersonName -------------------------- */
/* refby( zx_hrxml_Recipient_s zx_hrxml_PersonalData_s zx_hrxml_PersonMember_s zx_hrxml_Reference_s zx_hrxml_ContactInfo_s zx_hrxml_EmployerContactInfo_s ) */
#ifndef zx_hrxml_PersonName_EXT
#define zx_hrxml_PersonName_EXT
#endif
struct zx_hrxml_PersonName_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonName_EXT
  struct zx_elem_s* FormattedName;	/* {0,1} xsd:string */
  struct zx_elem_s* LegalName;	/* {0,0} xsd:string */
  struct zx_elem_s* GivenName;	/* {0,-1} xsd:string */
  struct zx_elem_s* PreferredGivenName;	/* {0,0} xsd:string */
  struct zx_elem_s* MiddleName;	/* {0,0} xsd:string */
  struct zx_hrxml_FamilyName_s* FamilyName;	/* {0,-1}  */
  struct zx_hrxml_Affix_s* Affix;	/* {0,0}  */
  struct zx_hrxml_AlternateScript_s* AlternateScript;	/* {0,0}  */
  struct zx_attr_s* script;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_PersonName(c, father) (struct zx_hrxml_PersonName_s*)zx_new_elem((c),(father),zx_hrxml_PersonName_ELEM)
int zx_DEC_ATTR_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x);
int zx_DEC_ELEM_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonName_s* zx_DEEP_CLONE_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x);
int zx_WALK_SO_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonName(struct zx_ctx* c, struct zx_hrxml_PersonName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PersonName_GET_script(struct zx_hrxml_PersonName_s* x);

struct zx_elem_s* zx_hrxml_PersonName_GET_FormattedName(struct zx_hrxml_PersonName_s* x, int n);
struct zx_elem_s* zx_hrxml_PersonName_GET_LegalName(struct zx_hrxml_PersonName_s* x, int n);
struct zx_elem_s* zx_hrxml_PersonName_GET_GivenName(struct zx_hrxml_PersonName_s* x, int n);
struct zx_elem_s* zx_hrxml_PersonName_GET_PreferredGivenName(struct zx_hrxml_PersonName_s* x, int n);
struct zx_elem_s* zx_hrxml_PersonName_GET_MiddleName(struct zx_hrxml_PersonName_s* x, int n);
struct zx_hrxml_FamilyName_s* zx_hrxml_PersonName_GET_FamilyName(struct zx_hrxml_PersonName_s* x, int n);
struct zx_hrxml_Affix_s* zx_hrxml_PersonName_GET_Affix(struct zx_hrxml_PersonName_s* x, int n);
struct zx_hrxml_AlternateScript_s* zx_hrxml_PersonName_GET_AlternateScript(struct zx_hrxml_PersonName_s* x, int n);

int zx_hrxml_PersonName_NUM_FormattedName(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_LegalName(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_GivenName(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_PreferredGivenName(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_MiddleName(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_FamilyName(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_Affix(struct zx_hrxml_PersonName_s* x);
int zx_hrxml_PersonName_NUM_AlternateScript(struct zx_hrxml_PersonName_s* x);

struct zx_elem_s* zx_hrxml_PersonName_POP_FormattedName(struct zx_hrxml_PersonName_s* x);
struct zx_elem_s* zx_hrxml_PersonName_POP_LegalName(struct zx_hrxml_PersonName_s* x);
struct zx_elem_s* zx_hrxml_PersonName_POP_GivenName(struct zx_hrxml_PersonName_s* x);
struct zx_elem_s* zx_hrxml_PersonName_POP_PreferredGivenName(struct zx_hrxml_PersonName_s* x);
struct zx_elem_s* zx_hrxml_PersonName_POP_MiddleName(struct zx_hrxml_PersonName_s* x);
struct zx_hrxml_FamilyName_s* zx_hrxml_PersonName_POP_FamilyName(struct zx_hrxml_PersonName_s* x);
struct zx_hrxml_Affix_s* zx_hrxml_PersonName_POP_Affix(struct zx_hrxml_PersonName_s* x);
struct zx_hrxml_AlternateScript_s* zx_hrxml_PersonName_POP_AlternateScript(struct zx_hrxml_PersonName_s* x);

void zx_hrxml_PersonName_PUSH_FormattedName(struct zx_hrxml_PersonName_s* x, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUSH_LegalName(struct zx_hrxml_PersonName_s* x, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUSH_GivenName(struct zx_hrxml_PersonName_s* x, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUSH_PreferredGivenName(struct zx_hrxml_PersonName_s* x, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUSH_MiddleName(struct zx_hrxml_PersonName_s* x, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUSH_FamilyName(struct zx_hrxml_PersonName_s* x, struct zx_hrxml_FamilyName_s* y);
void zx_hrxml_PersonName_PUSH_Affix(struct zx_hrxml_PersonName_s* x, struct zx_hrxml_Affix_s* y);
void zx_hrxml_PersonName_PUSH_AlternateScript(struct zx_hrxml_PersonName_s* x, struct zx_hrxml_AlternateScript_s* y);

void zx_hrxml_PersonName_PUT_script(struct zx_hrxml_PersonName_s* x, struct zx_attr_s* y);

void zx_hrxml_PersonName_PUT_FormattedName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUT_LegalName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUT_GivenName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUT_PreferredGivenName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUT_MiddleName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PersonName_PUT_FamilyName(struct zx_hrxml_PersonName_s* x, int n, struct zx_hrxml_FamilyName_s* y);
void zx_hrxml_PersonName_PUT_Affix(struct zx_hrxml_PersonName_s* x, int n, struct zx_hrxml_Affix_s* y);
void zx_hrxml_PersonName_PUT_AlternateScript(struct zx_hrxml_PersonName_s* x, int n, struct zx_hrxml_AlternateScript_s* y);

void zx_hrxml_PersonName_ADD_FormattedName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PersonName_ADD_LegalName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PersonName_ADD_GivenName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PersonName_ADD_PreferredGivenName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PersonName_ADD_MiddleName(struct zx_hrxml_PersonName_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PersonName_ADD_FamilyName(struct zx_hrxml_PersonName_s* x, int n, struct zx_hrxml_FamilyName_s* z);
void zx_hrxml_PersonName_ADD_Affix(struct zx_hrxml_PersonName_s* x, int n, struct zx_hrxml_Affix_s* z);
void zx_hrxml_PersonName_ADD_AlternateScript(struct zx_hrxml_PersonName_s* x, int n, struct zx_hrxml_AlternateScript_s* z);

void zx_hrxml_PersonName_DEL_FormattedName(struct zx_hrxml_PersonName_s* x,int n);
void zx_hrxml_PersonName_DEL_LegalName(struct zx_hrxml_PersonName_s* x,int n);
void zx_hrxml_PersonName_DEL_GivenName(struct zx_hrxml_PersonName_s* x,int n);
void zx_hrxml_PersonName_DEL_PreferredGivenName(struct zx_hrxml_PersonName_s* x,int n);
void zx_hrxml_PersonName_DEL_MiddleName(struct zx_hrxml_PersonName_s* x,int n);
void zx_hrxml_PersonName_DEL_FamilyName(struct zx_hrxml_PersonName_s* x, int n);
void zx_hrxml_PersonName_DEL_Affix(struct zx_hrxml_PersonName_s* x, int n);
void zx_hrxml_PersonName_DEL_AlternateScript(struct zx_hrxml_PersonName_s* x, int n);

void zx_hrxml_PersonName_REV_FormattedName(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_LegalName(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_GivenName(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_PreferredGivenName(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_MiddleName(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_FamilyName(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_Affix(struct zx_hrxml_PersonName_s* x);
void zx_hrxml_PersonName_REV_AlternateScript(struct zx_hrxml_PersonName_s* x);

#endif
/* -------------------------- hrxml_PersonRole -------------------------- */
/* refby( zx_hrxml_PersonMember_s ) */
#ifndef zx_hrxml_PersonRole_EXT
#define zx_hrxml_PersonRole_EXT
#endif
struct zx_hrxml_PersonRole_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonRole_EXT
  struct zx_elem_s* RoleName;	/* {0,1} xsd:string */
  struct zx_hrxml_RoleId_s* RoleId;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_attr_s* leader;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_PersonRole(c, father) (struct zx_hrxml_PersonRole_s*)zx_new_elem((c),(father),zx_hrxml_PersonRole_ELEM)
int zx_DEC_ATTR_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x);
int zx_DEC_ELEM_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonRole_s* zx_DEEP_CLONE_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x);
int zx_WALK_SO_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonRole(struct zx_ctx* c, struct zx_hrxml_PersonRole_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PersonRole_GET_leader(struct zx_hrxml_PersonRole_s* x);

struct zx_elem_s* zx_hrxml_PersonRole_GET_RoleName(struct zx_hrxml_PersonRole_s* x, int n);
struct zx_hrxml_RoleId_s* zx_hrxml_PersonRole_GET_RoleId(struct zx_hrxml_PersonRole_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_PersonRole_GET_Description(struct zx_hrxml_PersonRole_s* x, int n);

int zx_hrxml_PersonRole_NUM_RoleName(struct zx_hrxml_PersonRole_s* x);
int zx_hrxml_PersonRole_NUM_RoleId(struct zx_hrxml_PersonRole_s* x);
int zx_hrxml_PersonRole_NUM_Description(struct zx_hrxml_PersonRole_s* x);

struct zx_elem_s* zx_hrxml_PersonRole_POP_RoleName(struct zx_hrxml_PersonRole_s* x);
struct zx_hrxml_RoleId_s* zx_hrxml_PersonRole_POP_RoleId(struct zx_hrxml_PersonRole_s* x);
struct zx_hrxml_Description_s* zx_hrxml_PersonRole_POP_Description(struct zx_hrxml_PersonRole_s* x);

void zx_hrxml_PersonRole_PUSH_RoleName(struct zx_hrxml_PersonRole_s* x, struct zx_elem_s* y);
void zx_hrxml_PersonRole_PUSH_RoleId(struct zx_hrxml_PersonRole_s* x, struct zx_hrxml_RoleId_s* y);
void zx_hrxml_PersonRole_PUSH_Description(struct zx_hrxml_PersonRole_s* x, struct zx_hrxml_Description_s* y);

void zx_hrxml_PersonRole_PUT_leader(struct zx_hrxml_PersonRole_s* x, struct zx_attr_s* y);

void zx_hrxml_PersonRole_PUT_RoleName(struct zx_hrxml_PersonRole_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PersonRole_PUT_RoleId(struct zx_hrxml_PersonRole_s* x, int n, struct zx_hrxml_RoleId_s* y);
void zx_hrxml_PersonRole_PUT_Description(struct zx_hrxml_PersonRole_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_PersonRole_ADD_RoleName(struct zx_hrxml_PersonRole_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PersonRole_ADD_RoleId(struct zx_hrxml_PersonRole_s* x, int n, struct zx_hrxml_RoleId_s* z);
void zx_hrxml_PersonRole_ADD_Description(struct zx_hrxml_PersonRole_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_PersonRole_DEL_RoleName(struct zx_hrxml_PersonRole_s* x,int n);
void zx_hrxml_PersonRole_DEL_RoleId(struct zx_hrxml_PersonRole_s* x, int n);
void zx_hrxml_PersonRole_DEL_Description(struct zx_hrxml_PersonRole_s* x, int n);

void zx_hrxml_PersonRole_REV_RoleName(struct zx_hrxml_PersonRole_s* x);
void zx_hrxml_PersonRole_REV_RoleId(struct zx_hrxml_PersonRole_s* x);
void zx_hrxml_PersonRole_REV_Description(struct zx_hrxml_PersonRole_s* x);

#endif
/* -------------------------- hrxml_PersonalData -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s ) */
#ifndef zx_hrxml_PersonalData_EXT
#define zx_hrxml_PersonalData_EXT
#endif
struct zx_hrxml_PersonalData_s {
  ZX_ELEM_EXT
  zx_hrxml_PersonalData_EXT
  struct zx_hrxml_PersonId_s* PersonId;	/* {0,1}  */
  struct zx_hrxml_PersonName_s* PersonName;	/* {0,1}  */
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
  struct zx_hrxml_PersonDescriptors_s* PersonDescriptors;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_PersonalData(c, father) (struct zx_hrxml_PersonalData_s*)zx_new_elem((c),(father),zx_hrxml_PersonalData_ELEM)
int zx_DEC_ATTR_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x);
int zx_DEC_ELEM_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PersonalData_s* zx_DEEP_CLONE_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x);
int zx_WALK_SO_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PersonalData(struct zx_ctx* c, struct zx_hrxml_PersonalData_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PersonId_s* zx_hrxml_PersonalData_GET_PersonId(struct zx_hrxml_PersonalData_s* x, int n);
struct zx_hrxml_PersonName_s* zx_hrxml_PersonalData_GET_PersonName(struct zx_hrxml_PersonalData_s* x, int n);
struct zx_hrxml_ContactMethod_s* zx_hrxml_PersonalData_GET_ContactMethod(struct zx_hrxml_PersonalData_s* x, int n);
struct zx_hrxml_PersonDescriptors_s* zx_hrxml_PersonalData_GET_PersonDescriptors(struct zx_hrxml_PersonalData_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_PersonalData_GET_UserArea(struct zx_hrxml_PersonalData_s* x, int n);

int zx_hrxml_PersonalData_NUM_PersonId(struct zx_hrxml_PersonalData_s* x);
int zx_hrxml_PersonalData_NUM_PersonName(struct zx_hrxml_PersonalData_s* x);
int zx_hrxml_PersonalData_NUM_ContactMethod(struct zx_hrxml_PersonalData_s* x);
int zx_hrxml_PersonalData_NUM_PersonDescriptors(struct zx_hrxml_PersonalData_s* x);
int zx_hrxml_PersonalData_NUM_UserArea(struct zx_hrxml_PersonalData_s* x);

struct zx_hrxml_PersonId_s* zx_hrxml_PersonalData_POP_PersonId(struct zx_hrxml_PersonalData_s* x);
struct zx_hrxml_PersonName_s* zx_hrxml_PersonalData_POP_PersonName(struct zx_hrxml_PersonalData_s* x);
struct zx_hrxml_ContactMethod_s* zx_hrxml_PersonalData_POP_ContactMethod(struct zx_hrxml_PersonalData_s* x);
struct zx_hrxml_PersonDescriptors_s* zx_hrxml_PersonalData_POP_PersonDescriptors(struct zx_hrxml_PersonalData_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_PersonalData_POP_UserArea(struct zx_hrxml_PersonalData_s* x);

void zx_hrxml_PersonalData_PUSH_PersonId(struct zx_hrxml_PersonalData_s* x, struct zx_hrxml_PersonId_s* y);
void zx_hrxml_PersonalData_PUSH_PersonName(struct zx_hrxml_PersonalData_s* x, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_PersonalData_PUSH_ContactMethod(struct zx_hrxml_PersonalData_s* x, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_PersonalData_PUSH_PersonDescriptors(struct zx_hrxml_PersonalData_s* x, struct zx_hrxml_PersonDescriptors_s* y);
void zx_hrxml_PersonalData_PUSH_UserArea(struct zx_hrxml_PersonalData_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_PersonalData_PUT_PersonId(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_PersonId_s* y);
void zx_hrxml_PersonalData_PUT_PersonName(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_PersonalData_PUT_ContactMethod(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_PersonalData_PUT_PersonDescriptors(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_PersonDescriptors_s* y);
void zx_hrxml_PersonalData_PUT_UserArea(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_PersonalData_ADD_PersonId(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_PersonId_s* z);
void zx_hrxml_PersonalData_ADD_PersonName(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_PersonName_s* z);
void zx_hrxml_PersonalData_ADD_ContactMethod(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_ContactMethod_s* z);
void zx_hrxml_PersonalData_ADD_PersonDescriptors(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_PersonDescriptors_s* z);
void zx_hrxml_PersonalData_ADD_UserArea(struct zx_hrxml_PersonalData_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_PersonalData_DEL_PersonId(struct zx_hrxml_PersonalData_s* x, int n);
void zx_hrxml_PersonalData_DEL_PersonName(struct zx_hrxml_PersonalData_s* x, int n);
void zx_hrxml_PersonalData_DEL_ContactMethod(struct zx_hrxml_PersonalData_s* x, int n);
void zx_hrxml_PersonalData_DEL_PersonDescriptors(struct zx_hrxml_PersonalData_s* x, int n);
void zx_hrxml_PersonalData_DEL_UserArea(struct zx_hrxml_PersonalData_s* x, int n);

void zx_hrxml_PersonalData_REV_PersonId(struct zx_hrxml_PersonalData_s* x);
void zx_hrxml_PersonalData_REV_PersonName(struct zx_hrxml_PersonalData_s* x);
void zx_hrxml_PersonalData_REV_ContactMethod(struct zx_hrxml_PersonalData_s* x);
void zx_hrxml_PersonalData_REV_PersonDescriptors(struct zx_hrxml_PersonalData_s* x);
void zx_hrxml_PersonalData_REV_UserArea(struct zx_hrxml_PersonalData_s* x);

#endif
/* -------------------------- hrxml_PhysicalLocation -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_PhysicalLocation_EXT
#define zx_hrxml_PhysicalLocation_EXT
#endif
struct zx_hrxml_PhysicalLocation_s {
  ZX_ELEM_EXT
  zx_hrxml_PhysicalLocation_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Name;	/* {0,1} xsd:string */
  struct zx_hrxml_EffectiveDate_s* EffectiveDate;	/* {0,1}  */
  struct zx_hrxml_SpatialLocation_s* SpatialLocation;	/* {0,1} nada */
  struct zx_hrxml_TravelDirections_s* TravelDirections;	/* {0,-1}  */
  struct zx_hrxml_PostalAddress_s* PostalAddress;	/* {0,1} nada */
  struct zx_hrxml_Area_s* Area;	/* {0,-1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_PhysicalLocation(c, father) (struct zx_hrxml_PhysicalLocation_s*)zx_new_elem((c),(father),zx_hrxml_PhysicalLocation_ELEM)
int zx_DEC_ATTR_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x);
int zx_DEC_ELEM_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PhysicalLocation_s* zx_DEEP_CLONE_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x);
int zx_WALK_SO_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PhysicalLocation(struct zx_ctx* c, struct zx_hrxml_PhysicalLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_PhysicalLocation_GET_Id(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_PhysicalLocation_GET_Name(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_hrxml_EffectiveDate_s* zx_hrxml_PhysicalLocation_GET_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_hrxml_SpatialLocation_s* zx_hrxml_PhysicalLocation_GET_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_hrxml_TravelDirections_s* zx_hrxml_PhysicalLocation_GET_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_hrxml_PostalAddress_s* zx_hrxml_PhysicalLocation_GET_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_hrxml_Area_s* zx_hrxml_PhysicalLocation_GET_Area(struct zx_hrxml_PhysicalLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_PhysicalLocation_GET_Comments(struct zx_hrxml_PhysicalLocation_s* x, int n);

int zx_hrxml_PhysicalLocation_NUM_Id(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_Name(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_Area(struct zx_hrxml_PhysicalLocation_s* x);
int zx_hrxml_PhysicalLocation_NUM_Comments(struct zx_hrxml_PhysicalLocation_s* x);

struct zx_hrxml_Id_s* zx_hrxml_PhysicalLocation_POP_Id(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_elem_s* zx_hrxml_PhysicalLocation_POP_Name(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_hrxml_EffectiveDate_s* zx_hrxml_PhysicalLocation_POP_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_hrxml_SpatialLocation_s* zx_hrxml_PhysicalLocation_POP_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_hrxml_TravelDirections_s* zx_hrxml_PhysicalLocation_POP_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_hrxml_PostalAddress_s* zx_hrxml_PhysicalLocation_POP_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_hrxml_Area_s* zx_hrxml_PhysicalLocation_POP_Area(struct zx_hrxml_PhysicalLocation_s* x);
struct zx_elem_s* zx_hrxml_PhysicalLocation_POP_Comments(struct zx_hrxml_PhysicalLocation_s* x);

void zx_hrxml_PhysicalLocation_PUSH_Id(struct zx_hrxml_PhysicalLocation_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_PhysicalLocation_PUSH_Name(struct zx_hrxml_PhysicalLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_PhysicalLocation_PUSH_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x, struct zx_hrxml_EffectiveDate_s* y);
void zx_hrxml_PhysicalLocation_PUSH_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x, struct zx_hrxml_SpatialLocation_s* y);
void zx_hrxml_PhysicalLocation_PUSH_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x, struct zx_hrxml_TravelDirections_s* y);
void zx_hrxml_PhysicalLocation_PUSH_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_PhysicalLocation_PUSH_Area(struct zx_hrxml_PhysicalLocation_s* x, struct zx_hrxml_Area_s* y);
void zx_hrxml_PhysicalLocation_PUSH_Comments(struct zx_hrxml_PhysicalLocation_s* x, struct zx_elem_s* y);


void zx_hrxml_PhysicalLocation_PUT_Id(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_PhysicalLocation_PUT_Name(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PhysicalLocation_PUT_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_EffectiveDate_s* y);
void zx_hrxml_PhysicalLocation_PUT_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_SpatialLocation_s* y);
void zx_hrxml_PhysicalLocation_PUT_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_TravelDirections_s* y);
void zx_hrxml_PhysicalLocation_PUT_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_PhysicalLocation_PUT_Area(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_Area_s* y);
void zx_hrxml_PhysicalLocation_PUT_Comments(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_PhysicalLocation_ADD_Id(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_PhysicalLocation_ADD_Name(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PhysicalLocation_ADD_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_EffectiveDate_s* z);
void zx_hrxml_PhysicalLocation_ADD_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_SpatialLocation_s* z);
void zx_hrxml_PhysicalLocation_ADD_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_TravelDirections_s* z);
void zx_hrxml_PhysicalLocation_ADD_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_PostalAddress_s* z);
void zx_hrxml_PhysicalLocation_ADD_Area(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_hrxml_Area_s* z);
void zx_hrxml_PhysicalLocation_ADD_Comments(struct zx_hrxml_PhysicalLocation_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_PhysicalLocation_DEL_Id(struct zx_hrxml_PhysicalLocation_s* x, int n);
void zx_hrxml_PhysicalLocation_DEL_Name(struct zx_hrxml_PhysicalLocation_s* x,int n);
void zx_hrxml_PhysicalLocation_DEL_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x, int n);
void zx_hrxml_PhysicalLocation_DEL_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x, int n);
void zx_hrxml_PhysicalLocation_DEL_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x, int n);
void zx_hrxml_PhysicalLocation_DEL_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x, int n);
void zx_hrxml_PhysicalLocation_DEL_Area(struct zx_hrxml_PhysicalLocation_s* x, int n);
void zx_hrxml_PhysicalLocation_DEL_Comments(struct zx_hrxml_PhysicalLocation_s* x,int n);

void zx_hrxml_PhysicalLocation_REV_Id(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_Name(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_EffectiveDate(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_SpatialLocation(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_TravelDirections(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_PostalAddress(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_Area(struct zx_hrxml_PhysicalLocation_s* x);
void zx_hrxml_PhysicalLocation_REV_Comments(struct zx_hrxml_PhysicalLocation_s* x);

#endif
/* -------------------------- hrxml_PositionHistory -------------------------- */
/* refby( zx_hrxml_EmployerOrg_s ) */
#ifndef zx_hrxml_PositionHistory_EXT
#define zx_hrxml_PositionHistory_EXT
#endif
struct zx_hrxml_PositionHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_PositionHistory_EXT
  struct zx_elem_s* Title;	/* {0,1} xsd:string */
  struct zx_hrxml_OrgName_s* OrgName;	/* {1,1}  */
  struct zx_hrxml_OrgInfo_s* OrgInfo;	/* {0,-1}  */
  struct zx_hrxml_OrgIndustry_s* OrgIndustry;	/* {0,-1}  */
  struct zx_elem_s* OrgSize;	/* {0,1} xsd:string */
  struct zx_hrxml_Description_s* Description;	/* {1,1}  */
  struct zx_hrxml_StartDate_s* StartDate;	/* {1,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
  struct zx_hrxml_Compensation_s* Compensation;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_hrxml_Verification_s* Verification;	/* {0,1}  */
  struct zx_hrxml_JobLevelInfo_s* JobLevelInfo;	/* {0,-1}  */
  struct zx_hrxml_JobCategory_s* JobCategory;	/* {0,-1}  */
  struct zx_hrxml_Competency_s* Competency;	/* {0,-1} nada */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* currentEmployer;	/* {0,1} attribute xsd:boolean */
  struct zx_attr_s* positionType;	/* {0,1} attribute hrxml:PositionTypexStringPatternExtensionType */
};

#define zx_NEW_hrxml_PositionHistory(c, father) (struct zx_hrxml_PositionHistory_s*)zx_new_elem((c),(father),zx_hrxml_PositionHistory_ELEM)
int zx_DEC_ATTR_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x);
int zx_DEC_ELEM_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PositionHistory_s* zx_DEEP_CLONE_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x);
int zx_WALK_SO_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PositionHistory(struct zx_ctx* c, struct zx_hrxml_PositionHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PositionHistory_GET_currentEmployer(struct zx_hrxml_PositionHistory_s* x);
struct zx_attr_s* zx_hrxml_PositionHistory_GET_positionType(struct zx_hrxml_PositionHistory_s* x);

struct zx_elem_s* zx_hrxml_PositionHistory_GET_Title(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_OrgName_s* zx_hrxml_PositionHistory_GET_OrgName(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_OrgInfo_s* zx_hrxml_PositionHistory_GET_OrgInfo(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_OrgIndustry_s* zx_hrxml_PositionHistory_GET_OrgIndustry(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionHistory_GET_OrgSize(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_PositionHistory_GET_Description(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_StartDate_s* zx_hrxml_PositionHistory_GET_StartDate(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_PositionHistory_GET_EndDate(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_Compensation_s* zx_hrxml_PositionHistory_GET_Compensation(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionHistory_GET_Comments(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_Verification_s* zx_hrxml_PositionHistory_GET_Verification(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_JobLevelInfo_s* zx_hrxml_PositionHistory_GET_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_JobCategory_s* zx_hrxml_PositionHistory_GET_JobCategory(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_Competency_s* zx_hrxml_PositionHistory_GET_Competency(struct zx_hrxml_PositionHistory_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_PositionHistory_GET_UserArea(struct zx_hrxml_PositionHistory_s* x, int n);

int zx_hrxml_PositionHistory_NUM_Title(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_OrgName(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_OrgInfo(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_OrgIndustry(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_OrgSize(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_Description(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_StartDate(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_EndDate(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_Compensation(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_Comments(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_Verification(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_JobCategory(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_Competency(struct zx_hrxml_PositionHistory_s* x);
int zx_hrxml_PositionHistory_NUM_UserArea(struct zx_hrxml_PositionHistory_s* x);

struct zx_elem_s* zx_hrxml_PositionHistory_POP_Title(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_OrgName_s* zx_hrxml_PositionHistory_POP_OrgName(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_OrgInfo_s* zx_hrxml_PositionHistory_POP_OrgInfo(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_OrgIndustry_s* zx_hrxml_PositionHistory_POP_OrgIndustry(struct zx_hrxml_PositionHistory_s* x);
struct zx_elem_s* zx_hrxml_PositionHistory_POP_OrgSize(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_Description_s* zx_hrxml_PositionHistory_POP_Description(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_StartDate_s* zx_hrxml_PositionHistory_POP_StartDate(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_PositionHistory_POP_EndDate(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_Compensation_s* zx_hrxml_PositionHistory_POP_Compensation(struct zx_hrxml_PositionHistory_s* x);
struct zx_elem_s* zx_hrxml_PositionHistory_POP_Comments(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_Verification_s* zx_hrxml_PositionHistory_POP_Verification(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_JobLevelInfo_s* zx_hrxml_PositionHistory_POP_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_JobCategory_s* zx_hrxml_PositionHistory_POP_JobCategory(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_Competency_s* zx_hrxml_PositionHistory_POP_Competency(struct zx_hrxml_PositionHistory_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_PositionHistory_POP_UserArea(struct zx_hrxml_PositionHistory_s* x);

void zx_hrxml_PositionHistory_PUSH_Title(struct zx_hrxml_PositionHistory_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionHistory_PUSH_OrgName(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_OrgName_s* y);
void zx_hrxml_PositionHistory_PUSH_OrgInfo(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_OrgInfo_s* y);
void zx_hrxml_PositionHistory_PUSH_OrgIndustry(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_OrgIndustry_s* y);
void zx_hrxml_PositionHistory_PUSH_OrgSize(struct zx_hrxml_PositionHistory_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionHistory_PUSH_Description(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_PositionHistory_PUSH_StartDate(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_PositionHistory_PUSH_EndDate(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_EndDate_s* y);
void zx_hrxml_PositionHistory_PUSH_Compensation(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_Compensation_s* y);
void zx_hrxml_PositionHistory_PUSH_Comments(struct zx_hrxml_PositionHistory_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionHistory_PUSH_Verification(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_Verification_s* y);
void zx_hrxml_PositionHistory_PUSH_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_JobLevelInfo_s* y);
void zx_hrxml_PositionHistory_PUSH_JobCategory(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_JobCategory_s* y);
void zx_hrxml_PositionHistory_PUSH_Competency(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_Competency_s* y);
void zx_hrxml_PositionHistory_PUSH_UserArea(struct zx_hrxml_PositionHistory_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_PositionHistory_PUT_currentEmployer(struct zx_hrxml_PositionHistory_s* x, struct zx_attr_s* y);
void zx_hrxml_PositionHistory_PUT_positionType(struct zx_hrxml_PositionHistory_s* x, struct zx_attr_s* y);

void zx_hrxml_PositionHistory_PUT_Title(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionHistory_PUT_OrgName(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_OrgName_s* y);
void zx_hrxml_PositionHistory_PUT_OrgInfo(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_OrgInfo_s* y);
void zx_hrxml_PositionHistory_PUT_OrgIndustry(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_OrgIndustry_s* y);
void zx_hrxml_PositionHistory_PUT_OrgSize(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionHistory_PUT_Description(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_PositionHistory_PUT_StartDate(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_PositionHistory_PUT_EndDate(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_EndDate_s* y);
void zx_hrxml_PositionHistory_PUT_Compensation(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Compensation_s* y);
void zx_hrxml_PositionHistory_PUT_Comments(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionHistory_PUT_Verification(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Verification_s* y);
void zx_hrxml_PositionHistory_PUT_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_JobLevelInfo_s* y);
void zx_hrxml_PositionHistory_PUT_JobCategory(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_JobCategory_s* y);
void zx_hrxml_PositionHistory_PUT_Competency(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Competency_s* y);
void zx_hrxml_PositionHistory_PUT_UserArea(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_PositionHistory_ADD_Title(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionHistory_ADD_OrgName(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_OrgName_s* z);
void zx_hrxml_PositionHistory_ADD_OrgInfo(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_OrgInfo_s* z);
void zx_hrxml_PositionHistory_ADD_OrgIndustry(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_OrgIndustry_s* z);
void zx_hrxml_PositionHistory_ADD_OrgSize(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionHistory_ADD_Description(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_PositionHistory_ADD_StartDate(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_PositionHistory_ADD_EndDate(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_EndDate_s* z);
void zx_hrxml_PositionHistory_ADD_Compensation(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Compensation_s* z);
void zx_hrxml_PositionHistory_ADD_Comments(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionHistory_ADD_Verification(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Verification_s* z);
void zx_hrxml_PositionHistory_ADD_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_JobLevelInfo_s* z);
void zx_hrxml_PositionHistory_ADD_JobCategory(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_JobCategory_s* z);
void zx_hrxml_PositionHistory_ADD_Competency(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_Competency_s* z);
void zx_hrxml_PositionHistory_ADD_UserArea(struct zx_hrxml_PositionHistory_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_PositionHistory_DEL_Title(struct zx_hrxml_PositionHistory_s* x,int n);
void zx_hrxml_PositionHistory_DEL_OrgName(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_OrgInfo(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_OrgIndustry(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_OrgSize(struct zx_hrxml_PositionHistory_s* x,int n);
void zx_hrxml_PositionHistory_DEL_Description(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_StartDate(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_EndDate(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_Compensation(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_Comments(struct zx_hrxml_PositionHistory_s* x,int n);
void zx_hrxml_PositionHistory_DEL_Verification(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_JobCategory(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_Competency(struct zx_hrxml_PositionHistory_s* x, int n);
void zx_hrxml_PositionHistory_DEL_UserArea(struct zx_hrxml_PositionHistory_s* x, int n);

void zx_hrxml_PositionHistory_REV_Title(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_OrgName(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_OrgInfo(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_OrgIndustry(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_OrgSize(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_Description(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_StartDate(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_EndDate(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_Compensation(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_Comments(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_Verification(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_JobLevelInfo(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_JobCategory(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_Competency(struct zx_hrxml_PositionHistory_s* x);
void zx_hrxml_PositionHistory_REV_UserArea(struct zx_hrxml_PositionHistory_s* x);

#endif
/* -------------------------- hrxml_PositionLocation -------------------------- */
/* refby( zx_hrxml_OrgInfo_s ) */
#ifndef zx_hrxml_PositionLocation_EXT
#define zx_hrxml_PositionLocation_EXT
#endif
struct zx_hrxml_PositionLocation_s {
  ZX_ELEM_EXT
  zx_hrxml_PositionLocation_EXT
  struct zx_elem_s* CountryCode;	/* {1,1} xsd:string */
  struct zx_elem_s* PostalCode;	/* {0,1} xsd:string */
  struct zx_elem_s* Region;	/* {0,-1} xsd:string */
  struct zx_elem_s* Municipality;	/* {0,1} xsd:string */
  struct zx_hrxml_DeliveryAddress_s* DeliveryAddress;	/* {0,1}  */
  struct zx_hrxml_Recipient_s* Recipient;	/* {0,0}  */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_PositionLocation(c, father) (struct zx_hrxml_PositionLocation_s*)zx_new_elem((c),(father),zx_hrxml_PositionLocation_ELEM)
int zx_DEC_ATTR_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x);
int zx_DEC_ELEM_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PositionLocation_s* zx_DEEP_CLONE_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x);
int zx_WALK_SO_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PositionLocation(struct zx_ctx* c, struct zx_hrxml_PositionLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PositionLocation_GET_type(struct zx_hrxml_PositionLocation_s* x);

struct zx_elem_s* zx_hrxml_PositionLocation_GET_CountryCode(struct zx_hrxml_PositionLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionLocation_GET_PostalCode(struct zx_hrxml_PositionLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionLocation_GET_Region(struct zx_hrxml_PositionLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionLocation_GET_Municipality(struct zx_hrxml_PositionLocation_s* x, int n);
struct zx_hrxml_DeliveryAddress_s* zx_hrxml_PositionLocation_GET_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x, int n);
struct zx_hrxml_Recipient_s* zx_hrxml_PositionLocation_GET_Recipient(struct zx_hrxml_PositionLocation_s* x, int n);

int zx_hrxml_PositionLocation_NUM_CountryCode(struct zx_hrxml_PositionLocation_s* x);
int zx_hrxml_PositionLocation_NUM_PostalCode(struct zx_hrxml_PositionLocation_s* x);
int zx_hrxml_PositionLocation_NUM_Region(struct zx_hrxml_PositionLocation_s* x);
int zx_hrxml_PositionLocation_NUM_Municipality(struct zx_hrxml_PositionLocation_s* x);
int zx_hrxml_PositionLocation_NUM_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x);
int zx_hrxml_PositionLocation_NUM_Recipient(struct zx_hrxml_PositionLocation_s* x);

struct zx_elem_s* zx_hrxml_PositionLocation_POP_CountryCode(struct zx_hrxml_PositionLocation_s* x);
struct zx_elem_s* zx_hrxml_PositionLocation_POP_PostalCode(struct zx_hrxml_PositionLocation_s* x);
struct zx_elem_s* zx_hrxml_PositionLocation_POP_Region(struct zx_hrxml_PositionLocation_s* x);
struct zx_elem_s* zx_hrxml_PositionLocation_POP_Municipality(struct zx_hrxml_PositionLocation_s* x);
struct zx_hrxml_DeliveryAddress_s* zx_hrxml_PositionLocation_POP_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x);
struct zx_hrxml_Recipient_s* zx_hrxml_PositionLocation_POP_Recipient(struct zx_hrxml_PositionLocation_s* x);

void zx_hrxml_PositionLocation_PUSH_CountryCode(struct zx_hrxml_PositionLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUSH_PostalCode(struct zx_hrxml_PositionLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUSH_Region(struct zx_hrxml_PositionLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUSH_Municipality(struct zx_hrxml_PositionLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUSH_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x, struct zx_hrxml_DeliveryAddress_s* y);
void zx_hrxml_PositionLocation_PUSH_Recipient(struct zx_hrxml_PositionLocation_s* x, struct zx_hrxml_Recipient_s* y);

void zx_hrxml_PositionLocation_PUT_type(struct zx_hrxml_PositionLocation_s* x, struct zx_attr_s* y);

void zx_hrxml_PositionLocation_PUT_CountryCode(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUT_PostalCode(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUT_Region(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUT_Municipality(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionLocation_PUT_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_hrxml_DeliveryAddress_s* y);
void zx_hrxml_PositionLocation_PUT_Recipient(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_hrxml_Recipient_s* y);

void zx_hrxml_PositionLocation_ADD_CountryCode(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionLocation_ADD_PostalCode(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionLocation_ADD_Region(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionLocation_ADD_Municipality(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionLocation_ADD_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_hrxml_DeliveryAddress_s* z);
void zx_hrxml_PositionLocation_ADD_Recipient(struct zx_hrxml_PositionLocation_s* x, int n, struct zx_hrxml_Recipient_s* z);

void zx_hrxml_PositionLocation_DEL_CountryCode(struct zx_hrxml_PositionLocation_s* x,int n);
void zx_hrxml_PositionLocation_DEL_PostalCode(struct zx_hrxml_PositionLocation_s* x,int n);
void zx_hrxml_PositionLocation_DEL_Region(struct zx_hrxml_PositionLocation_s* x,int n);
void zx_hrxml_PositionLocation_DEL_Municipality(struct zx_hrxml_PositionLocation_s* x,int n);
void zx_hrxml_PositionLocation_DEL_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x, int n);
void zx_hrxml_PositionLocation_DEL_Recipient(struct zx_hrxml_PositionLocation_s* x, int n);

void zx_hrxml_PositionLocation_REV_CountryCode(struct zx_hrxml_PositionLocation_s* x);
void zx_hrxml_PositionLocation_REV_PostalCode(struct zx_hrxml_PositionLocation_s* x);
void zx_hrxml_PositionLocation_REV_Region(struct zx_hrxml_PositionLocation_s* x);
void zx_hrxml_PositionLocation_REV_Municipality(struct zx_hrxml_PositionLocation_s* x);
void zx_hrxml_PositionLocation_REV_DeliveryAddress(struct zx_hrxml_PositionLocation_s* x);
void zx_hrxml_PositionLocation_REV_Recipient(struct zx_hrxml_PositionLocation_s* x);

#endif
/* -------------------------- hrxml_PositionMatching -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_PositionMatching_EXT
#define zx_hrxml_PositionMatching_EXT
#endif
struct zx_hrxml_PositionMatching_s {
  ZX_ELEM_EXT
  zx_hrxml_PositionMatching_EXT
  struct zx_hrxml_Company_s* Company;	/* {0,-1}  */
  struct zx_elem_s* CompanyScale;	/* {0,-1} hrxml:BasicScaleTypes */
  struct zx_hrxml_IndustryCode_s* IndustryCode;	/* {0,-1}  */
  struct zx_hrxml_PhysicalLocation_s* PhysicalLocation;	/* {0,-1}  */
  struct zx_hrxml_JobCategory_s* JobCategory;	/* {0,-1}  */
  struct zx_elem_s* PositionTitle;	/* {0,-1} xsd:string */
  struct zx_elem_s* PositionClassification;	/* {0,-1} hrxml:BasicPositionClassification */
  struct zx_hrxml_PositionSchedule_s* PositionSchedule;	/* {0,-1}  */
  struct zx_hrxml_Shift_s* Shift;	/* {0,-1}  */
  struct zx_hrxml_Competency_s* Competency;	/* {0,-1} nada */
  struct zx_hrxml_RemunerationPackage_s* RemunerationPackage;	/* {0,1}  */
  struct zx_elem_s* WorkStyle;	/* {0,-1} hrxml:BasicWorkStyleTypes */
  struct zx_hrxml_DressCode_s* DressCode;	/* {0,-1}  */
  struct zx_hrxml_Travel_s* Travel;	/* {0,1}  */
  struct zx_hrxml_Relocation_s* Relocation;	/* {0,1}  */
  struct zx_hrxml_PreferredLanguage_s* PreferredLanguage;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_PositionMatching(c, father) (struct zx_hrxml_PositionMatching_s*)zx_new_elem((c),(father),zx_hrxml_PositionMatching_ELEM)
int zx_DEC_ATTR_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x);
int zx_DEC_ELEM_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PositionMatching_s* zx_DEEP_CLONE_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x);
int zx_WALK_SO_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PositionMatching(struct zx_ctx* c, struct zx_hrxml_PositionMatching_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Company_s* zx_hrxml_PositionMatching_GET_Company(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionMatching_GET_CompanyScale(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_IndustryCode_s* zx_hrxml_PositionMatching_GET_IndustryCode(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_PhysicalLocation_s* zx_hrxml_PositionMatching_GET_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_JobCategory_s* zx_hrxml_PositionMatching_GET_JobCategory(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionMatching_GET_PositionTitle(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionMatching_GET_PositionClassification(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_PositionSchedule_s* zx_hrxml_PositionMatching_GET_PositionSchedule(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_Shift_s* zx_hrxml_PositionMatching_GET_Shift(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_Competency_s* zx_hrxml_PositionMatching_GET_Competency(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_RemunerationPackage_s* zx_hrxml_PositionMatching_GET_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionMatching_GET_WorkStyle(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_DressCode_s* zx_hrxml_PositionMatching_GET_DressCode(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_Travel_s* zx_hrxml_PositionMatching_GET_Travel(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_Relocation_s* zx_hrxml_PositionMatching_GET_Relocation(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_PreferredLanguage_s* zx_hrxml_PositionMatching_GET_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_PositionMatching_GET_UserArea(struct zx_hrxml_PositionMatching_s* x, int n);

int zx_hrxml_PositionMatching_NUM_Company(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_CompanyScale(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_IndustryCode(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_JobCategory(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_PositionTitle(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_PositionClassification(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_PositionSchedule(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_Shift(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_Competency(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_WorkStyle(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_DressCode(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_Travel(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_Relocation(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x);
int zx_hrxml_PositionMatching_NUM_UserArea(struct zx_hrxml_PositionMatching_s* x);

struct zx_hrxml_Company_s* zx_hrxml_PositionMatching_POP_Company(struct zx_hrxml_PositionMatching_s* x);
struct zx_elem_s* zx_hrxml_PositionMatching_POP_CompanyScale(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_IndustryCode_s* zx_hrxml_PositionMatching_POP_IndustryCode(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_PhysicalLocation_s* zx_hrxml_PositionMatching_POP_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_JobCategory_s* zx_hrxml_PositionMatching_POP_JobCategory(struct zx_hrxml_PositionMatching_s* x);
struct zx_elem_s* zx_hrxml_PositionMatching_POP_PositionTitle(struct zx_hrxml_PositionMatching_s* x);
struct zx_elem_s* zx_hrxml_PositionMatching_POP_PositionClassification(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_PositionSchedule_s* zx_hrxml_PositionMatching_POP_PositionSchedule(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_Shift_s* zx_hrxml_PositionMatching_POP_Shift(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_Competency_s* zx_hrxml_PositionMatching_POP_Competency(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_RemunerationPackage_s* zx_hrxml_PositionMatching_POP_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x);
struct zx_elem_s* zx_hrxml_PositionMatching_POP_WorkStyle(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_DressCode_s* zx_hrxml_PositionMatching_POP_DressCode(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_Travel_s* zx_hrxml_PositionMatching_POP_Travel(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_Relocation_s* zx_hrxml_PositionMatching_POP_Relocation(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_PreferredLanguage_s* zx_hrxml_PositionMatching_POP_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_PositionMatching_POP_UserArea(struct zx_hrxml_PositionMatching_s* x);

void zx_hrxml_PositionMatching_PUSH_Company(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_Company_s* y);
void zx_hrxml_PositionMatching_PUSH_CompanyScale(struct zx_hrxml_PositionMatching_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUSH_IndustryCode(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_PositionMatching_PUSH_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_PhysicalLocation_s* y);
void zx_hrxml_PositionMatching_PUSH_JobCategory(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_JobCategory_s* y);
void zx_hrxml_PositionMatching_PUSH_PositionTitle(struct zx_hrxml_PositionMatching_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUSH_PositionClassification(struct zx_hrxml_PositionMatching_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUSH_PositionSchedule(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_PositionSchedule_s* y);
void zx_hrxml_PositionMatching_PUSH_Shift(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_Shift_s* y);
void zx_hrxml_PositionMatching_PUSH_Competency(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_Competency_s* y);
void zx_hrxml_PositionMatching_PUSH_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_RemunerationPackage_s* y);
void zx_hrxml_PositionMatching_PUSH_WorkStyle(struct zx_hrxml_PositionMatching_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUSH_DressCode(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_DressCode_s* y);
void zx_hrxml_PositionMatching_PUSH_Travel(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_Travel_s* y);
void zx_hrxml_PositionMatching_PUSH_Relocation(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_Relocation_s* y);
void zx_hrxml_PositionMatching_PUSH_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_PreferredLanguage_s* y);
void zx_hrxml_PositionMatching_PUSH_UserArea(struct zx_hrxml_PositionMatching_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_PositionMatching_PUT_Company(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Company_s* y);
void zx_hrxml_PositionMatching_PUT_CompanyScale(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUT_IndustryCode(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_PositionMatching_PUT_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_PhysicalLocation_s* y);
void zx_hrxml_PositionMatching_PUT_JobCategory(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_JobCategory_s* y);
void zx_hrxml_PositionMatching_PUT_PositionTitle(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUT_PositionClassification(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUT_PositionSchedule(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_PositionSchedule_s* y);
void zx_hrxml_PositionMatching_PUT_Shift(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Shift_s* y);
void zx_hrxml_PositionMatching_PUT_Competency(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Competency_s* y);
void zx_hrxml_PositionMatching_PUT_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_RemunerationPackage_s* y);
void zx_hrxml_PositionMatching_PUT_WorkStyle(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionMatching_PUT_DressCode(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_DressCode_s* y);
void zx_hrxml_PositionMatching_PUT_Travel(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Travel_s* y);
void zx_hrxml_PositionMatching_PUT_Relocation(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Relocation_s* y);
void zx_hrxml_PositionMatching_PUT_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_PreferredLanguage_s* y);
void zx_hrxml_PositionMatching_PUT_UserArea(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_PositionMatching_ADD_Company(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Company_s* z);
void zx_hrxml_PositionMatching_ADD_CompanyScale(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionMatching_ADD_IndustryCode(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_IndustryCode_s* z);
void zx_hrxml_PositionMatching_ADD_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_PhysicalLocation_s* z);
void zx_hrxml_PositionMatching_ADD_JobCategory(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_JobCategory_s* z);
void zx_hrxml_PositionMatching_ADD_PositionTitle(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionMatching_ADD_PositionClassification(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionMatching_ADD_PositionSchedule(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_PositionSchedule_s* z);
void zx_hrxml_PositionMatching_ADD_Shift(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Shift_s* z);
void zx_hrxml_PositionMatching_ADD_Competency(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Competency_s* z);
void zx_hrxml_PositionMatching_ADD_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_RemunerationPackage_s* z);
void zx_hrxml_PositionMatching_ADD_WorkStyle(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionMatching_ADD_DressCode(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_DressCode_s* z);
void zx_hrxml_PositionMatching_ADD_Travel(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Travel_s* z);
void zx_hrxml_PositionMatching_ADD_Relocation(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_Relocation_s* z);
void zx_hrxml_PositionMatching_ADD_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_PreferredLanguage_s* z);
void zx_hrxml_PositionMatching_ADD_UserArea(struct zx_hrxml_PositionMatching_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_PositionMatching_DEL_Company(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_CompanyScale(struct zx_hrxml_PositionMatching_s* x,int n);
void zx_hrxml_PositionMatching_DEL_IndustryCode(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_JobCategory(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_PositionTitle(struct zx_hrxml_PositionMatching_s* x,int n);
void zx_hrxml_PositionMatching_DEL_PositionClassification(struct zx_hrxml_PositionMatching_s* x,int n);
void zx_hrxml_PositionMatching_DEL_PositionSchedule(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_Shift(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_Competency(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_WorkStyle(struct zx_hrxml_PositionMatching_s* x,int n);
void zx_hrxml_PositionMatching_DEL_DressCode(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_Travel(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_Relocation(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x, int n);
void zx_hrxml_PositionMatching_DEL_UserArea(struct zx_hrxml_PositionMatching_s* x, int n);

void zx_hrxml_PositionMatching_REV_Company(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_CompanyScale(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_IndustryCode(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_PhysicalLocation(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_JobCategory(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_PositionTitle(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_PositionClassification(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_PositionSchedule(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_Shift(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_Competency(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_RemunerationPackage(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_WorkStyle(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_DressCode(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_Travel(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_Relocation(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_PreferredLanguage(struct zx_hrxml_PositionMatching_s* x);
void zx_hrxml_PositionMatching_REV_UserArea(struct zx_hrxml_PositionMatching_s* x);

#endif
/* -------------------------- hrxml_PositionPosting -------------------------- */
/* refby( zx_hrxml_RelatedPositionPostings_s ) */
#ifndef zx_hrxml_PositionPosting_EXT
#define zx_hrxml_PositionPosting_EXT
#endif
struct zx_hrxml_PositionPosting_s {
  ZX_ELEM_EXT
  zx_hrxml_PositionPosting_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Title;	/* {0,1} xsd:string */
  struct zx_elem_s* Link;	/* {0,1} InternetWebAddressType */
  struct zx_hrxml_SearchCriteria_s* SearchCriteria;	/* {0,1} nada */
  struct zx_hrxml_SearchResult_s* SearchResult;	/* {0,1} nada */
};

#define zx_NEW_hrxml_PositionPosting(c, father) (struct zx_hrxml_PositionPosting_s*)zx_new_elem((c),(father),zx_hrxml_PositionPosting_ELEM)
int zx_DEC_ATTR_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x);
int zx_DEC_ELEM_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PositionPosting_s* zx_DEEP_CLONE_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x);
int zx_WALK_SO_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PositionPosting(struct zx_ctx* c, struct zx_hrxml_PositionPosting_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_PositionPosting_GET_Id(struct zx_hrxml_PositionPosting_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionPosting_GET_Title(struct zx_hrxml_PositionPosting_s* x, int n);
struct zx_elem_s* zx_hrxml_PositionPosting_GET_Link(struct zx_hrxml_PositionPosting_s* x, int n);
struct zx_hrxml_SearchCriteria_s* zx_hrxml_PositionPosting_GET_SearchCriteria(struct zx_hrxml_PositionPosting_s* x, int n);
struct zx_hrxml_SearchResult_s* zx_hrxml_PositionPosting_GET_SearchResult(struct zx_hrxml_PositionPosting_s* x, int n);

int zx_hrxml_PositionPosting_NUM_Id(struct zx_hrxml_PositionPosting_s* x);
int zx_hrxml_PositionPosting_NUM_Title(struct zx_hrxml_PositionPosting_s* x);
int zx_hrxml_PositionPosting_NUM_Link(struct zx_hrxml_PositionPosting_s* x);
int zx_hrxml_PositionPosting_NUM_SearchCriteria(struct zx_hrxml_PositionPosting_s* x);
int zx_hrxml_PositionPosting_NUM_SearchResult(struct zx_hrxml_PositionPosting_s* x);

struct zx_hrxml_Id_s* zx_hrxml_PositionPosting_POP_Id(struct zx_hrxml_PositionPosting_s* x);
struct zx_elem_s* zx_hrxml_PositionPosting_POP_Title(struct zx_hrxml_PositionPosting_s* x);
struct zx_elem_s* zx_hrxml_PositionPosting_POP_Link(struct zx_hrxml_PositionPosting_s* x);
struct zx_hrxml_SearchCriteria_s* zx_hrxml_PositionPosting_POP_SearchCriteria(struct zx_hrxml_PositionPosting_s* x);
struct zx_hrxml_SearchResult_s* zx_hrxml_PositionPosting_POP_SearchResult(struct zx_hrxml_PositionPosting_s* x);

void zx_hrxml_PositionPosting_PUSH_Id(struct zx_hrxml_PositionPosting_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_PositionPosting_PUSH_Title(struct zx_hrxml_PositionPosting_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionPosting_PUSH_Link(struct zx_hrxml_PositionPosting_s* x, struct zx_elem_s* y);
void zx_hrxml_PositionPosting_PUSH_SearchCriteria(struct zx_hrxml_PositionPosting_s* x, struct zx_hrxml_SearchCriteria_s* y);
void zx_hrxml_PositionPosting_PUSH_SearchResult(struct zx_hrxml_PositionPosting_s* x, struct zx_hrxml_SearchResult_s* y);


void zx_hrxml_PositionPosting_PUT_Id(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_PositionPosting_PUT_Title(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionPosting_PUT_Link(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PositionPosting_PUT_SearchCriteria(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_hrxml_SearchCriteria_s* y);
void zx_hrxml_PositionPosting_PUT_SearchResult(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_hrxml_SearchResult_s* y);

void zx_hrxml_PositionPosting_ADD_Id(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_PositionPosting_ADD_Title(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionPosting_ADD_Link(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PositionPosting_ADD_SearchCriteria(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_hrxml_SearchCriteria_s* z);
void zx_hrxml_PositionPosting_ADD_SearchResult(struct zx_hrxml_PositionPosting_s* x, int n, struct zx_hrxml_SearchResult_s* z);

void zx_hrxml_PositionPosting_DEL_Id(struct zx_hrxml_PositionPosting_s* x, int n);
void zx_hrxml_PositionPosting_DEL_Title(struct zx_hrxml_PositionPosting_s* x,int n);
void zx_hrxml_PositionPosting_DEL_Link(struct zx_hrxml_PositionPosting_s* x,int n);
void zx_hrxml_PositionPosting_DEL_SearchCriteria(struct zx_hrxml_PositionPosting_s* x, int n);
void zx_hrxml_PositionPosting_DEL_SearchResult(struct zx_hrxml_PositionPosting_s* x, int n);

void zx_hrxml_PositionPosting_REV_Id(struct zx_hrxml_PositionPosting_s* x);
void zx_hrxml_PositionPosting_REV_Title(struct zx_hrxml_PositionPosting_s* x);
void zx_hrxml_PositionPosting_REV_Link(struct zx_hrxml_PositionPosting_s* x);
void zx_hrxml_PositionPosting_REV_SearchCriteria(struct zx_hrxml_PositionPosting_s* x);
void zx_hrxml_PositionPosting_REV_SearchResult(struct zx_hrxml_PositionPosting_s* x);

#endif
/* -------------------------- hrxml_PositionSchedule -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_PositionSchedule_EXT
#define zx_hrxml_PositionSchedule_EXT
#endif
struct zx_hrxml_PositionSchedule_s {
  ZX_ELEM_EXT
  zx_hrxml_PositionSchedule_EXT
  struct zx_attr_s* percentage;	/* {0,1} attribute xsd:float */
};

#define zx_NEW_hrxml_PositionSchedule(c, father) (struct zx_hrxml_PositionSchedule_s*)zx_new_elem((c),(father),zx_hrxml_PositionSchedule_ELEM)
int zx_DEC_ATTR_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x);
int zx_DEC_ELEM_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PositionSchedule_s* zx_DEEP_CLONE_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x);
int zx_WALK_SO_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PositionSchedule(struct zx_ctx* c, struct zx_hrxml_PositionSchedule_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PositionSchedule_GET_percentage(struct zx_hrxml_PositionSchedule_s* x);





void zx_hrxml_PositionSchedule_PUT_percentage(struct zx_hrxml_PositionSchedule_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_PostalAddress -------------------------- */
/* refby( zx_hrxml_WorkSite_s zx_hrxml_SEPPhysicalLocation_s zx_hrxml_SchoolOrInstitution_s zx_hrxml_ContactMethod_s zx_hrxml_PhysicalLocation_s ) */
#ifndef zx_hrxml_PostalAddress_EXT
#define zx_hrxml_PostalAddress_EXT
#endif
struct zx_hrxml_PostalAddress_s {
  ZX_ELEM_EXT
  zx_hrxml_PostalAddress_EXT
  struct zx_elem_s* CountryCode;	/* {1,1} xsd:string */
  struct zx_elem_s* PostalCode;	/* {0,1} xsd:string */
  struct zx_elem_s* Region;	/* {0,-1} xsd:string */
  struct zx_elem_s* Municipality;	/* {0,1} xsd:string */
  struct zx_hrxml_DeliveryAddress_s* DeliveryAddress;	/* {0,1}  */
  struct zx_hrxml_Recipient_s* Recipient;	/* {0,0}  */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_PostalAddress(c, father) (struct zx_hrxml_PostalAddress_s*)zx_new_elem((c),(father),zx_hrxml_PostalAddress_ELEM)
int zx_DEC_ATTR_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x);
int zx_DEC_ELEM_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PostalAddress_s* zx_DEEP_CLONE_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x);
int zx_WALK_SO_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PostalAddress(struct zx_ctx* c, struct zx_hrxml_PostalAddress_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PostalAddress_GET_type(struct zx_hrxml_PostalAddress_s* x);

struct zx_elem_s* zx_hrxml_PostalAddress_GET_CountryCode(struct zx_hrxml_PostalAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_PostalAddress_GET_PostalCode(struct zx_hrxml_PostalAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_PostalAddress_GET_Region(struct zx_hrxml_PostalAddress_s* x, int n);
struct zx_elem_s* zx_hrxml_PostalAddress_GET_Municipality(struct zx_hrxml_PostalAddress_s* x, int n);
struct zx_hrxml_DeliveryAddress_s* zx_hrxml_PostalAddress_GET_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x, int n);
struct zx_hrxml_Recipient_s* zx_hrxml_PostalAddress_GET_Recipient(struct zx_hrxml_PostalAddress_s* x, int n);

int zx_hrxml_PostalAddress_NUM_CountryCode(struct zx_hrxml_PostalAddress_s* x);
int zx_hrxml_PostalAddress_NUM_PostalCode(struct zx_hrxml_PostalAddress_s* x);
int zx_hrxml_PostalAddress_NUM_Region(struct zx_hrxml_PostalAddress_s* x);
int zx_hrxml_PostalAddress_NUM_Municipality(struct zx_hrxml_PostalAddress_s* x);
int zx_hrxml_PostalAddress_NUM_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x);
int zx_hrxml_PostalAddress_NUM_Recipient(struct zx_hrxml_PostalAddress_s* x);

struct zx_elem_s* zx_hrxml_PostalAddress_POP_CountryCode(struct zx_hrxml_PostalAddress_s* x);
struct zx_elem_s* zx_hrxml_PostalAddress_POP_PostalCode(struct zx_hrxml_PostalAddress_s* x);
struct zx_elem_s* zx_hrxml_PostalAddress_POP_Region(struct zx_hrxml_PostalAddress_s* x);
struct zx_elem_s* zx_hrxml_PostalAddress_POP_Municipality(struct zx_hrxml_PostalAddress_s* x);
struct zx_hrxml_DeliveryAddress_s* zx_hrxml_PostalAddress_POP_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x);
struct zx_hrxml_Recipient_s* zx_hrxml_PostalAddress_POP_Recipient(struct zx_hrxml_PostalAddress_s* x);

void zx_hrxml_PostalAddress_PUSH_CountryCode(struct zx_hrxml_PostalAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUSH_PostalCode(struct zx_hrxml_PostalAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUSH_Region(struct zx_hrxml_PostalAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUSH_Municipality(struct zx_hrxml_PostalAddress_s* x, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUSH_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x, struct zx_hrxml_DeliveryAddress_s* y);
void zx_hrxml_PostalAddress_PUSH_Recipient(struct zx_hrxml_PostalAddress_s* x, struct zx_hrxml_Recipient_s* y);

void zx_hrxml_PostalAddress_PUT_type(struct zx_hrxml_PostalAddress_s* x, struct zx_attr_s* y);

void zx_hrxml_PostalAddress_PUT_CountryCode(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUT_PostalCode(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUT_Region(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUT_Municipality(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PostalAddress_PUT_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_hrxml_DeliveryAddress_s* y);
void zx_hrxml_PostalAddress_PUT_Recipient(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_hrxml_Recipient_s* y);

void zx_hrxml_PostalAddress_ADD_CountryCode(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PostalAddress_ADD_PostalCode(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PostalAddress_ADD_Region(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PostalAddress_ADD_Municipality(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PostalAddress_ADD_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_hrxml_DeliveryAddress_s* z);
void zx_hrxml_PostalAddress_ADD_Recipient(struct zx_hrxml_PostalAddress_s* x, int n, struct zx_hrxml_Recipient_s* z);

void zx_hrxml_PostalAddress_DEL_CountryCode(struct zx_hrxml_PostalAddress_s* x,int n);
void zx_hrxml_PostalAddress_DEL_PostalCode(struct zx_hrxml_PostalAddress_s* x,int n);
void zx_hrxml_PostalAddress_DEL_Region(struct zx_hrxml_PostalAddress_s* x,int n);
void zx_hrxml_PostalAddress_DEL_Municipality(struct zx_hrxml_PostalAddress_s* x,int n);
void zx_hrxml_PostalAddress_DEL_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x, int n);
void zx_hrxml_PostalAddress_DEL_Recipient(struct zx_hrxml_PostalAddress_s* x, int n);

void zx_hrxml_PostalAddress_REV_CountryCode(struct zx_hrxml_PostalAddress_s* x);
void zx_hrxml_PostalAddress_REV_PostalCode(struct zx_hrxml_PostalAddress_s* x);
void zx_hrxml_PostalAddress_REV_Region(struct zx_hrxml_PostalAddress_s* x);
void zx_hrxml_PostalAddress_REV_Municipality(struct zx_hrxml_PostalAddress_s* x);
void zx_hrxml_PostalAddress_REV_DeliveryAddress(struct zx_hrxml_PostalAddress_s* x);
void zx_hrxml_PostalAddress_REV_Recipient(struct zx_hrxml_PostalAddress_s* x);

#endif
/* -------------------------- hrxml_PreferredLanguage -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_PreferredLanguage_EXT
#define zx_hrxml_PreferredLanguage_EXT
#endif
struct zx_hrxml_PreferredLanguage_s {
  ZX_ELEM_EXT
  zx_hrxml_PreferredLanguage_EXT
};

#define zx_NEW_hrxml_PreferredLanguage(c, father) (struct zx_hrxml_PreferredLanguage_s*)zx_new_elem((c),(father),zx_hrxml_PreferredLanguage_ELEM)
int zx_DEC_ATTR_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x);
int zx_DEC_ELEM_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PreferredLanguage_s* zx_DEEP_CLONE_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x);
int zx_WALK_SO_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PreferredLanguage(struct zx_ctx* c, struct zx_hrxml_PreferredLanguage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_PreferredPosition -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s ) */
#ifndef zx_hrxml_PreferredPosition_EXT
#define zx_hrxml_PreferredPosition_EXT
#endif
struct zx_hrxml_PreferredPosition_s {
  ZX_ELEM_EXT
  zx_hrxml_PreferredPosition_EXT
  struct zx_hrxml_Company_s* Company;	/* {0,-1}  */
  struct zx_elem_s* CompanyScale;	/* {0,-1} hrxml:BasicScaleTypes */
  struct zx_hrxml_IndustryCode_s* IndustryCode;	/* {0,-1}  */
  struct zx_hrxml_PhysicalLocation_s* PhysicalLocation;	/* {0,-1}  */
  struct zx_hrxml_JobCategory_s* JobCategory;	/* {0,-1}  */
  struct zx_elem_s* PositionTitle;	/* {0,-1} xsd:string */
  struct zx_elem_s* PositionClassification;	/* {0,-1} hrxml:BasicPositionClassification */
  struct zx_hrxml_PositionSchedule_s* PositionSchedule;	/* {0,-1}  */
  struct zx_hrxml_Shift_s* Shift;	/* {0,-1}  */
  struct zx_hrxml_Competency_s* Competency;	/* {0,-1} nada */
  struct zx_hrxml_RemunerationPackage_s* RemunerationPackage;	/* {0,1}  */
  struct zx_elem_s* WorkStyle;	/* {0,-1} hrxml:BasicWorkStyleTypes */
  struct zx_hrxml_DressCode_s* DressCode;	/* {0,-1}  */
  struct zx_hrxml_Travel_s* Travel;	/* {0,1}  */
  struct zx_hrxml_Relocation_s* Relocation;	/* {0,1}  */
  struct zx_hrxml_PreferredLanguage_s* PreferredLanguage;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_hrxml_Commute_s* Commute;	/* {0,1}  */
};

#define zx_NEW_hrxml_PreferredPosition(c, father) (struct zx_hrxml_PreferredPosition_s*)zx_new_elem((c),(father),zx_hrxml_PreferredPosition_ELEM)
int zx_DEC_ATTR_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x);
int zx_DEC_ELEM_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PreferredPosition_s* zx_DEEP_CLONE_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x);
int zx_WALK_SO_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PreferredPosition(struct zx_ctx* c, struct zx_hrxml_PreferredPosition_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Company_s* zx_hrxml_PreferredPosition_GET_Company(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_elem_s* zx_hrxml_PreferredPosition_GET_CompanyScale(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_IndustryCode_s* zx_hrxml_PreferredPosition_GET_IndustryCode(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_PhysicalLocation_s* zx_hrxml_PreferredPosition_GET_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_JobCategory_s* zx_hrxml_PreferredPosition_GET_JobCategory(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_elem_s* zx_hrxml_PreferredPosition_GET_PositionTitle(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_elem_s* zx_hrxml_PreferredPosition_GET_PositionClassification(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_PositionSchedule_s* zx_hrxml_PreferredPosition_GET_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_Shift_s* zx_hrxml_PreferredPosition_GET_Shift(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_Competency_s* zx_hrxml_PreferredPosition_GET_Competency(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_RemunerationPackage_s* zx_hrxml_PreferredPosition_GET_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_elem_s* zx_hrxml_PreferredPosition_GET_WorkStyle(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_DressCode_s* zx_hrxml_PreferredPosition_GET_DressCode(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_Travel_s* zx_hrxml_PreferredPosition_GET_Travel(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_Relocation_s* zx_hrxml_PreferredPosition_GET_Relocation(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_PreferredLanguage_s* zx_hrxml_PreferredPosition_GET_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_PreferredPosition_GET_UserArea(struct zx_hrxml_PreferredPosition_s* x, int n);
struct zx_hrxml_Commute_s* zx_hrxml_PreferredPosition_GET_Commute(struct zx_hrxml_PreferredPosition_s* x, int n);

int zx_hrxml_PreferredPosition_NUM_Company(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_CompanyScale(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_IndustryCode(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_JobCategory(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_PositionTitle(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_PositionClassification(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_Shift(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_Competency(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_WorkStyle(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_DressCode(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_Travel(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_Relocation(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_UserArea(struct zx_hrxml_PreferredPosition_s* x);
int zx_hrxml_PreferredPosition_NUM_Commute(struct zx_hrxml_PreferredPosition_s* x);

struct zx_hrxml_Company_s* zx_hrxml_PreferredPosition_POP_Company(struct zx_hrxml_PreferredPosition_s* x);
struct zx_elem_s* zx_hrxml_PreferredPosition_POP_CompanyScale(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_IndustryCode_s* zx_hrxml_PreferredPosition_POP_IndustryCode(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_PhysicalLocation_s* zx_hrxml_PreferredPosition_POP_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_JobCategory_s* zx_hrxml_PreferredPosition_POP_JobCategory(struct zx_hrxml_PreferredPosition_s* x);
struct zx_elem_s* zx_hrxml_PreferredPosition_POP_PositionTitle(struct zx_hrxml_PreferredPosition_s* x);
struct zx_elem_s* zx_hrxml_PreferredPosition_POP_PositionClassification(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_PositionSchedule_s* zx_hrxml_PreferredPosition_POP_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_Shift_s* zx_hrxml_PreferredPosition_POP_Shift(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_Competency_s* zx_hrxml_PreferredPosition_POP_Competency(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_RemunerationPackage_s* zx_hrxml_PreferredPosition_POP_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x);
struct zx_elem_s* zx_hrxml_PreferredPosition_POP_WorkStyle(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_DressCode_s* zx_hrxml_PreferredPosition_POP_DressCode(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_Travel_s* zx_hrxml_PreferredPosition_POP_Travel(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_Relocation_s* zx_hrxml_PreferredPosition_POP_Relocation(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_PreferredLanguage_s* zx_hrxml_PreferredPosition_POP_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_PreferredPosition_POP_UserArea(struct zx_hrxml_PreferredPosition_s* x);
struct zx_hrxml_Commute_s* zx_hrxml_PreferredPosition_POP_Commute(struct zx_hrxml_PreferredPosition_s* x);

void zx_hrxml_PreferredPosition_PUSH_Company(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_Company_s* y);
void zx_hrxml_PreferredPosition_PUSH_CompanyScale(struct zx_hrxml_PreferredPosition_s* x, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUSH_IndustryCode(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_PreferredPosition_PUSH_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_PhysicalLocation_s* y);
void zx_hrxml_PreferredPosition_PUSH_JobCategory(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_JobCategory_s* y);
void zx_hrxml_PreferredPosition_PUSH_PositionTitle(struct zx_hrxml_PreferredPosition_s* x, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUSH_PositionClassification(struct zx_hrxml_PreferredPosition_s* x, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUSH_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_PositionSchedule_s* y);
void zx_hrxml_PreferredPosition_PUSH_Shift(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_Shift_s* y);
void zx_hrxml_PreferredPosition_PUSH_Competency(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_Competency_s* y);
void zx_hrxml_PreferredPosition_PUSH_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_RemunerationPackage_s* y);
void zx_hrxml_PreferredPosition_PUSH_WorkStyle(struct zx_hrxml_PreferredPosition_s* x, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUSH_DressCode(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_DressCode_s* y);
void zx_hrxml_PreferredPosition_PUSH_Travel(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_Travel_s* y);
void zx_hrxml_PreferredPosition_PUSH_Relocation(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_Relocation_s* y);
void zx_hrxml_PreferredPosition_PUSH_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_PreferredLanguage_s* y);
void zx_hrxml_PreferredPosition_PUSH_UserArea(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_UserArea_s* y);
void zx_hrxml_PreferredPosition_PUSH_Commute(struct zx_hrxml_PreferredPosition_s* x, struct zx_hrxml_Commute_s* y);


void zx_hrxml_PreferredPosition_PUT_Company(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Company_s* y);
void zx_hrxml_PreferredPosition_PUT_CompanyScale(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUT_IndustryCode(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_PreferredPosition_PUT_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_PhysicalLocation_s* y);
void zx_hrxml_PreferredPosition_PUT_JobCategory(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_JobCategory_s* y);
void zx_hrxml_PreferredPosition_PUT_PositionTitle(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUT_PositionClassification(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUT_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_PositionSchedule_s* y);
void zx_hrxml_PreferredPosition_PUT_Shift(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Shift_s* y);
void zx_hrxml_PreferredPosition_PUT_Competency(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Competency_s* y);
void zx_hrxml_PreferredPosition_PUT_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_RemunerationPackage_s* y);
void zx_hrxml_PreferredPosition_PUT_WorkStyle(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PreferredPosition_PUT_DressCode(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_DressCode_s* y);
void zx_hrxml_PreferredPosition_PUT_Travel(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Travel_s* y);
void zx_hrxml_PreferredPosition_PUT_Relocation(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Relocation_s* y);
void zx_hrxml_PreferredPosition_PUT_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_PreferredLanguage_s* y);
void zx_hrxml_PreferredPosition_PUT_UserArea(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_UserArea_s* y);
void zx_hrxml_PreferredPosition_PUT_Commute(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Commute_s* y);

void zx_hrxml_PreferredPosition_ADD_Company(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Company_s* z);
void zx_hrxml_PreferredPosition_ADD_CompanyScale(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PreferredPosition_ADD_IndustryCode(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_IndustryCode_s* z);
void zx_hrxml_PreferredPosition_ADD_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_PhysicalLocation_s* z);
void zx_hrxml_PreferredPosition_ADD_JobCategory(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_JobCategory_s* z);
void zx_hrxml_PreferredPosition_ADD_PositionTitle(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PreferredPosition_ADD_PositionClassification(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PreferredPosition_ADD_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_PositionSchedule_s* z);
void zx_hrxml_PreferredPosition_ADD_Shift(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Shift_s* z);
void zx_hrxml_PreferredPosition_ADD_Competency(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Competency_s* z);
void zx_hrxml_PreferredPosition_ADD_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_RemunerationPackage_s* z);
void zx_hrxml_PreferredPosition_ADD_WorkStyle(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PreferredPosition_ADD_DressCode(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_DressCode_s* z);
void zx_hrxml_PreferredPosition_ADD_Travel(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Travel_s* z);
void zx_hrxml_PreferredPosition_ADD_Relocation(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Relocation_s* z);
void zx_hrxml_PreferredPosition_ADD_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_PreferredLanguage_s* z);
void zx_hrxml_PreferredPosition_ADD_UserArea(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_UserArea_s* z);
void zx_hrxml_PreferredPosition_ADD_Commute(struct zx_hrxml_PreferredPosition_s* x, int n, struct zx_hrxml_Commute_s* z);

void zx_hrxml_PreferredPosition_DEL_Company(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_CompanyScale(struct zx_hrxml_PreferredPosition_s* x,int n);
void zx_hrxml_PreferredPosition_DEL_IndustryCode(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_JobCategory(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_PositionTitle(struct zx_hrxml_PreferredPosition_s* x,int n);
void zx_hrxml_PreferredPosition_DEL_PositionClassification(struct zx_hrxml_PreferredPosition_s* x,int n);
void zx_hrxml_PreferredPosition_DEL_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_Shift(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_Competency(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_WorkStyle(struct zx_hrxml_PreferredPosition_s* x,int n);
void zx_hrxml_PreferredPosition_DEL_DressCode(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_Travel(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_Relocation(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_UserArea(struct zx_hrxml_PreferredPosition_s* x, int n);
void zx_hrxml_PreferredPosition_DEL_Commute(struct zx_hrxml_PreferredPosition_s* x, int n);

void zx_hrxml_PreferredPosition_REV_Company(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_CompanyScale(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_IndustryCode(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_PhysicalLocation(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_JobCategory(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_PositionTitle(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_PositionClassification(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_PositionSchedule(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_Shift(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_Competency(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_RemunerationPackage(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_WorkStyle(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_DressCode(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_Travel(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_Relocation(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_PreferredLanguage(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_UserArea(struct zx_hrxml_PreferredPosition_s* x);
void zx_hrxml_PreferredPosition_REV_Commute(struct zx_hrxml_PreferredPosition_s* x);

#endif
/* -------------------------- hrxml_PrehireRemuneration -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_PrehireRemuneration_EXT
#define zx_hrxml_PrehireRemuneration_EXT
#endif
struct zx_hrxml_PrehireRemuneration_s {
  ZX_ELEM_EXT
  zx_hrxml_PrehireRemuneration_EXT
  struct zx_hrxml_BasePay_s* BasePay;	/* {0,-1}  */
  struct zx_hrxml_OtherPay_s* OtherPay;	/* {0,-1}  */
  struct zx_hrxml_Benefits_s* Benefits;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_PrehireRemuneration(c, father) (struct zx_hrxml_PrehireRemuneration_s*)zx_new_elem((c),(father),zx_hrxml_PrehireRemuneration_ELEM)
int zx_DEC_ATTR_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x);
int zx_DEC_ELEM_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PrehireRemuneration_s* zx_DEEP_CLONE_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x);
int zx_WALK_SO_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PrehireRemuneration(struct zx_ctx* c, struct zx_hrxml_PrehireRemuneration_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_BasePay_s* zx_hrxml_PrehireRemuneration_GET_BasePay(struct zx_hrxml_PrehireRemuneration_s* x, int n);
struct zx_hrxml_OtherPay_s* zx_hrxml_PrehireRemuneration_GET_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x, int n);
struct zx_hrxml_Benefits_s* zx_hrxml_PrehireRemuneration_GET_Benefits(struct zx_hrxml_PrehireRemuneration_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_PrehireRemuneration_GET_UserArea(struct zx_hrxml_PrehireRemuneration_s* x, int n);

int zx_hrxml_PrehireRemuneration_NUM_BasePay(struct zx_hrxml_PrehireRemuneration_s* x);
int zx_hrxml_PrehireRemuneration_NUM_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x);
int zx_hrxml_PrehireRemuneration_NUM_Benefits(struct zx_hrxml_PrehireRemuneration_s* x);
int zx_hrxml_PrehireRemuneration_NUM_UserArea(struct zx_hrxml_PrehireRemuneration_s* x);

struct zx_hrxml_BasePay_s* zx_hrxml_PrehireRemuneration_POP_BasePay(struct zx_hrxml_PrehireRemuneration_s* x);
struct zx_hrxml_OtherPay_s* zx_hrxml_PrehireRemuneration_POP_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x);
struct zx_hrxml_Benefits_s* zx_hrxml_PrehireRemuneration_POP_Benefits(struct zx_hrxml_PrehireRemuneration_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_PrehireRemuneration_POP_UserArea(struct zx_hrxml_PrehireRemuneration_s* x);

void zx_hrxml_PrehireRemuneration_PUSH_BasePay(struct zx_hrxml_PrehireRemuneration_s* x, struct zx_hrxml_BasePay_s* y);
void zx_hrxml_PrehireRemuneration_PUSH_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x, struct zx_hrxml_OtherPay_s* y);
void zx_hrxml_PrehireRemuneration_PUSH_Benefits(struct zx_hrxml_PrehireRemuneration_s* x, struct zx_hrxml_Benefits_s* y);
void zx_hrxml_PrehireRemuneration_PUSH_UserArea(struct zx_hrxml_PrehireRemuneration_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_PrehireRemuneration_PUT_BasePay(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_BasePay_s* y);
void zx_hrxml_PrehireRemuneration_PUT_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_OtherPay_s* y);
void zx_hrxml_PrehireRemuneration_PUT_Benefits(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_Benefits_s* y);
void zx_hrxml_PrehireRemuneration_PUT_UserArea(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_PrehireRemuneration_ADD_BasePay(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_BasePay_s* z);
void zx_hrxml_PrehireRemuneration_ADD_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_OtherPay_s* z);
void zx_hrxml_PrehireRemuneration_ADD_Benefits(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_Benefits_s* z);
void zx_hrxml_PrehireRemuneration_ADD_UserArea(struct zx_hrxml_PrehireRemuneration_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_PrehireRemuneration_DEL_BasePay(struct zx_hrxml_PrehireRemuneration_s* x, int n);
void zx_hrxml_PrehireRemuneration_DEL_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x, int n);
void zx_hrxml_PrehireRemuneration_DEL_Benefits(struct zx_hrxml_PrehireRemuneration_s* x, int n);
void zx_hrxml_PrehireRemuneration_DEL_UserArea(struct zx_hrxml_PrehireRemuneration_s* x, int n);

void zx_hrxml_PrehireRemuneration_REV_BasePay(struct zx_hrxml_PrehireRemuneration_s* x);
void zx_hrxml_PrehireRemuneration_REV_OtherPay(struct zx_hrxml_PrehireRemuneration_s* x);
void zx_hrxml_PrehireRemuneration_REV_Benefits(struct zx_hrxml_PrehireRemuneration_s* x);
void zx_hrxml_PrehireRemuneration_REV_UserArea(struct zx_hrxml_PrehireRemuneration_s* x);

#endif
/* -------------------------- hrxml_PrimaryLanguage -------------------------- */
/* refby( zx_hrxml_DemographicDescriptors_s ) */
#ifndef zx_hrxml_PrimaryLanguage_EXT
#define zx_hrxml_PrimaryLanguage_EXT
#endif
struct zx_hrxml_PrimaryLanguage_s {
  ZX_ELEM_EXT
  zx_hrxml_PrimaryLanguage_EXT
};

#define zx_NEW_hrxml_PrimaryLanguage(c, father) (struct zx_hrxml_PrimaryLanguage_s*)zx_new_elem((c),(father),zx_hrxml_PrimaryLanguage_ELEM)
int zx_DEC_ATTR_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x);
int zx_DEC_ELEM_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PrimaryLanguage_s* zx_DEEP_CLONE_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x);
int zx_WALK_SO_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PrimaryLanguage(struct zx_ctx* c, struct zx_hrxml_PrimaryLanguage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_ProfessionalAssociations -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_ProfessionalAssociations_EXT
#define zx_hrxml_ProfessionalAssociations_EXT
#endif
struct zx_hrxml_ProfessionalAssociations_s {
  ZX_ELEM_EXT
  zx_hrxml_ProfessionalAssociations_EXT
  struct zx_hrxml_Association_s* Association;	/* {0,-1}  */
};

#define zx_NEW_hrxml_ProfessionalAssociations(c, father) (struct zx_hrxml_ProfessionalAssociations_s*)zx_new_elem((c),(father),zx_hrxml_ProfessionalAssociations_ELEM)
int zx_DEC_ATTR_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x);
int zx_DEC_ELEM_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ProfessionalAssociations_s* zx_DEEP_CLONE_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x);
int zx_WALK_SO_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ProfessionalAssociations(struct zx_ctx* c, struct zx_hrxml_ProfessionalAssociations_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Association_s* zx_hrxml_ProfessionalAssociations_GET_Association(struct zx_hrxml_ProfessionalAssociations_s* x, int n);

int zx_hrxml_ProfessionalAssociations_NUM_Association(struct zx_hrxml_ProfessionalAssociations_s* x);

struct zx_hrxml_Association_s* zx_hrxml_ProfessionalAssociations_POP_Association(struct zx_hrxml_ProfessionalAssociations_s* x);

void zx_hrxml_ProfessionalAssociations_PUSH_Association(struct zx_hrxml_ProfessionalAssociations_s* x, struct zx_hrxml_Association_s* y);


void zx_hrxml_ProfessionalAssociations_PUT_Association(struct zx_hrxml_ProfessionalAssociations_s* x, int n, struct zx_hrxml_Association_s* y);

void zx_hrxml_ProfessionalAssociations_ADD_Association(struct zx_hrxml_ProfessionalAssociations_s* x, int n, struct zx_hrxml_Association_s* z);

void zx_hrxml_ProfessionalAssociations_DEL_Association(struct zx_hrxml_ProfessionalAssociations_s* x, int n);

void zx_hrxml_ProfessionalAssociations_REV_Association(struct zx_hrxml_ProfessionalAssociations_s* x);

#endif
/* -------------------------- hrxml_ProfileId -------------------------- */
/* refby( zx_hrxml_CandidateProfile_s ) */
#ifndef zx_hrxml_ProfileId_EXT
#define zx_hrxml_ProfileId_EXT
#endif
struct zx_hrxml_ProfileId_s {
  ZX_ELEM_EXT
  zx_hrxml_ProfileId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_ProfileId(c, father) (struct zx_hrxml_ProfileId_s*)zx_new_elem((c),(father),zx_hrxml_ProfileId_ELEM)
int zx_DEC_ATTR_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x);
int zx_DEC_ELEM_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ProfileId_s* zx_DEEP_CLONE_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x);
int zx_WALK_SO_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ProfileId(struct zx_ctx* c, struct zx_hrxml_ProfileId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ProfileId_GET_idOwner(struct zx_hrxml_ProfileId_s* x);
struct zx_attr_s* zx_hrxml_ProfileId_GET_validFrom(struct zx_hrxml_ProfileId_s* x);
struct zx_attr_s* zx_hrxml_ProfileId_GET_validTo(struct zx_hrxml_ProfileId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ProfileId_GET_IdValue(struct zx_hrxml_ProfileId_s* x, int n);

int zx_hrxml_ProfileId_NUM_IdValue(struct zx_hrxml_ProfileId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ProfileId_POP_IdValue(struct zx_hrxml_ProfileId_s* x);

void zx_hrxml_ProfileId_PUSH_IdValue(struct zx_hrxml_ProfileId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ProfileId_PUT_idOwner(struct zx_hrxml_ProfileId_s* x, struct zx_attr_s* y);
void zx_hrxml_ProfileId_PUT_validFrom(struct zx_hrxml_ProfileId_s* x, struct zx_attr_s* y);
void zx_hrxml_ProfileId_PUT_validTo(struct zx_hrxml_ProfileId_s* x, struct zx_attr_s* y);

void zx_hrxml_ProfileId_PUT_IdValue(struct zx_hrxml_ProfileId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ProfileId_ADD_IdValue(struct zx_hrxml_ProfileId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_ProfileId_DEL_IdValue(struct zx_hrxml_ProfileId_s* x, int n);

void zx_hrxml_ProfileId_REV_IdValue(struct zx_hrxml_ProfileId_s* x);

#endif
/* -------------------------- hrxml_ProgramId -------------------------- */
/* refby( zx_hrxml_DegreeMinor_s zx_hrxml_DegreeMajor_s ) */
#ifndef zx_hrxml_ProgramId_EXT
#define zx_hrxml_ProgramId_EXT
#endif
struct zx_hrxml_ProgramId_s {
  ZX_ELEM_EXT
  zx_hrxml_ProgramId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_ProgramId(c, father) (struct zx_hrxml_ProgramId_s*)zx_new_elem((c),(father),zx_hrxml_ProgramId_ELEM)
int zx_DEC_ATTR_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x);
int zx_DEC_ELEM_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ProgramId_s* zx_DEEP_CLONE_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x);
int zx_WALK_SO_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ProgramId(struct zx_ctx* c, struct zx_hrxml_ProgramId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ProgramId_GET_idOwner(struct zx_hrxml_ProgramId_s* x);
struct zx_attr_s* zx_hrxml_ProgramId_GET_validFrom(struct zx_hrxml_ProgramId_s* x);
struct zx_attr_s* zx_hrxml_ProgramId_GET_validTo(struct zx_hrxml_ProgramId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ProgramId_GET_IdValue(struct zx_hrxml_ProgramId_s* x, int n);

int zx_hrxml_ProgramId_NUM_IdValue(struct zx_hrxml_ProgramId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ProgramId_POP_IdValue(struct zx_hrxml_ProgramId_s* x);

void zx_hrxml_ProgramId_PUSH_IdValue(struct zx_hrxml_ProgramId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ProgramId_PUT_idOwner(struct zx_hrxml_ProgramId_s* x, struct zx_attr_s* y);
void zx_hrxml_ProgramId_PUT_validFrom(struct zx_hrxml_ProgramId_s* x, struct zx_attr_s* y);
void zx_hrxml_ProgramId_PUT_validTo(struct zx_hrxml_ProgramId_s* x, struct zx_attr_s* y);

void zx_hrxml_ProgramId_PUT_IdValue(struct zx_hrxml_ProgramId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ProgramId_ADD_IdValue(struct zx_hrxml_ProgramId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_ProgramId_DEL_IdValue(struct zx_hrxml_ProgramId_s* x, int n);

void zx_hrxml_ProgramId_REV_IdValue(struct zx_hrxml_ProgramId_s* x);

#endif
/* -------------------------- hrxml_PublicationDate -------------------------- */
/* refby( zx_hrxml_ConferencePaper_s zx_hrxml_Article_s zx_hrxml_OtherPublication_s zx_hrxml_Book_s ) */
#ifndef zx_hrxml_PublicationDate_EXT
#define zx_hrxml_PublicationDate_EXT
#endif
struct zx_hrxml_PublicationDate_s {
  ZX_ELEM_EXT
  zx_hrxml_PublicationDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_PublicationDate(c, father) (struct zx_hrxml_PublicationDate_s*)zx_new_elem((c),(father),zx_hrxml_PublicationDate_ELEM)
int zx_DEC_ATTR_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x);
int zx_DEC_ELEM_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PublicationDate_s* zx_DEEP_CLONE_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x);
int zx_WALK_SO_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PublicationDate(struct zx_ctx* c, struct zx_hrxml_PublicationDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_PublicationDate_GET_dateDescription(struct zx_hrxml_PublicationDate_s* x);

struct zx_elem_s* zx_hrxml_PublicationDate_GET_AnyDate(struct zx_hrxml_PublicationDate_s* x, int n);
struct zx_elem_s* zx_hrxml_PublicationDate_GET_YearMonth(struct zx_hrxml_PublicationDate_s* x, int n);
struct zx_elem_s* zx_hrxml_PublicationDate_GET_Year(struct zx_hrxml_PublicationDate_s* x, int n);
struct zx_elem_s* zx_hrxml_PublicationDate_GET_MonthDay(struct zx_hrxml_PublicationDate_s* x, int n);
struct zx_elem_s* zx_hrxml_PublicationDate_GET_StringDate(struct zx_hrxml_PublicationDate_s* x, int n);

int zx_hrxml_PublicationDate_NUM_AnyDate(struct zx_hrxml_PublicationDate_s* x);
int zx_hrxml_PublicationDate_NUM_YearMonth(struct zx_hrxml_PublicationDate_s* x);
int zx_hrxml_PublicationDate_NUM_Year(struct zx_hrxml_PublicationDate_s* x);
int zx_hrxml_PublicationDate_NUM_MonthDay(struct zx_hrxml_PublicationDate_s* x);
int zx_hrxml_PublicationDate_NUM_StringDate(struct zx_hrxml_PublicationDate_s* x);

struct zx_elem_s* zx_hrxml_PublicationDate_POP_AnyDate(struct zx_hrxml_PublicationDate_s* x);
struct zx_elem_s* zx_hrxml_PublicationDate_POP_YearMonth(struct zx_hrxml_PublicationDate_s* x);
struct zx_elem_s* zx_hrxml_PublicationDate_POP_Year(struct zx_hrxml_PublicationDate_s* x);
struct zx_elem_s* zx_hrxml_PublicationDate_POP_MonthDay(struct zx_hrxml_PublicationDate_s* x);
struct zx_elem_s* zx_hrxml_PublicationDate_POP_StringDate(struct zx_hrxml_PublicationDate_s* x);

void zx_hrxml_PublicationDate_PUSH_AnyDate(struct zx_hrxml_PublicationDate_s* x, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUSH_YearMonth(struct zx_hrxml_PublicationDate_s* x, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUSH_Year(struct zx_hrxml_PublicationDate_s* x, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUSH_MonthDay(struct zx_hrxml_PublicationDate_s* x, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUSH_StringDate(struct zx_hrxml_PublicationDate_s* x, struct zx_elem_s* y);

void zx_hrxml_PublicationDate_PUT_dateDescription(struct zx_hrxml_PublicationDate_s* x, struct zx_attr_s* y);

void zx_hrxml_PublicationDate_PUT_AnyDate(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUT_YearMonth(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUT_Year(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUT_MonthDay(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_PublicationDate_PUT_StringDate(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_PublicationDate_ADD_AnyDate(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PublicationDate_ADD_YearMonth(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PublicationDate_ADD_Year(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PublicationDate_ADD_MonthDay(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_PublicationDate_ADD_StringDate(struct zx_hrxml_PublicationDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_PublicationDate_DEL_AnyDate(struct zx_hrxml_PublicationDate_s* x,int n);
void zx_hrxml_PublicationDate_DEL_YearMonth(struct zx_hrxml_PublicationDate_s* x,int n);
void zx_hrxml_PublicationDate_DEL_Year(struct zx_hrxml_PublicationDate_s* x,int n);
void zx_hrxml_PublicationDate_DEL_MonthDay(struct zx_hrxml_PublicationDate_s* x,int n);
void zx_hrxml_PublicationDate_DEL_StringDate(struct zx_hrxml_PublicationDate_s* x,int n);

void zx_hrxml_PublicationDate_REV_AnyDate(struct zx_hrxml_PublicationDate_s* x);
void zx_hrxml_PublicationDate_REV_YearMonth(struct zx_hrxml_PublicationDate_s* x);
void zx_hrxml_PublicationDate_REV_Year(struct zx_hrxml_PublicationDate_s* x);
void zx_hrxml_PublicationDate_REV_MonthDay(struct zx_hrxml_PublicationDate_s* x);
void zx_hrxml_PublicationDate_REV_StringDate(struct zx_hrxml_PublicationDate_s* x);

#endif
/* -------------------------- hrxml_PublicationHistory -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_PublicationHistory_EXT
#define zx_hrxml_PublicationHistory_EXT
#endif
struct zx_hrxml_PublicationHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_PublicationHistory_EXT
  struct zx_hrxml_FormattedPublicationDescription_s* FormattedPublicationDescription;	/* {0,-1}  */
  struct zx_hrxml_Article_s* Article;	/* {0,-1}  */
  struct zx_hrxml_Book_s* Book;	/* {0,-1}  */
  struct zx_hrxml_ConferencePaper_s* ConferencePaper;	/* {0,-1}  */
  struct zx_hrxml_OtherPublication_s* OtherPublication;	/* {0,-1}  */
};

#define zx_NEW_hrxml_PublicationHistory(c, father) (struct zx_hrxml_PublicationHistory_s*)zx_new_elem((c),(father),zx_hrxml_PublicationHistory_ELEM)
int zx_DEC_ATTR_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x);
int zx_DEC_ELEM_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PublicationHistory_s* zx_DEEP_CLONE_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x);
int zx_WALK_SO_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PublicationHistory(struct zx_ctx* c, struct zx_hrxml_PublicationHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_FormattedPublicationDescription_s* zx_hrxml_PublicationHistory_GET_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x, int n);
struct zx_hrxml_Article_s* zx_hrxml_PublicationHistory_GET_Article(struct zx_hrxml_PublicationHistory_s* x, int n);
struct zx_hrxml_Book_s* zx_hrxml_PublicationHistory_GET_Book(struct zx_hrxml_PublicationHistory_s* x, int n);
struct zx_hrxml_ConferencePaper_s* zx_hrxml_PublicationHistory_GET_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x, int n);
struct zx_hrxml_OtherPublication_s* zx_hrxml_PublicationHistory_GET_OtherPublication(struct zx_hrxml_PublicationHistory_s* x, int n);

int zx_hrxml_PublicationHistory_NUM_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x);
int zx_hrxml_PublicationHistory_NUM_Article(struct zx_hrxml_PublicationHistory_s* x);
int zx_hrxml_PublicationHistory_NUM_Book(struct zx_hrxml_PublicationHistory_s* x);
int zx_hrxml_PublicationHistory_NUM_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x);
int zx_hrxml_PublicationHistory_NUM_OtherPublication(struct zx_hrxml_PublicationHistory_s* x);

struct zx_hrxml_FormattedPublicationDescription_s* zx_hrxml_PublicationHistory_POP_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x);
struct zx_hrxml_Article_s* zx_hrxml_PublicationHistory_POP_Article(struct zx_hrxml_PublicationHistory_s* x);
struct zx_hrxml_Book_s* zx_hrxml_PublicationHistory_POP_Book(struct zx_hrxml_PublicationHistory_s* x);
struct zx_hrxml_ConferencePaper_s* zx_hrxml_PublicationHistory_POP_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x);
struct zx_hrxml_OtherPublication_s* zx_hrxml_PublicationHistory_POP_OtherPublication(struct zx_hrxml_PublicationHistory_s* x);

void zx_hrxml_PublicationHistory_PUSH_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x, struct zx_hrxml_FormattedPublicationDescription_s* y);
void zx_hrxml_PublicationHistory_PUSH_Article(struct zx_hrxml_PublicationHistory_s* x, struct zx_hrxml_Article_s* y);
void zx_hrxml_PublicationHistory_PUSH_Book(struct zx_hrxml_PublicationHistory_s* x, struct zx_hrxml_Book_s* y);
void zx_hrxml_PublicationHistory_PUSH_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x, struct zx_hrxml_ConferencePaper_s* y);
void zx_hrxml_PublicationHistory_PUSH_OtherPublication(struct zx_hrxml_PublicationHistory_s* x, struct zx_hrxml_OtherPublication_s* y);


void zx_hrxml_PublicationHistory_PUT_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_FormattedPublicationDescription_s* y);
void zx_hrxml_PublicationHistory_PUT_Article(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_Article_s* y);
void zx_hrxml_PublicationHistory_PUT_Book(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_Book_s* y);
void zx_hrxml_PublicationHistory_PUT_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_ConferencePaper_s* y);
void zx_hrxml_PublicationHistory_PUT_OtherPublication(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_OtherPublication_s* y);

void zx_hrxml_PublicationHistory_ADD_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_FormattedPublicationDescription_s* z);
void zx_hrxml_PublicationHistory_ADD_Article(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_Article_s* z);
void zx_hrxml_PublicationHistory_ADD_Book(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_Book_s* z);
void zx_hrxml_PublicationHistory_ADD_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_ConferencePaper_s* z);
void zx_hrxml_PublicationHistory_ADD_OtherPublication(struct zx_hrxml_PublicationHistory_s* x, int n, struct zx_hrxml_OtherPublication_s* z);

void zx_hrxml_PublicationHistory_DEL_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x, int n);
void zx_hrxml_PublicationHistory_DEL_Article(struct zx_hrxml_PublicationHistory_s* x, int n);
void zx_hrxml_PublicationHistory_DEL_Book(struct zx_hrxml_PublicationHistory_s* x, int n);
void zx_hrxml_PublicationHistory_DEL_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x, int n);
void zx_hrxml_PublicationHistory_DEL_OtherPublication(struct zx_hrxml_PublicationHistory_s* x, int n);

void zx_hrxml_PublicationHistory_REV_FormattedPublicationDescription(struct zx_hrxml_PublicationHistory_s* x);
void zx_hrxml_PublicationHistory_REV_Article(struct zx_hrxml_PublicationHistory_s* x);
void zx_hrxml_PublicationHistory_REV_Book(struct zx_hrxml_PublicationHistory_s* x);
void zx_hrxml_PublicationHistory_REV_ConferencePaper(struct zx_hrxml_PublicationHistory_s* x);
void zx_hrxml_PublicationHistory_REV_OtherPublication(struct zx_hrxml_PublicationHistory_s* x);

#endif
/* -------------------------- hrxml_PublicationLanguage -------------------------- */
/* refby( zx_hrxml_Article_s ) */
#ifndef zx_hrxml_PublicationLanguage_EXT
#define zx_hrxml_PublicationLanguage_EXT
#endif
struct zx_hrxml_PublicationLanguage_s {
  ZX_ELEM_EXT
  zx_hrxml_PublicationLanguage_EXT
};

#define zx_NEW_hrxml_PublicationLanguage(c, father) (struct zx_hrxml_PublicationLanguage_s*)zx_new_elem((c),(father),zx_hrxml_PublicationLanguage_ELEM)
int zx_DEC_ATTR_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x);
int zx_DEC_ELEM_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_PublicationLanguage_s* zx_DEEP_CLONE_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x);
int zx_WALK_SO_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_PublicationLanguage(struct zx_ctx* c, struct zx_hrxml_PublicationLanguage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_Qualifications -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_Qualifications_EXT
#define zx_hrxml_Qualifications_EXT
#endif
struct zx_hrxml_Qualifications_s {
  ZX_ELEM_EXT
  zx_hrxml_Qualifications_EXT
  struct zx_elem_s* QualificationSummary;	/* {0,1} xsd:string */
  struct zx_hrxml_Competency_s* Competency;	/* {0,-1} nada */
};

#define zx_NEW_hrxml_Qualifications(c, father) (struct zx_hrxml_Qualifications_s*)zx_new_elem((c),(father),zx_hrxml_Qualifications_ELEM)
int zx_DEC_ATTR_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x);
int zx_DEC_ELEM_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Qualifications_s* zx_DEEP_CLONE_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x);
int zx_WALK_SO_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Qualifications(struct zx_ctx* c, struct zx_hrxml_Qualifications_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Qualifications_GET_QualificationSummary(struct zx_hrxml_Qualifications_s* x, int n);
struct zx_hrxml_Competency_s* zx_hrxml_Qualifications_GET_Competency(struct zx_hrxml_Qualifications_s* x, int n);

int zx_hrxml_Qualifications_NUM_QualificationSummary(struct zx_hrxml_Qualifications_s* x);
int zx_hrxml_Qualifications_NUM_Competency(struct zx_hrxml_Qualifications_s* x);

struct zx_elem_s* zx_hrxml_Qualifications_POP_QualificationSummary(struct zx_hrxml_Qualifications_s* x);
struct zx_hrxml_Competency_s* zx_hrxml_Qualifications_POP_Competency(struct zx_hrxml_Qualifications_s* x);

void zx_hrxml_Qualifications_PUSH_QualificationSummary(struct zx_hrxml_Qualifications_s* x, struct zx_elem_s* y);
void zx_hrxml_Qualifications_PUSH_Competency(struct zx_hrxml_Qualifications_s* x, struct zx_hrxml_Competency_s* y);


void zx_hrxml_Qualifications_PUT_QualificationSummary(struct zx_hrxml_Qualifications_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Qualifications_PUT_Competency(struct zx_hrxml_Qualifications_s* x, int n, struct zx_hrxml_Competency_s* y);

void zx_hrxml_Qualifications_ADD_QualificationSummary(struct zx_hrxml_Qualifications_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Qualifications_ADD_Competency(struct zx_hrxml_Qualifications_s* x, int n, struct zx_hrxml_Competency_s* z);

void zx_hrxml_Qualifications_DEL_QualificationSummary(struct zx_hrxml_Qualifications_s* x,int n);
void zx_hrxml_Qualifications_DEL_Competency(struct zx_hrxml_Qualifications_s* x, int n);

void zx_hrxml_Qualifications_REV_QualificationSummary(struct zx_hrxml_Qualifications_s* x);
void zx_hrxml_Qualifications_REV_Competency(struct zx_hrxml_Qualifications_s* x);

#endif
/* -------------------------- hrxml_RankAchieved -------------------------- */
/* refby( zx_hrxml_ServiceDetail_s ) */
#ifndef zx_hrxml_RankAchieved_EXT
#define zx_hrxml_RankAchieved_EXT
#endif
struct zx_hrxml_RankAchieved_s {
  ZX_ELEM_EXT
  zx_hrxml_RankAchieved_EXT
  struct zx_elem_s* StartRank;	/* {0,1} xsd:string */
  struct zx_elem_s* CurrentOrEndRank;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_RankAchieved(c, father) (struct zx_hrxml_RankAchieved_s*)zx_new_elem((c),(father),zx_hrxml_RankAchieved_ELEM)
int zx_DEC_ATTR_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x);
int zx_DEC_ELEM_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RankAchieved_s* zx_DEEP_CLONE_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x);
int zx_WALK_SO_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RankAchieved(struct zx_ctx* c, struct zx_hrxml_RankAchieved_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_RankAchieved_GET_StartRank(struct zx_hrxml_RankAchieved_s* x, int n);
struct zx_elem_s* zx_hrxml_RankAchieved_GET_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x, int n);

int zx_hrxml_RankAchieved_NUM_StartRank(struct zx_hrxml_RankAchieved_s* x);
int zx_hrxml_RankAchieved_NUM_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x);

struct zx_elem_s* zx_hrxml_RankAchieved_POP_StartRank(struct zx_hrxml_RankAchieved_s* x);
struct zx_elem_s* zx_hrxml_RankAchieved_POP_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x);

void zx_hrxml_RankAchieved_PUSH_StartRank(struct zx_hrxml_RankAchieved_s* x, struct zx_elem_s* y);
void zx_hrxml_RankAchieved_PUSH_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x, struct zx_elem_s* y);


void zx_hrxml_RankAchieved_PUT_StartRank(struct zx_hrxml_RankAchieved_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RankAchieved_PUT_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_RankAchieved_ADD_StartRank(struct zx_hrxml_RankAchieved_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RankAchieved_ADD_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_RankAchieved_DEL_StartRank(struct zx_hrxml_RankAchieved_s* x,int n);
void zx_hrxml_RankAchieved_DEL_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x,int n);

void zx_hrxml_RankAchieved_REV_StartRank(struct zx_hrxml_RankAchieved_s* x);
void zx_hrxml_RankAchieved_REV_CurrentOrEndRank(struct zx_hrxml_RankAchieved_s* x);

#endif
/* -------------------------- hrxml_RankedResult -------------------------- */
/* refby( zx_hrxml_RankedResult_s zx_hrxml_RankedSearchResults_s ) */
#ifndef zx_hrxml_RankedResult_EXT
#define zx_hrxml_RankedResult_EXT
#endif
struct zx_hrxml_RankedResult_s {
  ZX_ELEM_EXT
  zx_hrxml_RankedResult_EXT
  struct zx_elem_s* CriterionName;	/* {0,1} xsd:string */
  struct zx_elem_s* Requested;	/* {0,1} xsd:string */
  struct zx_elem_s* Offered;	/* {0,1} xsd:string */
  struct zx_hrxml_Score_s* Score;	/* {0,1}  */
  struct zx_hrxml_Weight_s* Weight;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_hrxml_RankedResult_s* RankedResult;	/* {0,-1}  */
};

#define zx_NEW_hrxml_RankedResult(c, father) (struct zx_hrxml_RankedResult_s*)zx_new_elem((c),(father),zx_hrxml_RankedResult_ELEM)
int zx_DEC_ATTR_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x);
int zx_DEC_ELEM_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RankedResult_s* zx_DEEP_CLONE_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x);
int zx_WALK_SO_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RankedResult(struct zx_ctx* c, struct zx_hrxml_RankedResult_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_RankedResult_GET_CriterionName(struct zx_hrxml_RankedResult_s* x, int n);
struct zx_elem_s* zx_hrxml_RankedResult_GET_Requested(struct zx_hrxml_RankedResult_s* x, int n);
struct zx_elem_s* zx_hrxml_RankedResult_GET_Offered(struct zx_hrxml_RankedResult_s* x, int n);
struct zx_hrxml_Score_s* zx_hrxml_RankedResult_GET_Score(struct zx_hrxml_RankedResult_s* x, int n);
struct zx_hrxml_Weight_s* zx_hrxml_RankedResult_GET_Weight(struct zx_hrxml_RankedResult_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_RankedResult_GET_UserArea(struct zx_hrxml_RankedResult_s* x, int n);
struct zx_hrxml_RankedResult_s* zx_hrxml_RankedResult_GET_RankedResult(struct zx_hrxml_RankedResult_s* x, int n);

int zx_hrxml_RankedResult_NUM_CriterionName(struct zx_hrxml_RankedResult_s* x);
int zx_hrxml_RankedResult_NUM_Requested(struct zx_hrxml_RankedResult_s* x);
int zx_hrxml_RankedResult_NUM_Offered(struct zx_hrxml_RankedResult_s* x);
int zx_hrxml_RankedResult_NUM_Score(struct zx_hrxml_RankedResult_s* x);
int zx_hrxml_RankedResult_NUM_Weight(struct zx_hrxml_RankedResult_s* x);
int zx_hrxml_RankedResult_NUM_UserArea(struct zx_hrxml_RankedResult_s* x);
int zx_hrxml_RankedResult_NUM_RankedResult(struct zx_hrxml_RankedResult_s* x);

struct zx_elem_s* zx_hrxml_RankedResult_POP_CriterionName(struct zx_hrxml_RankedResult_s* x);
struct zx_elem_s* zx_hrxml_RankedResult_POP_Requested(struct zx_hrxml_RankedResult_s* x);
struct zx_elem_s* zx_hrxml_RankedResult_POP_Offered(struct zx_hrxml_RankedResult_s* x);
struct zx_hrxml_Score_s* zx_hrxml_RankedResult_POP_Score(struct zx_hrxml_RankedResult_s* x);
struct zx_hrxml_Weight_s* zx_hrxml_RankedResult_POP_Weight(struct zx_hrxml_RankedResult_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_RankedResult_POP_UserArea(struct zx_hrxml_RankedResult_s* x);
struct zx_hrxml_RankedResult_s* zx_hrxml_RankedResult_POP_RankedResult(struct zx_hrxml_RankedResult_s* x);

void zx_hrxml_RankedResult_PUSH_CriterionName(struct zx_hrxml_RankedResult_s* x, struct zx_elem_s* y);
void zx_hrxml_RankedResult_PUSH_Requested(struct zx_hrxml_RankedResult_s* x, struct zx_elem_s* y);
void zx_hrxml_RankedResult_PUSH_Offered(struct zx_hrxml_RankedResult_s* x, struct zx_elem_s* y);
void zx_hrxml_RankedResult_PUSH_Score(struct zx_hrxml_RankedResult_s* x, struct zx_hrxml_Score_s* y);
void zx_hrxml_RankedResult_PUSH_Weight(struct zx_hrxml_RankedResult_s* x, struct zx_hrxml_Weight_s* y);
void zx_hrxml_RankedResult_PUSH_UserArea(struct zx_hrxml_RankedResult_s* x, struct zx_hrxml_UserArea_s* y);
void zx_hrxml_RankedResult_PUSH_RankedResult(struct zx_hrxml_RankedResult_s* x, struct zx_hrxml_RankedResult_s* y);


void zx_hrxml_RankedResult_PUT_CriterionName(struct zx_hrxml_RankedResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RankedResult_PUT_Requested(struct zx_hrxml_RankedResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RankedResult_PUT_Offered(struct zx_hrxml_RankedResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RankedResult_PUT_Score(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_Score_s* y);
void zx_hrxml_RankedResult_PUT_Weight(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_Weight_s* y);
void zx_hrxml_RankedResult_PUT_UserArea(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_UserArea_s* y);
void zx_hrxml_RankedResult_PUT_RankedResult(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_RankedResult_s* y);

void zx_hrxml_RankedResult_ADD_CriterionName(struct zx_hrxml_RankedResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RankedResult_ADD_Requested(struct zx_hrxml_RankedResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RankedResult_ADD_Offered(struct zx_hrxml_RankedResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RankedResult_ADD_Score(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_Score_s* z);
void zx_hrxml_RankedResult_ADD_Weight(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_Weight_s* z);
void zx_hrxml_RankedResult_ADD_UserArea(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_UserArea_s* z);
void zx_hrxml_RankedResult_ADD_RankedResult(struct zx_hrxml_RankedResult_s* x, int n, struct zx_hrxml_RankedResult_s* z);

void zx_hrxml_RankedResult_DEL_CriterionName(struct zx_hrxml_RankedResult_s* x,int n);
void zx_hrxml_RankedResult_DEL_Requested(struct zx_hrxml_RankedResult_s* x,int n);
void zx_hrxml_RankedResult_DEL_Offered(struct zx_hrxml_RankedResult_s* x,int n);
void zx_hrxml_RankedResult_DEL_Score(struct zx_hrxml_RankedResult_s* x, int n);
void zx_hrxml_RankedResult_DEL_Weight(struct zx_hrxml_RankedResult_s* x, int n);
void zx_hrxml_RankedResult_DEL_UserArea(struct zx_hrxml_RankedResult_s* x, int n);
void zx_hrxml_RankedResult_DEL_RankedResult(struct zx_hrxml_RankedResult_s* x, int n);

void zx_hrxml_RankedResult_REV_CriterionName(struct zx_hrxml_RankedResult_s* x);
void zx_hrxml_RankedResult_REV_Requested(struct zx_hrxml_RankedResult_s* x);
void zx_hrxml_RankedResult_REV_Offered(struct zx_hrxml_RankedResult_s* x);
void zx_hrxml_RankedResult_REV_Score(struct zx_hrxml_RankedResult_s* x);
void zx_hrxml_RankedResult_REV_Weight(struct zx_hrxml_RankedResult_s* x);
void zx_hrxml_RankedResult_REV_UserArea(struct zx_hrxml_RankedResult_s* x);
void zx_hrxml_RankedResult_REV_RankedResult(struct zx_hrxml_RankedResult_s* x);

#endif
/* -------------------------- hrxml_RankedSearchResults -------------------------- */
/* refby( zx_hrxml_SearchResult_s ) */
#ifndef zx_hrxml_RankedSearchResults_EXT
#define zx_hrxml_RankedSearchResults_EXT
#endif
struct zx_hrxml_RankedSearchResults_s {
  ZX_ELEM_EXT
  zx_hrxml_RankedSearchResults_EXT
  struct zx_hrxml_RankedResult_s* RankedResult;	/* {0,-1}  */
};

#define zx_NEW_hrxml_RankedSearchResults(c, father) (struct zx_hrxml_RankedSearchResults_s*)zx_new_elem((c),(father),zx_hrxml_RankedSearchResults_ELEM)
int zx_DEC_ATTR_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x);
int zx_DEC_ELEM_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RankedSearchResults_s* zx_DEEP_CLONE_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x);
int zx_WALK_SO_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RankedSearchResults(struct zx_ctx* c, struct zx_hrxml_RankedSearchResults_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_RankedResult_s* zx_hrxml_RankedSearchResults_GET_RankedResult(struct zx_hrxml_RankedSearchResults_s* x, int n);

int zx_hrxml_RankedSearchResults_NUM_RankedResult(struct zx_hrxml_RankedSearchResults_s* x);

struct zx_hrxml_RankedResult_s* zx_hrxml_RankedSearchResults_POP_RankedResult(struct zx_hrxml_RankedSearchResults_s* x);

void zx_hrxml_RankedSearchResults_PUSH_RankedResult(struct zx_hrxml_RankedSearchResults_s* x, struct zx_hrxml_RankedResult_s* y);


void zx_hrxml_RankedSearchResults_PUT_RankedResult(struct zx_hrxml_RankedSearchResults_s* x, int n, struct zx_hrxml_RankedResult_s* y);

void zx_hrxml_RankedSearchResults_ADD_RankedResult(struct zx_hrxml_RankedSearchResults_s* x, int n, struct zx_hrxml_RankedResult_s* z);

void zx_hrxml_RankedSearchResults_DEL_RankedResult(struct zx_hrxml_RankedSearchResults_s* x, int n);

void zx_hrxml_RankedSearchResults_REV_RankedResult(struct zx_hrxml_RankedSearchResults_s* x);

#endif
/* -------------------------- hrxml_Recipient -------------------------- */
/* refby( zx_hrxml_PostalAddress_s zx_hrxml_PositionLocation_s ) */
#ifndef zx_hrxml_Recipient_EXT
#define zx_hrxml_Recipient_EXT
#endif
struct zx_hrxml_Recipient_s {
  ZX_ELEM_EXT
  zx_hrxml_Recipient_EXT
  struct zx_hrxml_PersonName_s* PersonName;	/* {0,1}  */
  struct zx_elem_s* AdditionalText;	/* {0,-1} xsd:string */
  struct zx_hrxml_Organization_s* Organization;	/* {0,1}  */
  struct zx_elem_s* OrganizationName;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Recipient(c, father) (struct zx_hrxml_Recipient_s*)zx_new_elem((c),(father),zx_hrxml_Recipient_ELEM)
int zx_DEC_ATTR_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x);
int zx_DEC_ELEM_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Recipient_s* zx_DEEP_CLONE_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x);
int zx_WALK_SO_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Recipient(struct zx_ctx* c, struct zx_hrxml_Recipient_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PersonName_s* zx_hrxml_Recipient_GET_PersonName(struct zx_hrxml_Recipient_s* x, int n);
struct zx_elem_s* zx_hrxml_Recipient_GET_AdditionalText(struct zx_hrxml_Recipient_s* x, int n);
struct zx_hrxml_Organization_s* zx_hrxml_Recipient_GET_Organization(struct zx_hrxml_Recipient_s* x, int n);
struct zx_elem_s* zx_hrxml_Recipient_GET_OrganizationName(struct zx_hrxml_Recipient_s* x, int n);

int zx_hrxml_Recipient_NUM_PersonName(struct zx_hrxml_Recipient_s* x);
int zx_hrxml_Recipient_NUM_AdditionalText(struct zx_hrxml_Recipient_s* x);
int zx_hrxml_Recipient_NUM_Organization(struct zx_hrxml_Recipient_s* x);
int zx_hrxml_Recipient_NUM_OrganizationName(struct zx_hrxml_Recipient_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_Recipient_POP_PersonName(struct zx_hrxml_Recipient_s* x);
struct zx_elem_s* zx_hrxml_Recipient_POP_AdditionalText(struct zx_hrxml_Recipient_s* x);
struct zx_hrxml_Organization_s* zx_hrxml_Recipient_POP_Organization(struct zx_hrxml_Recipient_s* x);
struct zx_elem_s* zx_hrxml_Recipient_POP_OrganizationName(struct zx_hrxml_Recipient_s* x);

void zx_hrxml_Recipient_PUSH_PersonName(struct zx_hrxml_Recipient_s* x, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_Recipient_PUSH_AdditionalText(struct zx_hrxml_Recipient_s* x, struct zx_elem_s* y);
void zx_hrxml_Recipient_PUSH_Organization(struct zx_hrxml_Recipient_s* x, struct zx_hrxml_Organization_s* y);
void zx_hrxml_Recipient_PUSH_OrganizationName(struct zx_hrxml_Recipient_s* x, struct zx_elem_s* y);


void zx_hrxml_Recipient_PUT_PersonName(struct zx_hrxml_Recipient_s* x, int n, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_Recipient_PUT_AdditionalText(struct zx_hrxml_Recipient_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Recipient_PUT_Organization(struct zx_hrxml_Recipient_s* x, int n, struct zx_hrxml_Organization_s* y);
void zx_hrxml_Recipient_PUT_OrganizationName(struct zx_hrxml_Recipient_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Recipient_ADD_PersonName(struct zx_hrxml_Recipient_s* x, int n, struct zx_hrxml_PersonName_s* z);
void zx_hrxml_Recipient_ADD_AdditionalText(struct zx_hrxml_Recipient_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Recipient_ADD_Organization(struct zx_hrxml_Recipient_s* x, int n, struct zx_hrxml_Organization_s* z);
void zx_hrxml_Recipient_ADD_OrganizationName(struct zx_hrxml_Recipient_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Recipient_DEL_PersonName(struct zx_hrxml_Recipient_s* x, int n);
void zx_hrxml_Recipient_DEL_AdditionalText(struct zx_hrxml_Recipient_s* x,int n);
void zx_hrxml_Recipient_DEL_Organization(struct zx_hrxml_Recipient_s* x, int n);
void zx_hrxml_Recipient_DEL_OrganizationName(struct zx_hrxml_Recipient_s* x,int n);

void zx_hrxml_Recipient_REV_PersonName(struct zx_hrxml_Recipient_s* x);
void zx_hrxml_Recipient_REV_AdditionalText(struct zx_hrxml_Recipient_s* x);
void zx_hrxml_Recipient_REV_Organization(struct zx_hrxml_Recipient_s* x);
void zx_hrxml_Recipient_REV_OrganizationName(struct zx_hrxml_Recipient_s* x);

#endif
/* -------------------------- hrxml_Reference -------------------------- */
/* refby( zx_hrxml_References_s ) */
#ifndef zx_hrxml_Reference_EXT
#define zx_hrxml_Reference_EXT
#endif
struct zx_hrxml_Reference_s {
  ZX_ELEM_EXT
  zx_hrxml_Reference_EXT
  struct zx_hrxml_PersonName_s* PersonName;	/* {0,1}  */
  struct zx_elem_s* PositionTitle;	/* {0,1} xsd:string */
  struct zx_hrxml_ContactMethod_s* ContactMethod;	/* {0,-1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_Reference(c, father) (struct zx_hrxml_Reference_s*)zx_new_elem((c),(father),zx_hrxml_Reference_ELEM)
int zx_DEC_ATTR_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x);
int zx_DEC_ELEM_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Reference_s* zx_DEEP_CLONE_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x);
int zx_WALK_SO_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Reference(struct zx_ctx* c, struct zx_hrxml_Reference_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Reference_GET_type(struct zx_hrxml_Reference_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_Reference_GET_PersonName(struct zx_hrxml_Reference_s* x, int n);
struct zx_elem_s* zx_hrxml_Reference_GET_PositionTitle(struct zx_hrxml_Reference_s* x, int n);
struct zx_hrxml_ContactMethod_s* zx_hrxml_Reference_GET_ContactMethod(struct zx_hrxml_Reference_s* x, int n);
struct zx_elem_s* zx_hrxml_Reference_GET_Comments(struct zx_hrxml_Reference_s* x, int n);

int zx_hrxml_Reference_NUM_PersonName(struct zx_hrxml_Reference_s* x);
int zx_hrxml_Reference_NUM_PositionTitle(struct zx_hrxml_Reference_s* x);
int zx_hrxml_Reference_NUM_ContactMethod(struct zx_hrxml_Reference_s* x);
int zx_hrxml_Reference_NUM_Comments(struct zx_hrxml_Reference_s* x);

struct zx_hrxml_PersonName_s* zx_hrxml_Reference_POP_PersonName(struct zx_hrxml_Reference_s* x);
struct zx_elem_s* zx_hrxml_Reference_POP_PositionTitle(struct zx_hrxml_Reference_s* x);
struct zx_hrxml_ContactMethod_s* zx_hrxml_Reference_POP_ContactMethod(struct zx_hrxml_Reference_s* x);
struct zx_elem_s* zx_hrxml_Reference_POP_Comments(struct zx_hrxml_Reference_s* x);

void zx_hrxml_Reference_PUSH_PersonName(struct zx_hrxml_Reference_s* x, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_Reference_PUSH_PositionTitle(struct zx_hrxml_Reference_s* x, struct zx_elem_s* y);
void zx_hrxml_Reference_PUSH_ContactMethod(struct zx_hrxml_Reference_s* x, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_Reference_PUSH_Comments(struct zx_hrxml_Reference_s* x, struct zx_elem_s* y);

void zx_hrxml_Reference_PUT_type(struct zx_hrxml_Reference_s* x, struct zx_attr_s* y);

void zx_hrxml_Reference_PUT_PersonName(struct zx_hrxml_Reference_s* x, int n, struct zx_hrxml_PersonName_s* y);
void zx_hrxml_Reference_PUT_PositionTitle(struct zx_hrxml_Reference_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Reference_PUT_ContactMethod(struct zx_hrxml_Reference_s* x, int n, struct zx_hrxml_ContactMethod_s* y);
void zx_hrxml_Reference_PUT_Comments(struct zx_hrxml_Reference_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Reference_ADD_PersonName(struct zx_hrxml_Reference_s* x, int n, struct zx_hrxml_PersonName_s* z);
void zx_hrxml_Reference_ADD_PositionTitle(struct zx_hrxml_Reference_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Reference_ADD_ContactMethod(struct zx_hrxml_Reference_s* x, int n, struct zx_hrxml_ContactMethod_s* z);
void zx_hrxml_Reference_ADD_Comments(struct zx_hrxml_Reference_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Reference_DEL_PersonName(struct zx_hrxml_Reference_s* x, int n);
void zx_hrxml_Reference_DEL_PositionTitle(struct zx_hrxml_Reference_s* x,int n);
void zx_hrxml_Reference_DEL_ContactMethod(struct zx_hrxml_Reference_s* x, int n);
void zx_hrxml_Reference_DEL_Comments(struct zx_hrxml_Reference_s* x,int n);

void zx_hrxml_Reference_REV_PersonName(struct zx_hrxml_Reference_s* x);
void zx_hrxml_Reference_REV_PositionTitle(struct zx_hrxml_Reference_s* x);
void zx_hrxml_Reference_REV_ContactMethod(struct zx_hrxml_Reference_s* x);
void zx_hrxml_Reference_REV_Comments(struct zx_hrxml_Reference_s* x);

#endif
/* -------------------------- hrxml_References -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_References_EXT
#define zx_hrxml_References_EXT
#endif
struct zx_hrxml_References_s {
  ZX_ELEM_EXT
  zx_hrxml_References_EXT
  struct zx_hrxml_Reference_s* Reference;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_References(c, father) (struct zx_hrxml_References_s*)zx_new_elem((c),(father),zx_hrxml_References_ELEM)
int zx_DEC_ATTR_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x);
int zx_DEC_ELEM_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_References_s* zx_DEEP_CLONE_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x);
int zx_WALK_SO_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_References(struct zx_ctx* c, struct zx_hrxml_References_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Reference_s* zx_hrxml_References_GET_Reference(struct zx_hrxml_References_s* x, int n);

int zx_hrxml_References_NUM_Reference(struct zx_hrxml_References_s* x);

struct zx_hrxml_Reference_s* zx_hrxml_References_POP_Reference(struct zx_hrxml_References_s* x);

void zx_hrxml_References_PUSH_Reference(struct zx_hrxml_References_s* x, struct zx_hrxml_Reference_s* y);


void zx_hrxml_References_PUT_Reference(struct zx_hrxml_References_s* x, int n, struct zx_hrxml_Reference_s* y);

void zx_hrxml_References_ADD_Reference(struct zx_hrxml_References_s* x, int n, struct zx_hrxml_Reference_s* z);

void zx_hrxml_References_DEL_Reference(struct zx_hrxml_References_s* x, int n);

void zx_hrxml_References_REV_Reference(struct zx_hrxml_References_s* x);

#endif
/* -------------------------- hrxml_RelatedOrganization -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_RelatedOrganization_EXT
#define zx_hrxml_RelatedOrganization_EXT
#endif
struct zx_hrxml_RelatedOrganization_s {
  ZX_ELEM_EXT
  zx_hrxml_RelatedOrganization_EXT
  struct zx_elem_s* OrganizationName;	/* {0,1} xsd:string */
  struct zx_hrxml_OrganizationId_s* OrganizationId;	/* {0,-1}  */
  struct zx_hrxml_TaxId_s* TaxId;	/* {0,-1}  */
  struct zx_hrxml_LegalId_s* LegalId;	/* {0,-1}  */
  struct zx_hrxml_DunsNumber_s* DunsNumber;	/* {0,-1}  */
  struct zx_elem_s* IsPublicCompany;	/* {0,1} xsd:boolean */
  struct zx_hrxml_Stock_s* Stock;	/* {0,-1}  */
  struct zx_elem_s* MissionStatement;	/* {0,1} xsd:string */
  struct zx_elem_s* ValueStatement;	/* {0,1} xsd:string */
  struct zx_hrxml_InternetDomainName_s* InternetDomainName;	/* {0,-1}  */
  struct zx_hrxml_DoingBusinessAs_s* DoingBusinessAs;	/* {0,-1}  */
  struct zx_hrxml_LegalClassification_s* LegalClassification;	/* {0,-1}  */
  struct zx_hrxml_IndustryCode_s* IndustryCode;	/* {0,-1}  */
  struct zx_elem_s* Headcount;	/* {0,1} xsd:nonNegativeInteger */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_WorkSite_s* WorkSite;	/* {0,-1}  */
  struct zx_hrxml_ContactInfo_s* ContactInfo;	/* {0,-1}  */
  struct zx_hrxml_RelatedOrganization_s* RelatedOrganization;	/* {0,-1}  */
  struct zx_hrxml_OrganizationalUnit_s* OrganizationalUnit;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* relationship;	/* {0,1} attribute hrxml:RelationshipsType */
};

#define zx_NEW_hrxml_RelatedOrganization(c, father) (struct zx_hrxml_RelatedOrganization_s*)zx_new_elem((c),(father),zx_hrxml_RelatedOrganization_ELEM)
int zx_DEC_ATTR_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x);
int zx_DEC_ELEM_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RelatedOrganization_s* zx_DEEP_CLONE_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x);
int zx_WALK_SO_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RelatedOrganization(struct zx_ctx* c, struct zx_hrxml_RelatedOrganization_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_RelatedOrganization_GET_relationship(struct zx_hrxml_RelatedOrganization_s* x);

struct zx_elem_s* zx_hrxml_RelatedOrganization_GET_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_OrganizationId_s* zx_hrxml_RelatedOrganization_GET_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_TaxId_s* zx_hrxml_RelatedOrganization_GET_TaxId(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_LegalId_s* zx_hrxml_RelatedOrganization_GET_LegalId(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_DunsNumber_s* zx_hrxml_RelatedOrganization_GET_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_elem_s* zx_hrxml_RelatedOrganization_GET_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_Stock_s* zx_hrxml_RelatedOrganization_GET_Stock(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_elem_s* zx_hrxml_RelatedOrganization_GET_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_elem_s* zx_hrxml_RelatedOrganization_GET_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_InternetDomainName_s* zx_hrxml_RelatedOrganization_GET_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_DoingBusinessAs_s* zx_hrxml_RelatedOrganization_GET_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_LegalClassification_s* zx_hrxml_RelatedOrganization_GET_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_IndustryCode_s* zx_hrxml_RelatedOrganization_GET_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_elem_s* zx_hrxml_RelatedOrganization_GET_Headcount(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_RelatedOrganization_GET_Description(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_WorkSite_s* zx_hrxml_RelatedOrganization_GET_WorkSite(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_ContactInfo_s* zx_hrxml_RelatedOrganization_GET_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_RelatedOrganization_s* zx_hrxml_RelatedOrganization_GET_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_OrganizationalUnit_s* zx_hrxml_RelatedOrganization_GET_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_RelatedOrganization_GET_UserArea(struct zx_hrxml_RelatedOrganization_s* x, int n);

int zx_hrxml_RelatedOrganization_NUM_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_TaxId(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_LegalId(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_Stock(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_Headcount(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_Description(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_WorkSite(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x);
int zx_hrxml_RelatedOrganization_NUM_UserArea(struct zx_hrxml_RelatedOrganization_s* x);

struct zx_elem_s* zx_hrxml_RelatedOrganization_POP_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_OrganizationId_s* zx_hrxml_RelatedOrganization_POP_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_TaxId_s* zx_hrxml_RelatedOrganization_POP_TaxId(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_LegalId_s* zx_hrxml_RelatedOrganization_POP_LegalId(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_DunsNumber_s* zx_hrxml_RelatedOrganization_POP_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_elem_s* zx_hrxml_RelatedOrganization_POP_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_Stock_s* zx_hrxml_RelatedOrganization_POP_Stock(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_elem_s* zx_hrxml_RelatedOrganization_POP_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_elem_s* zx_hrxml_RelatedOrganization_POP_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_InternetDomainName_s* zx_hrxml_RelatedOrganization_POP_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_DoingBusinessAs_s* zx_hrxml_RelatedOrganization_POP_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_LegalClassification_s* zx_hrxml_RelatedOrganization_POP_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_IndustryCode_s* zx_hrxml_RelatedOrganization_POP_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_elem_s* zx_hrxml_RelatedOrganization_POP_Headcount(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_Description_s* zx_hrxml_RelatedOrganization_POP_Description(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_WorkSite_s* zx_hrxml_RelatedOrganization_POP_WorkSite(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_ContactInfo_s* zx_hrxml_RelatedOrganization_POP_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_RelatedOrganization_s* zx_hrxml_RelatedOrganization_POP_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_OrganizationalUnit_s* zx_hrxml_RelatedOrganization_POP_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_RelatedOrganization_POP_UserArea(struct zx_hrxml_RelatedOrganization_s* x);

void zx_hrxml_RelatedOrganization_PUSH_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUSH_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_OrganizationId_s* y);
void zx_hrxml_RelatedOrganization_PUSH_TaxId(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_TaxId_s* y);
void zx_hrxml_RelatedOrganization_PUSH_LegalId(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_LegalId_s* y);
void zx_hrxml_RelatedOrganization_PUSH_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_DunsNumber_s* y);
void zx_hrxml_RelatedOrganization_PUSH_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUSH_Stock(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_Stock_s* y);
void zx_hrxml_RelatedOrganization_PUSH_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUSH_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUSH_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_InternetDomainName_s* y);
void zx_hrxml_RelatedOrganization_PUSH_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_DoingBusinessAs_s* y);
void zx_hrxml_RelatedOrganization_PUSH_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_LegalClassification_s* y);
void zx_hrxml_RelatedOrganization_PUSH_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_RelatedOrganization_PUSH_Headcount(struct zx_hrxml_RelatedOrganization_s* x, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUSH_Description(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_RelatedOrganization_PUSH_WorkSite(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_WorkSite_s* y);
void zx_hrxml_RelatedOrganization_PUSH_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_ContactInfo_s* y);
void zx_hrxml_RelatedOrganization_PUSH_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_RelatedOrganization_s* y);
void zx_hrxml_RelatedOrganization_PUSH_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_OrganizationalUnit_s* y);
void zx_hrxml_RelatedOrganization_PUSH_UserArea(struct zx_hrxml_RelatedOrganization_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_RelatedOrganization_PUT_relationship(struct zx_hrxml_RelatedOrganization_s* x, struct zx_attr_s* y);

void zx_hrxml_RelatedOrganization_PUT_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUT_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_OrganizationId_s* y);
void zx_hrxml_RelatedOrganization_PUT_TaxId(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_TaxId_s* y);
void zx_hrxml_RelatedOrganization_PUT_LegalId(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_LegalId_s* y);
void zx_hrxml_RelatedOrganization_PUT_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_DunsNumber_s* y);
void zx_hrxml_RelatedOrganization_PUT_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUT_Stock(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_Stock_s* y);
void zx_hrxml_RelatedOrganization_PUT_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUT_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUT_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_InternetDomainName_s* y);
void zx_hrxml_RelatedOrganization_PUT_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_DoingBusinessAs_s* y);
void zx_hrxml_RelatedOrganization_PUT_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_LegalClassification_s* y);
void zx_hrxml_RelatedOrganization_PUT_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_RelatedOrganization_PUT_Headcount(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganization_PUT_Description(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_RelatedOrganization_PUT_WorkSite(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_WorkSite_s* y);
void zx_hrxml_RelatedOrganization_PUT_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_ContactInfo_s* y);
void zx_hrxml_RelatedOrganization_PUT_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_RelatedOrganization_s* y);
void zx_hrxml_RelatedOrganization_PUT_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_OrganizationalUnit_s* y);
void zx_hrxml_RelatedOrganization_PUT_UserArea(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_RelatedOrganization_ADD_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RelatedOrganization_ADD_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_OrganizationId_s* z);
void zx_hrxml_RelatedOrganization_ADD_TaxId(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_TaxId_s* z);
void zx_hrxml_RelatedOrganization_ADD_LegalId(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_LegalId_s* z);
void zx_hrxml_RelatedOrganization_ADD_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_DunsNumber_s* z);
void zx_hrxml_RelatedOrganization_ADD_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RelatedOrganization_ADD_Stock(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_Stock_s* z);
void zx_hrxml_RelatedOrganization_ADD_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RelatedOrganization_ADD_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RelatedOrganization_ADD_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_InternetDomainName_s* z);
void zx_hrxml_RelatedOrganization_ADD_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_DoingBusinessAs_s* z);
void zx_hrxml_RelatedOrganization_ADD_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_LegalClassification_s* z);
void zx_hrxml_RelatedOrganization_ADD_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_IndustryCode_s* z);
void zx_hrxml_RelatedOrganization_ADD_Headcount(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RelatedOrganization_ADD_Description(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_RelatedOrganization_ADD_WorkSite(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_WorkSite_s* z);
void zx_hrxml_RelatedOrganization_ADD_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_ContactInfo_s* z);
void zx_hrxml_RelatedOrganization_ADD_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_RelatedOrganization_s* z);
void zx_hrxml_RelatedOrganization_ADD_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_OrganizationalUnit_s* z);
void zx_hrxml_RelatedOrganization_ADD_UserArea(struct zx_hrxml_RelatedOrganization_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_RelatedOrganization_DEL_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x,int n);
void zx_hrxml_RelatedOrganization_DEL_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_TaxId(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_LegalId(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x,int n);
void zx_hrxml_RelatedOrganization_DEL_Stock(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x,int n);
void zx_hrxml_RelatedOrganization_DEL_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x,int n);
void zx_hrxml_RelatedOrganization_DEL_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_Headcount(struct zx_hrxml_RelatedOrganization_s* x,int n);
void zx_hrxml_RelatedOrganization_DEL_Description(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_WorkSite(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x, int n);
void zx_hrxml_RelatedOrganization_DEL_UserArea(struct zx_hrxml_RelatedOrganization_s* x, int n);

void zx_hrxml_RelatedOrganization_REV_OrganizationName(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_OrganizationId(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_TaxId(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_LegalId(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_DunsNumber(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_IsPublicCompany(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_Stock(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_MissionStatement(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_ValueStatement(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_InternetDomainName(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_DoingBusinessAs(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_LegalClassification(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_IndustryCode(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_Headcount(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_Description(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_WorkSite(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_ContactInfo(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_RelatedOrganization(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_OrganizationalUnit(struct zx_hrxml_RelatedOrganization_s* x);
void zx_hrxml_RelatedOrganization_REV_UserArea(struct zx_hrxml_RelatedOrganization_s* x);

#endif
/* -------------------------- hrxml_RelatedOrganizationalUnit -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_OrganizationalUnit_s ) */
#ifndef zx_hrxml_RelatedOrganizationalUnit_EXT
#define zx_hrxml_RelatedOrganizationalUnit_EXT
#endif
struct zx_hrxml_RelatedOrganizationalUnit_s {
  ZX_ELEM_EXT
  zx_hrxml_RelatedOrganizationalUnit_EXT
  struct zx_elem_s* OrganizationalUnitName;	/* {0,1} xsd:string */
  struct zx_hrxml_OrganizationalUnitId_s* OrganizationalUnitId;	/* {0,-1}  */
  struct zx_hrxml_OrganizationId_s* OrganizationId;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_IndustryCode_s* IndustryCode;	/* {0,-1}  */
  struct zx_hrxml_AccountingCode_s* AccountingCode;	/* {0,-1}  */
  struct zx_hrxml_WorkSite_s* WorkSite;	/* {0,-1}  */
  struct zx_hrxml_RelatedOrganizationalUnit_s* RelatedOrganizationalUnit;	/* {0,-1}  */
  struct zx_hrxml_PersonMember_s* PersonMember;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* hierarchicalRole;	/* {0,1} attribute hrxml:HierarchicalRoleType */
  struct zx_attr_s* natureOfRelationship;	/* {0,1} attribute hrxml:OrganizationalUnitStructureType */
  struct zx_attr_s* relationship;	/* {0,1} attribute hrxml:RelationshipsType */
  struct zx_attr_s* typeOfGroup;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_RelatedOrganizationalUnit(c, father) (struct zx_hrxml_RelatedOrganizationalUnit_s*)zx_new_elem((c),(father),zx_hrxml_RelatedOrganizationalUnit_ELEM)
int zx_DEC_ATTR_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_DEC_ELEM_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RelatedOrganizationalUnit_s* zx_DEEP_CLONE_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_WALK_SO_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RelatedOrganizationalUnit(struct zx_ctx* c, struct zx_hrxml_RelatedOrganizationalUnit_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_RelatedOrganizationalUnit_GET_hierarchicalRole(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_attr_s* zx_hrxml_RelatedOrganizationalUnit_GET_natureOfRelationship(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_attr_s* zx_hrxml_RelatedOrganizationalUnit_GET_relationship(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_attr_s* zx_hrxml_RelatedOrganizationalUnit_GET_typeOfGroup(struct zx_hrxml_RelatedOrganizationalUnit_s* x);

struct zx_elem_s* zx_hrxml_RelatedOrganizationalUnit_GET_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_OrganizationalUnitId_s* zx_hrxml_RelatedOrganizationalUnit_GET_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_OrganizationId_s* zx_hrxml_RelatedOrganizationalUnit_GET_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_RelatedOrganizationalUnit_GET_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_IndustryCode_s* zx_hrxml_RelatedOrganizationalUnit_GET_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_AccountingCode_s* zx_hrxml_RelatedOrganizationalUnit_GET_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_WorkSite_s* zx_hrxml_RelatedOrganizationalUnit_GET_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_RelatedOrganizationalUnit_s* zx_hrxml_RelatedOrganizationalUnit_GET_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_PersonMember_s* zx_hrxml_RelatedOrganizationalUnit_GET_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_RelatedOrganizationalUnit_GET_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);

int zx_hrxml_RelatedOrganizationalUnit_NUM_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
int zx_hrxml_RelatedOrganizationalUnit_NUM_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x);

struct zx_elem_s* zx_hrxml_RelatedOrganizationalUnit_POP_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_OrganizationalUnitId_s* zx_hrxml_RelatedOrganizationalUnit_POP_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_OrganizationId_s* zx_hrxml_RelatedOrganizationalUnit_POP_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_Description_s* zx_hrxml_RelatedOrganizationalUnit_POP_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_IndustryCode_s* zx_hrxml_RelatedOrganizationalUnit_POP_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_AccountingCode_s* zx_hrxml_RelatedOrganizationalUnit_POP_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_WorkSite_s* zx_hrxml_RelatedOrganizationalUnit_POP_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_RelatedOrganizationalUnit_s* zx_hrxml_RelatedOrganizationalUnit_POP_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_PersonMember_s* zx_hrxml_RelatedOrganizationalUnit_POP_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_RelatedOrganizationalUnit_POP_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x);

void zx_hrxml_RelatedOrganizationalUnit_PUSH_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_OrganizationalUnitId_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_OrganizationId_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_AccountingCode_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_WorkSite_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_RelatedOrganizationalUnit_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_PersonMember_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUSH_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_RelatedOrganizationalUnit_PUT_hierarchicalRole(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_attr_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_natureOfRelationship(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_attr_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_relationship(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_attr_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_typeOfGroup(struct zx_hrxml_RelatedOrganizationalUnit_s* x, struct zx_attr_s* y);

void zx_hrxml_RelatedOrganizationalUnit_PUT_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationalUnitId_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationId_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_IndustryCode_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_AccountingCode_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_WorkSite_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_RelatedOrganizationalUnit_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_PersonMember_s* y);
void zx_hrxml_RelatedOrganizationalUnit_PUT_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_RelatedOrganizationalUnit_ADD_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationalUnitId_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_OrganizationId_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_IndustryCode_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_AccountingCode_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_WorkSite_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_RelatedOrganizationalUnit_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_PersonMember_s* z);
void zx_hrxml_RelatedOrganizationalUnit_ADD_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_RelatedOrganizationalUnit_DEL_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x,int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);
void zx_hrxml_RelatedOrganizationalUnit_DEL_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x, int n);

void zx_hrxml_RelatedOrganizationalUnit_REV_OrganizationalUnitName(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_OrganizationalUnitId(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_OrganizationId(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_Description(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_IndustryCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_AccountingCode(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_WorkSite(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_RelatedOrganizationalUnit(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_PersonMember(struct zx_hrxml_RelatedOrganizationalUnit_s* x);
void zx_hrxml_RelatedOrganizationalUnit_REV_UserArea(struct zx_hrxml_RelatedOrganizationalUnit_s* x);

#endif
/* -------------------------- hrxml_RelatedPositionPostings -------------------------- */
/* refby( zx_hrxml_Candidate_s ) */
#ifndef zx_hrxml_RelatedPositionPostings_EXT
#define zx_hrxml_RelatedPositionPostings_EXT
#endif
struct zx_hrxml_RelatedPositionPostings_s {
  ZX_ELEM_EXT
  zx_hrxml_RelatedPositionPostings_EXT
  struct zx_hrxml_PositionPosting_s* PositionPosting;	/* {0,-1}  */
};

#define zx_NEW_hrxml_RelatedPositionPostings(c, father) (struct zx_hrxml_RelatedPositionPostings_s*)zx_new_elem((c),(father),zx_hrxml_RelatedPositionPostings_ELEM)
int zx_DEC_ATTR_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x);
int zx_DEC_ELEM_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RelatedPositionPostings_s* zx_DEEP_CLONE_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x);
int zx_WALK_SO_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RelatedPositionPostings(struct zx_ctx* c, struct zx_hrxml_RelatedPositionPostings_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_PositionPosting_s* zx_hrxml_RelatedPositionPostings_GET_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x, int n);

int zx_hrxml_RelatedPositionPostings_NUM_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x);

struct zx_hrxml_PositionPosting_s* zx_hrxml_RelatedPositionPostings_POP_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x);

void zx_hrxml_RelatedPositionPostings_PUSH_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x, struct zx_hrxml_PositionPosting_s* y);


void zx_hrxml_RelatedPositionPostings_PUT_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x, int n, struct zx_hrxml_PositionPosting_s* y);

void zx_hrxml_RelatedPositionPostings_ADD_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x, int n, struct zx_hrxml_PositionPosting_s* z);

void zx_hrxml_RelatedPositionPostings_DEL_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x, int n);

void zx_hrxml_RelatedPositionPostings_REV_PositionPosting(struct zx_hrxml_RelatedPositionPostings_s* x);

#endif
/* -------------------------- hrxml_Relocation -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_Relocation_EXT
#define zx_hrxml_Relocation_EXT
#endif
struct zx_hrxml_Relocation_s {
  ZX_ELEM_EXT
  zx_hrxml_Relocation_EXT
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_attr_s* relocationConsidered;	/* {1,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_Relocation(c, father) (struct zx_hrxml_Relocation_s*)zx_new_elem((c),(father),zx_hrxml_Relocation_ELEM)
int zx_DEC_ATTR_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x);
int zx_DEC_ELEM_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Relocation_s* zx_DEEP_CLONE_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x);
int zx_WALK_SO_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Relocation(struct zx_ctx* c, struct zx_hrxml_Relocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Relocation_GET_relocationConsidered(struct zx_hrxml_Relocation_s* x);

struct zx_elem_s* zx_hrxml_Relocation_GET_Comments(struct zx_hrxml_Relocation_s* x, int n);

int zx_hrxml_Relocation_NUM_Comments(struct zx_hrxml_Relocation_s* x);

struct zx_elem_s* zx_hrxml_Relocation_POP_Comments(struct zx_hrxml_Relocation_s* x);

void zx_hrxml_Relocation_PUSH_Comments(struct zx_hrxml_Relocation_s* x, struct zx_elem_s* y);

void zx_hrxml_Relocation_PUT_relocationConsidered(struct zx_hrxml_Relocation_s* x, struct zx_attr_s* y);

void zx_hrxml_Relocation_PUT_Comments(struct zx_hrxml_Relocation_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Relocation_ADD_Comments(struct zx_hrxml_Relocation_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Relocation_DEL_Comments(struct zx_hrxml_Relocation_s* x,int n);

void zx_hrxml_Relocation_REV_Comments(struct zx_hrxml_Relocation_s* x);

#endif
/* -------------------------- hrxml_RelocationAssistance -------------------------- */
/* refby( zx_hrxml_Benefits_s ) */
#ifndef zx_hrxml_RelocationAssistance_EXT
#define zx_hrxml_RelocationAssistance_EXT
#endif
struct zx_hrxml_RelocationAssistance_s {
  ZX_ELEM_EXT
  zx_hrxml_RelocationAssistance_EXT
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_attr_s* companyOffered;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_RelocationAssistance(c, father) (struct zx_hrxml_RelocationAssistance_s*)zx_new_elem((c),(father),zx_hrxml_RelocationAssistance_ELEM)
int zx_DEC_ATTR_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x);
int zx_DEC_ELEM_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RelocationAssistance_s* zx_DEEP_CLONE_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x);
int zx_WALK_SO_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RelocationAssistance(struct zx_ctx* c, struct zx_hrxml_RelocationAssistance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_RelocationAssistance_GET_companyOffered(struct zx_hrxml_RelocationAssistance_s* x);

struct zx_hrxml_Description_s* zx_hrxml_RelocationAssistance_GET_Description(struct zx_hrxml_RelocationAssistance_s* x, int n);

int zx_hrxml_RelocationAssistance_NUM_Description(struct zx_hrxml_RelocationAssistance_s* x);

struct zx_hrxml_Description_s* zx_hrxml_RelocationAssistance_POP_Description(struct zx_hrxml_RelocationAssistance_s* x);

void zx_hrxml_RelocationAssistance_PUSH_Description(struct zx_hrxml_RelocationAssistance_s* x, struct zx_hrxml_Description_s* y);

void zx_hrxml_RelocationAssistance_PUT_companyOffered(struct zx_hrxml_RelocationAssistance_s* x, struct zx_attr_s* y);

void zx_hrxml_RelocationAssistance_PUT_Description(struct zx_hrxml_RelocationAssistance_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_RelocationAssistance_ADD_Description(struct zx_hrxml_RelocationAssistance_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_RelocationAssistance_DEL_Description(struct zx_hrxml_RelocationAssistance_s* x, int n);

void zx_hrxml_RelocationAssistance_REV_Description(struct zx_hrxml_RelocationAssistance_s* x);

#endif
/* -------------------------- hrxml_RemunerationPackage -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_RemunerationPackage_EXT
#define zx_hrxml_RemunerationPackage_EXT
#endif
struct zx_hrxml_RemunerationPackage_s {
  ZX_ELEM_EXT
  zx_hrxml_RemunerationPackage_EXT
  struct zx_hrxml_BasePay_s* BasePay;	/* {0,-1}  */
  struct zx_hrxml_OtherPay_s* OtherPay;	/* {0,-1}  */
  struct zx_hrxml_Benefits_s* Benefits;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_RemunerationPackage(c, father) (struct zx_hrxml_RemunerationPackage_s*)zx_new_elem((c),(father),zx_hrxml_RemunerationPackage_ELEM)
int zx_DEC_ATTR_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x);
int zx_DEC_ELEM_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RemunerationPackage_s* zx_DEEP_CLONE_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x);
int zx_WALK_SO_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RemunerationPackage(struct zx_ctx* c, struct zx_hrxml_RemunerationPackage_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_BasePay_s* zx_hrxml_RemunerationPackage_GET_BasePay(struct zx_hrxml_RemunerationPackage_s* x, int n);
struct zx_hrxml_OtherPay_s* zx_hrxml_RemunerationPackage_GET_OtherPay(struct zx_hrxml_RemunerationPackage_s* x, int n);
struct zx_hrxml_Benefits_s* zx_hrxml_RemunerationPackage_GET_Benefits(struct zx_hrxml_RemunerationPackage_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_RemunerationPackage_GET_UserArea(struct zx_hrxml_RemunerationPackage_s* x, int n);

int zx_hrxml_RemunerationPackage_NUM_BasePay(struct zx_hrxml_RemunerationPackage_s* x);
int zx_hrxml_RemunerationPackage_NUM_OtherPay(struct zx_hrxml_RemunerationPackage_s* x);
int zx_hrxml_RemunerationPackage_NUM_Benefits(struct zx_hrxml_RemunerationPackage_s* x);
int zx_hrxml_RemunerationPackage_NUM_UserArea(struct zx_hrxml_RemunerationPackage_s* x);

struct zx_hrxml_BasePay_s* zx_hrxml_RemunerationPackage_POP_BasePay(struct zx_hrxml_RemunerationPackage_s* x);
struct zx_hrxml_OtherPay_s* zx_hrxml_RemunerationPackage_POP_OtherPay(struct zx_hrxml_RemunerationPackage_s* x);
struct zx_hrxml_Benefits_s* zx_hrxml_RemunerationPackage_POP_Benefits(struct zx_hrxml_RemunerationPackage_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_RemunerationPackage_POP_UserArea(struct zx_hrxml_RemunerationPackage_s* x);

void zx_hrxml_RemunerationPackage_PUSH_BasePay(struct zx_hrxml_RemunerationPackage_s* x, struct zx_hrxml_BasePay_s* y);
void zx_hrxml_RemunerationPackage_PUSH_OtherPay(struct zx_hrxml_RemunerationPackage_s* x, struct zx_hrxml_OtherPay_s* y);
void zx_hrxml_RemunerationPackage_PUSH_Benefits(struct zx_hrxml_RemunerationPackage_s* x, struct zx_hrxml_Benefits_s* y);
void zx_hrxml_RemunerationPackage_PUSH_UserArea(struct zx_hrxml_RemunerationPackage_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_RemunerationPackage_PUT_BasePay(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_BasePay_s* y);
void zx_hrxml_RemunerationPackage_PUT_OtherPay(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_OtherPay_s* y);
void zx_hrxml_RemunerationPackage_PUT_Benefits(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_Benefits_s* y);
void zx_hrxml_RemunerationPackage_PUT_UserArea(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_RemunerationPackage_ADD_BasePay(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_BasePay_s* z);
void zx_hrxml_RemunerationPackage_ADD_OtherPay(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_OtherPay_s* z);
void zx_hrxml_RemunerationPackage_ADD_Benefits(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_Benefits_s* z);
void zx_hrxml_RemunerationPackage_ADD_UserArea(struct zx_hrxml_RemunerationPackage_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_RemunerationPackage_DEL_BasePay(struct zx_hrxml_RemunerationPackage_s* x, int n);
void zx_hrxml_RemunerationPackage_DEL_OtherPay(struct zx_hrxml_RemunerationPackage_s* x, int n);
void zx_hrxml_RemunerationPackage_DEL_Benefits(struct zx_hrxml_RemunerationPackage_s* x, int n);
void zx_hrxml_RemunerationPackage_DEL_UserArea(struct zx_hrxml_RemunerationPackage_s* x, int n);

void zx_hrxml_RemunerationPackage_REV_BasePay(struct zx_hrxml_RemunerationPackage_s* x);
void zx_hrxml_RemunerationPackage_REV_OtherPay(struct zx_hrxml_RemunerationPackage_s* x);
void zx_hrxml_RemunerationPackage_REV_Benefits(struct zx_hrxml_RemunerationPackage_s* x);
void zx_hrxml_RemunerationPackage_REV_UserArea(struct zx_hrxml_RemunerationPackage_s* x);

#endif
/* -------------------------- hrxml_Resume -------------------------- */
/* refby( zx_hrxml_Candidate_s ) */
#ifndef zx_hrxml_Resume_EXT
#define zx_hrxml_Resume_EXT
#endif
struct zx_hrxml_Resume_s {
  ZX_ELEM_EXT
  zx_hrxml_Resume_EXT
  struct zx_elem_s* ResumeId;	/* {0,1} EntityIdType */
  struct zx_elem_s* DistributionGuidelines;	/* {0,1} DistributionGuidelinesType */
  struct zx_hrxml_StructuredXMLResume_s* StructuredXMLResume;	/* {0,1} nada */
  struct zx_hrxml_NonXMLResume_s* NonXMLResume;	/* {0,1} nada */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_Resume(c, father) (struct zx_hrxml_Resume_s*)zx_new_elem((c),(father),zx_hrxml_Resume_ELEM)
int zx_DEC_ATTR_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x);
int zx_DEC_ELEM_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Resume_s* zx_DEEP_CLONE_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x);
int zx_WALK_SO_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Resume(struct zx_ctx* c, struct zx_hrxml_Resume_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Resume_GET_lang(struct zx_hrxml_Resume_s* x);

struct zx_elem_s* zx_hrxml_Resume_GET_ResumeId(struct zx_hrxml_Resume_s* x, int n);
struct zx_elem_s* zx_hrxml_Resume_GET_DistributionGuidelines(struct zx_hrxml_Resume_s* x, int n);
struct zx_hrxml_StructuredXMLResume_s* zx_hrxml_Resume_GET_StructuredXMLResume(struct zx_hrxml_Resume_s* x, int n);
struct zx_hrxml_NonXMLResume_s* zx_hrxml_Resume_GET_NonXMLResume(struct zx_hrxml_Resume_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_Resume_GET_UserArea(struct zx_hrxml_Resume_s* x, int n);

int zx_hrxml_Resume_NUM_ResumeId(struct zx_hrxml_Resume_s* x);
int zx_hrxml_Resume_NUM_DistributionGuidelines(struct zx_hrxml_Resume_s* x);
int zx_hrxml_Resume_NUM_StructuredXMLResume(struct zx_hrxml_Resume_s* x);
int zx_hrxml_Resume_NUM_NonXMLResume(struct zx_hrxml_Resume_s* x);
int zx_hrxml_Resume_NUM_UserArea(struct zx_hrxml_Resume_s* x);

struct zx_elem_s* zx_hrxml_Resume_POP_ResumeId(struct zx_hrxml_Resume_s* x);
struct zx_elem_s* zx_hrxml_Resume_POP_DistributionGuidelines(struct zx_hrxml_Resume_s* x);
struct zx_hrxml_StructuredXMLResume_s* zx_hrxml_Resume_POP_StructuredXMLResume(struct zx_hrxml_Resume_s* x);
struct zx_hrxml_NonXMLResume_s* zx_hrxml_Resume_POP_NonXMLResume(struct zx_hrxml_Resume_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_Resume_POP_UserArea(struct zx_hrxml_Resume_s* x);

void zx_hrxml_Resume_PUSH_ResumeId(struct zx_hrxml_Resume_s* x, struct zx_elem_s* y);
void zx_hrxml_Resume_PUSH_DistributionGuidelines(struct zx_hrxml_Resume_s* x, struct zx_elem_s* y);
void zx_hrxml_Resume_PUSH_StructuredXMLResume(struct zx_hrxml_Resume_s* x, struct zx_hrxml_StructuredXMLResume_s* y);
void zx_hrxml_Resume_PUSH_NonXMLResume(struct zx_hrxml_Resume_s* x, struct zx_hrxml_NonXMLResume_s* y);
void zx_hrxml_Resume_PUSH_UserArea(struct zx_hrxml_Resume_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Resume_PUT_lang(struct zx_hrxml_Resume_s* x, struct zx_attr_s* y);

void zx_hrxml_Resume_PUT_ResumeId(struct zx_hrxml_Resume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Resume_PUT_DistributionGuidelines(struct zx_hrxml_Resume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Resume_PUT_StructuredXMLResume(struct zx_hrxml_Resume_s* x, int n, struct zx_hrxml_StructuredXMLResume_s* y);
void zx_hrxml_Resume_PUT_NonXMLResume(struct zx_hrxml_Resume_s* x, int n, struct zx_hrxml_NonXMLResume_s* y);
void zx_hrxml_Resume_PUT_UserArea(struct zx_hrxml_Resume_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_Resume_ADD_ResumeId(struct zx_hrxml_Resume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Resume_ADD_DistributionGuidelines(struct zx_hrxml_Resume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Resume_ADD_StructuredXMLResume(struct zx_hrxml_Resume_s* x, int n, struct zx_hrxml_StructuredXMLResume_s* z);
void zx_hrxml_Resume_ADD_NonXMLResume(struct zx_hrxml_Resume_s* x, int n, struct zx_hrxml_NonXMLResume_s* z);
void zx_hrxml_Resume_ADD_UserArea(struct zx_hrxml_Resume_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_Resume_DEL_ResumeId(struct zx_hrxml_Resume_s* x,int n);
void zx_hrxml_Resume_DEL_DistributionGuidelines(struct zx_hrxml_Resume_s* x,int n);
void zx_hrxml_Resume_DEL_StructuredXMLResume(struct zx_hrxml_Resume_s* x, int n);
void zx_hrxml_Resume_DEL_NonXMLResume(struct zx_hrxml_Resume_s* x, int n);
void zx_hrxml_Resume_DEL_UserArea(struct zx_hrxml_Resume_s* x, int n);

void zx_hrxml_Resume_REV_ResumeId(struct zx_hrxml_Resume_s* x);
void zx_hrxml_Resume_REV_DistributionGuidelines(struct zx_hrxml_Resume_s* x);
void zx_hrxml_Resume_REV_StructuredXMLResume(struct zx_hrxml_Resume_s* x);
void zx_hrxml_Resume_REV_NonXMLResume(struct zx_hrxml_Resume_s* x);
void zx_hrxml_Resume_REV_UserArea(struct zx_hrxml_Resume_s* x);

#endif
/* -------------------------- hrxml_ResumeAdditionalItem -------------------------- */
/* refby( zx_hrxml_ResumeAdditionalItems_s ) */
#ifndef zx_hrxml_ResumeAdditionalItem_EXT
#define zx_hrxml_ResumeAdditionalItem_EXT
#endif
struct zx_hrxml_ResumeAdditionalItem_s {
  ZX_ELEM_EXT
  zx_hrxml_ResumeAdditionalItem_EXT
  struct zx_hrxml_EffectiveDate_s* EffectiveDate;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {1,-1}  */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_ResumeAdditionalItem(c, father) (struct zx_hrxml_ResumeAdditionalItem_s*)zx_new_elem((c),(father),zx_hrxml_ResumeAdditionalItem_ELEM)
int zx_DEC_ATTR_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x);
int zx_DEC_ELEM_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ResumeAdditionalItem_s* zx_DEEP_CLONE_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x);
int zx_WALK_SO_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ResumeAdditionalItem(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItem_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ResumeAdditionalItem_GET_type(struct zx_hrxml_ResumeAdditionalItem_s* x);

struct zx_hrxml_EffectiveDate_s* zx_hrxml_ResumeAdditionalItem_GET_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_ResumeAdditionalItem_GET_Description(struct zx_hrxml_ResumeAdditionalItem_s* x, int n);

int zx_hrxml_ResumeAdditionalItem_NUM_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x);
int zx_hrxml_ResumeAdditionalItem_NUM_Description(struct zx_hrxml_ResumeAdditionalItem_s* x);

struct zx_hrxml_EffectiveDate_s* zx_hrxml_ResumeAdditionalItem_POP_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x);
struct zx_hrxml_Description_s* zx_hrxml_ResumeAdditionalItem_POP_Description(struct zx_hrxml_ResumeAdditionalItem_s* x);

void zx_hrxml_ResumeAdditionalItem_PUSH_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x, struct zx_hrxml_EffectiveDate_s* y);
void zx_hrxml_ResumeAdditionalItem_PUSH_Description(struct zx_hrxml_ResumeAdditionalItem_s* x, struct zx_hrxml_Description_s* y);

void zx_hrxml_ResumeAdditionalItem_PUT_type(struct zx_hrxml_ResumeAdditionalItem_s* x, struct zx_attr_s* y);

void zx_hrxml_ResumeAdditionalItem_PUT_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x, int n, struct zx_hrxml_EffectiveDate_s* y);
void zx_hrxml_ResumeAdditionalItem_PUT_Description(struct zx_hrxml_ResumeAdditionalItem_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_ResumeAdditionalItem_ADD_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x, int n, struct zx_hrxml_EffectiveDate_s* z);
void zx_hrxml_ResumeAdditionalItem_ADD_Description(struct zx_hrxml_ResumeAdditionalItem_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_ResumeAdditionalItem_DEL_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x, int n);
void zx_hrxml_ResumeAdditionalItem_DEL_Description(struct zx_hrxml_ResumeAdditionalItem_s* x, int n);

void zx_hrxml_ResumeAdditionalItem_REV_EffectiveDate(struct zx_hrxml_ResumeAdditionalItem_s* x);
void zx_hrxml_ResumeAdditionalItem_REV_Description(struct zx_hrxml_ResumeAdditionalItem_s* x);

#endif
/* -------------------------- hrxml_ResumeAdditionalItems -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_ResumeAdditionalItems_EXT
#define zx_hrxml_ResumeAdditionalItems_EXT
#endif
struct zx_hrxml_ResumeAdditionalItems_s {
  ZX_ELEM_EXT
  zx_hrxml_ResumeAdditionalItems_EXT
  struct zx_hrxml_ResumeAdditionalItem_s* ResumeAdditionalItem;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_ResumeAdditionalItems(c, father) (struct zx_hrxml_ResumeAdditionalItems_s*)zx_new_elem((c),(father),zx_hrxml_ResumeAdditionalItems_ELEM)
int zx_DEC_ATTR_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x);
int zx_DEC_ELEM_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ResumeAdditionalItems_s* zx_DEEP_CLONE_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x);
int zx_WALK_SO_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ResumeAdditionalItems(struct zx_ctx* c, struct zx_hrxml_ResumeAdditionalItems_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_ResumeAdditionalItem_s* zx_hrxml_ResumeAdditionalItems_GET_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x, int n);

int zx_hrxml_ResumeAdditionalItems_NUM_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x);

struct zx_hrxml_ResumeAdditionalItem_s* zx_hrxml_ResumeAdditionalItems_POP_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x);

void zx_hrxml_ResumeAdditionalItems_PUSH_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x, struct zx_hrxml_ResumeAdditionalItem_s* y);


void zx_hrxml_ResumeAdditionalItems_PUT_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x, int n, struct zx_hrxml_ResumeAdditionalItem_s* y);

void zx_hrxml_ResumeAdditionalItems_ADD_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x, int n, struct zx_hrxml_ResumeAdditionalItem_s* z);

void zx_hrxml_ResumeAdditionalItems_DEL_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x, int n);

void zx_hrxml_ResumeAdditionalItems_REV_ResumeAdditionalItem(struct zx_hrxml_ResumeAdditionalItems_s* x);

#endif
/* -------------------------- hrxml_RoleId -------------------------- */
/* refby( zx_hrxml_PersonRole_s ) */
#ifndef zx_hrxml_RoleId_EXT
#define zx_hrxml_RoleId_EXT
#endif
struct zx_hrxml_RoleId_s {
  ZX_ELEM_EXT
  zx_hrxml_RoleId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_RoleId(c, father) (struct zx_hrxml_RoleId_s*)zx_new_elem((c),(father),zx_hrxml_RoleId_ELEM)
int zx_DEC_ATTR_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x);
int zx_DEC_ELEM_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_RoleId_s* zx_DEEP_CLONE_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x);
int zx_WALK_SO_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_RoleId(struct zx_ctx* c, struct zx_hrxml_RoleId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_RoleId_GET_idOwner(struct zx_hrxml_RoleId_s* x);
struct zx_attr_s* zx_hrxml_RoleId_GET_validFrom(struct zx_hrxml_RoleId_s* x);
struct zx_attr_s* zx_hrxml_RoleId_GET_validTo(struct zx_hrxml_RoleId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_RoleId_GET_IdValue(struct zx_hrxml_RoleId_s* x, int n);

int zx_hrxml_RoleId_NUM_IdValue(struct zx_hrxml_RoleId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_RoleId_POP_IdValue(struct zx_hrxml_RoleId_s* x);

void zx_hrxml_RoleId_PUSH_IdValue(struct zx_hrxml_RoleId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_RoleId_PUT_idOwner(struct zx_hrxml_RoleId_s* x, struct zx_attr_s* y);
void zx_hrxml_RoleId_PUT_validFrom(struct zx_hrxml_RoleId_s* x, struct zx_attr_s* y);
void zx_hrxml_RoleId_PUT_validTo(struct zx_hrxml_RoleId_s* x, struct zx_attr_s* y);

void zx_hrxml_RoleId_PUT_IdValue(struct zx_hrxml_RoleId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_RoleId_ADD_IdValue(struct zx_hrxml_RoleId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_RoleId_DEL_IdValue(struct zx_hrxml_RoleId_s* x, int n);

void zx_hrxml_RoleId_REV_IdValue(struct zx_hrxml_RoleId_s* x);

#endif
/* -------------------------- hrxml_SEPPhysicalLocation -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_SEPPhysicalLocation_EXT
#define zx_hrxml_SEPPhysicalLocation_EXT
#endif
struct zx_hrxml_SEPPhysicalLocation_s {
  ZX_ELEM_EXT
  zx_hrxml_SEPPhysicalLocation_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Name;	/* {0,1} xsd:string */
  struct zx_hrxml_SpatialLocation_s* SpatialLocation;	/* {0,1}  */
  struct zx_hrxml_TravelDirections_s* TravelDirections;	/* {0,-1}  */
  struct zx_hrxml_Area_s* Area;	/* {0,-1}  */
  struct zx_hrxml_PostalAddress_s* PostalAddress;	/* {0,1} nada */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_SEPPhysicalLocation(c, father) (struct zx_hrxml_SEPPhysicalLocation_s*)zx_new_elem((c),(father),zx_hrxml_SEPPhysicalLocation_ELEM)
int zx_DEC_ATTR_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_DEC_ELEM_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SEPPhysicalLocation_s* zx_DEEP_CLONE_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_WALK_SO_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SEPPhysicalLocation(struct zx_ctx* c, struct zx_hrxml_SEPPhysicalLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_SEPPhysicalLocation_GET_Id(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_SEPPhysicalLocation_GET_Name(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
struct zx_hrxml_SpatialLocation_s* zx_hrxml_SEPPhysicalLocation_GET_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
struct zx_hrxml_TravelDirections_s* zx_hrxml_SEPPhysicalLocation_GET_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
struct zx_hrxml_Area_s* zx_hrxml_SEPPhysicalLocation_GET_Area(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
struct zx_hrxml_PostalAddress_s* zx_hrxml_SEPPhysicalLocation_GET_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_SEPPhysicalLocation_GET_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);

int zx_hrxml_SEPPhysicalLocation_NUM_Id(struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_hrxml_SEPPhysicalLocation_NUM_Name(struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_hrxml_SEPPhysicalLocation_NUM_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_hrxml_SEPPhysicalLocation_NUM_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_hrxml_SEPPhysicalLocation_NUM_Area(struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_hrxml_SEPPhysicalLocation_NUM_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x);
int zx_hrxml_SEPPhysicalLocation_NUM_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x);

struct zx_hrxml_Id_s* zx_hrxml_SEPPhysicalLocation_POP_Id(struct zx_hrxml_SEPPhysicalLocation_s* x);
struct zx_elem_s* zx_hrxml_SEPPhysicalLocation_POP_Name(struct zx_hrxml_SEPPhysicalLocation_s* x);
struct zx_hrxml_SpatialLocation_s* zx_hrxml_SEPPhysicalLocation_POP_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x);
struct zx_hrxml_TravelDirections_s* zx_hrxml_SEPPhysicalLocation_POP_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x);
struct zx_hrxml_Area_s* zx_hrxml_SEPPhysicalLocation_POP_Area(struct zx_hrxml_SEPPhysicalLocation_s* x);
struct zx_hrxml_PostalAddress_s* zx_hrxml_SEPPhysicalLocation_POP_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x);
struct zx_elem_s* zx_hrxml_SEPPhysicalLocation_POP_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x);

void zx_hrxml_SEPPhysicalLocation_PUSH_Id(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_SEPPhysicalLocation_PUSH_Name(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_SEPPhysicalLocation_PUSH_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_hrxml_SpatialLocation_s* y);
void zx_hrxml_SEPPhysicalLocation_PUSH_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_hrxml_TravelDirections_s* y);
void zx_hrxml_SEPPhysicalLocation_PUSH_Area(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_hrxml_Area_s* y);
void zx_hrxml_SEPPhysicalLocation_PUSH_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_SEPPhysicalLocation_PUSH_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x, struct zx_elem_s* y);


void zx_hrxml_SEPPhysicalLocation_PUT_Id(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_SEPPhysicalLocation_PUT_Name(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SEPPhysicalLocation_PUT_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_SpatialLocation_s* y);
void zx_hrxml_SEPPhysicalLocation_PUT_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_TravelDirections_s* y);
void zx_hrxml_SEPPhysicalLocation_PUT_Area(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_Area_s* y);
void zx_hrxml_SEPPhysicalLocation_PUT_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_SEPPhysicalLocation_PUT_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_SEPPhysicalLocation_ADD_Id(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_SEPPhysicalLocation_ADD_Name(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SEPPhysicalLocation_ADD_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_SpatialLocation_s* z);
void zx_hrxml_SEPPhysicalLocation_ADD_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_TravelDirections_s* z);
void zx_hrxml_SEPPhysicalLocation_ADD_Area(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_Area_s* z);
void zx_hrxml_SEPPhysicalLocation_ADD_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_hrxml_PostalAddress_s* z);
void zx_hrxml_SEPPhysicalLocation_ADD_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_SEPPhysicalLocation_DEL_Id(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
void zx_hrxml_SEPPhysicalLocation_DEL_Name(struct zx_hrxml_SEPPhysicalLocation_s* x,int n);
void zx_hrxml_SEPPhysicalLocation_DEL_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
void zx_hrxml_SEPPhysicalLocation_DEL_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
void zx_hrxml_SEPPhysicalLocation_DEL_Area(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
void zx_hrxml_SEPPhysicalLocation_DEL_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x, int n);
void zx_hrxml_SEPPhysicalLocation_DEL_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x,int n);

void zx_hrxml_SEPPhysicalLocation_REV_Id(struct zx_hrxml_SEPPhysicalLocation_s* x);
void zx_hrxml_SEPPhysicalLocation_REV_Name(struct zx_hrxml_SEPPhysicalLocation_s* x);
void zx_hrxml_SEPPhysicalLocation_REV_SpatialLocation(struct zx_hrxml_SEPPhysicalLocation_s* x);
void zx_hrxml_SEPPhysicalLocation_REV_TravelDirections(struct zx_hrxml_SEPPhysicalLocation_s* x);
void zx_hrxml_SEPPhysicalLocation_REV_Area(struct zx_hrxml_SEPPhysicalLocation_s* x);
void zx_hrxml_SEPPhysicalLocation_REV_PostalAddress(struct zx_hrxml_SEPPhysicalLocation_s* x);
void zx_hrxml_SEPPhysicalLocation_REV_Comments(struct zx_hrxml_SEPPhysicalLocation_s* x);

#endif
/* -------------------------- hrxml_SafetyEquipment -------------------------- */
/* refby( zx_hrxml_Considerations_s ) */
#ifndef zx_hrxml_SafetyEquipment_EXT
#define zx_hrxml_SafetyEquipment_EXT
#endif
struct zx_hrxml_SafetyEquipment_s {
  ZX_ELEM_EXT
  zx_hrxml_SafetyEquipment_EXT
  struct zx_attr_s* suppliedByOrganization;	/* {0,1} attribute xsd:boolean */
};

#define zx_NEW_hrxml_SafetyEquipment(c, father) (struct zx_hrxml_SafetyEquipment_s*)zx_new_elem((c),(father),zx_hrxml_SafetyEquipment_ELEM)
int zx_DEC_ATTR_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x);
int zx_DEC_ELEM_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SafetyEquipment_s* zx_DEEP_CLONE_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x);
int zx_WALK_SO_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SafetyEquipment(struct zx_ctx* c, struct zx_hrxml_SafetyEquipment_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SafetyEquipment_GET_suppliedByOrganization(struct zx_hrxml_SafetyEquipment_s* x);





void zx_hrxml_SafetyEquipment_PUT_suppliedByOrganization(struct zx_hrxml_SafetyEquipment_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_School -------------------------- */
/* refby( zx_hrxml_SchoolOrInstitution_s ) */
#ifndef zx_hrxml_School_EXT
#define zx_hrxml_School_EXT
#endif
struct zx_hrxml_School_s {
  ZX_ELEM_EXT
  zx_hrxml_School_EXT
  struct zx_hrxml_InternetDomainName_s* InternetDomainName;	/* {0,-1}  */
  struct zx_hrxml_SchoolId_s* SchoolId;	/* {0,-1}  */
  struct zx_elem_s* SchoolName;	/* {0,1} xsd:string */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_School(c, father) (struct zx_hrxml_School_s*)zx_new_elem((c),(father),zx_hrxml_School_ELEM)
int zx_DEC_ATTR_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x);
int zx_DEC_ELEM_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_School_s* zx_DEEP_CLONE_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x);
int zx_WALK_SO_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_School(struct zx_ctx* c, struct zx_hrxml_School_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_School_GET_type(struct zx_hrxml_School_s* x);

struct zx_hrxml_InternetDomainName_s* zx_hrxml_School_GET_InternetDomainName(struct zx_hrxml_School_s* x, int n);
struct zx_hrxml_SchoolId_s* zx_hrxml_School_GET_SchoolId(struct zx_hrxml_School_s* x, int n);
struct zx_elem_s* zx_hrxml_School_GET_SchoolName(struct zx_hrxml_School_s* x, int n);

int zx_hrxml_School_NUM_InternetDomainName(struct zx_hrxml_School_s* x);
int zx_hrxml_School_NUM_SchoolId(struct zx_hrxml_School_s* x);
int zx_hrxml_School_NUM_SchoolName(struct zx_hrxml_School_s* x);

struct zx_hrxml_InternetDomainName_s* zx_hrxml_School_POP_InternetDomainName(struct zx_hrxml_School_s* x);
struct zx_hrxml_SchoolId_s* zx_hrxml_School_POP_SchoolId(struct zx_hrxml_School_s* x);
struct zx_elem_s* zx_hrxml_School_POP_SchoolName(struct zx_hrxml_School_s* x);

void zx_hrxml_School_PUSH_InternetDomainName(struct zx_hrxml_School_s* x, struct zx_hrxml_InternetDomainName_s* y);
void zx_hrxml_School_PUSH_SchoolId(struct zx_hrxml_School_s* x, struct zx_hrxml_SchoolId_s* y);
void zx_hrxml_School_PUSH_SchoolName(struct zx_hrxml_School_s* x, struct zx_elem_s* y);

void zx_hrxml_School_PUT_type(struct zx_hrxml_School_s* x, struct zx_attr_s* y);

void zx_hrxml_School_PUT_InternetDomainName(struct zx_hrxml_School_s* x, int n, struct zx_hrxml_InternetDomainName_s* y);
void zx_hrxml_School_PUT_SchoolId(struct zx_hrxml_School_s* x, int n, struct zx_hrxml_SchoolId_s* y);
void zx_hrxml_School_PUT_SchoolName(struct zx_hrxml_School_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_School_ADD_InternetDomainName(struct zx_hrxml_School_s* x, int n, struct zx_hrxml_InternetDomainName_s* z);
void zx_hrxml_School_ADD_SchoolId(struct zx_hrxml_School_s* x, int n, struct zx_hrxml_SchoolId_s* z);
void zx_hrxml_School_ADD_SchoolName(struct zx_hrxml_School_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_School_DEL_InternetDomainName(struct zx_hrxml_School_s* x, int n);
void zx_hrxml_School_DEL_SchoolId(struct zx_hrxml_School_s* x, int n);
void zx_hrxml_School_DEL_SchoolName(struct zx_hrxml_School_s* x,int n);

void zx_hrxml_School_REV_InternetDomainName(struct zx_hrxml_School_s* x);
void zx_hrxml_School_REV_SchoolId(struct zx_hrxml_School_s* x);
void zx_hrxml_School_REV_SchoolName(struct zx_hrxml_School_s* x);

#endif
/* -------------------------- hrxml_SchoolId -------------------------- */
/* refby( zx_hrxml_School_s ) */
#ifndef zx_hrxml_SchoolId_EXT
#define zx_hrxml_SchoolId_EXT
#endif
struct zx_hrxml_SchoolId_s {
  ZX_ELEM_EXT
  zx_hrxml_SchoolId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_SchoolId(c, father) (struct zx_hrxml_SchoolId_s*)zx_new_elem((c),(father),zx_hrxml_SchoolId_ELEM)
int zx_DEC_ATTR_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x);
int zx_DEC_ELEM_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SchoolId_s* zx_DEEP_CLONE_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x);
int zx_WALK_SO_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SchoolId(struct zx_ctx* c, struct zx_hrxml_SchoolId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SchoolId_GET_idOwner(struct zx_hrxml_SchoolId_s* x);
struct zx_attr_s* zx_hrxml_SchoolId_GET_validFrom(struct zx_hrxml_SchoolId_s* x);
struct zx_attr_s* zx_hrxml_SchoolId_GET_validTo(struct zx_hrxml_SchoolId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SchoolId_GET_IdValue(struct zx_hrxml_SchoolId_s* x, int n);

int zx_hrxml_SchoolId_NUM_IdValue(struct zx_hrxml_SchoolId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SchoolId_POP_IdValue(struct zx_hrxml_SchoolId_s* x);

void zx_hrxml_SchoolId_PUSH_IdValue(struct zx_hrxml_SchoolId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SchoolId_PUT_idOwner(struct zx_hrxml_SchoolId_s* x, struct zx_attr_s* y);
void zx_hrxml_SchoolId_PUT_validFrom(struct zx_hrxml_SchoolId_s* x, struct zx_attr_s* y);
void zx_hrxml_SchoolId_PUT_validTo(struct zx_hrxml_SchoolId_s* x, struct zx_attr_s* y);

void zx_hrxml_SchoolId_PUT_IdValue(struct zx_hrxml_SchoolId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SchoolId_ADD_IdValue(struct zx_hrxml_SchoolId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_SchoolId_DEL_IdValue(struct zx_hrxml_SchoolId_s* x, int n);

void zx_hrxml_SchoolId_REV_IdValue(struct zx_hrxml_SchoolId_s* x);

#endif
/* -------------------------- hrxml_SchoolOrInstitution -------------------------- */
/* refby( zx_hrxml_EducationHistory_s ) */
#ifndef zx_hrxml_SchoolOrInstitution_EXT
#define zx_hrxml_SchoolOrInstitution_EXT
#endif
struct zx_hrxml_SchoolOrInstitution_s {
  ZX_ELEM_EXT
  zx_hrxml_SchoolOrInstitution_EXT
  struct zx_elem_s* SchoolName;	/* {0,1} xsd:string */
  struct zx_hrxml_School_s* School;	/* {0,-1}  */
  struct zx_hrxml_LocationSummary_s* LocationSummary;	/* {0,1}  */
  struct zx_hrxml_PostalAddress_s* PostalAddress;	/* {0,1} nada */
  struct zx_hrxml_OrganizationUnit_s* OrganizationUnit;	/* {0,-1}  */
  struct zx_hrxml_Degree_s* Degree;	/* {0,-1}  */
  struct zx_elem_s* Major;	/* {0,-1} xsd:string */
  struct zx_elem_s* Minor;	/* {0,-1} xsd:string */
  struct zx_hrxml_Measure_s* Measure;	/* {0,1}  */
  struct zx_hrxml_DatesOfAttendance_s* DatesOfAttendance;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* ISCEDInstitutionClassification;	/* {0,1} 0 */
  struct zx_hrxml_LocalInstitutionClassification_s* LocalInstitutionClassification;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,0}  */
  struct zx_attr_s* schoolType;	/* {1,1} attribute hrxml:SchoolTypeStringExtensionType */
};

#define zx_NEW_hrxml_SchoolOrInstitution(c, father) (struct zx_hrxml_SchoolOrInstitution_s*)zx_new_elem((c),(father),zx_hrxml_SchoolOrInstitution_ELEM)
int zx_DEC_ATTR_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_DEC_ELEM_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SchoolOrInstitution_s* zx_DEEP_CLONE_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_WALK_SO_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SchoolOrInstitution(struct zx_ctx* c, struct zx_hrxml_SchoolOrInstitution_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SchoolOrInstitution_GET_schoolType(struct zx_hrxml_SchoolOrInstitution_s* x);

struct zx_elem_s* zx_hrxml_SchoolOrInstitution_GET_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_School_s* zx_hrxml_SchoolOrInstitution_GET_School(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_LocationSummary_s* zx_hrxml_SchoolOrInstitution_GET_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_PostalAddress_s* zx_hrxml_SchoolOrInstitution_GET_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_OrganizationUnit_s* zx_hrxml_SchoolOrInstitution_GET_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_Degree_s* zx_hrxml_SchoolOrInstitution_GET_Degree(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_GET_Major(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_GET_Minor(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_Measure_s* zx_hrxml_SchoolOrInstitution_GET_Measure(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_DatesOfAttendance_s* zx_hrxml_SchoolOrInstitution_GET_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_GET_Comments(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_GET_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_LocalInstitutionClassification_s* zx_hrxml_SchoolOrInstitution_GET_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_SchoolOrInstitution_GET_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x, int n);

int zx_hrxml_SchoolOrInstitution_NUM_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_School(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_Degree(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_Major(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_Minor(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_Measure(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_Comments(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x);
int zx_hrxml_SchoolOrInstitution_NUM_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x);

struct zx_elem_s* zx_hrxml_SchoolOrInstitution_POP_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_School_s* zx_hrxml_SchoolOrInstitution_POP_School(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_LocationSummary_s* zx_hrxml_SchoolOrInstitution_POP_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_PostalAddress_s* zx_hrxml_SchoolOrInstitution_POP_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_OrganizationUnit_s* zx_hrxml_SchoolOrInstitution_POP_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_Degree_s* zx_hrxml_SchoolOrInstitution_POP_Degree(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_POP_Major(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_POP_Minor(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_Measure_s* zx_hrxml_SchoolOrInstitution_POP_Measure(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_DatesOfAttendance_s* zx_hrxml_SchoolOrInstitution_POP_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_POP_Comments(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_elem_s* zx_hrxml_SchoolOrInstitution_POP_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_LocalInstitutionClassification_s* zx_hrxml_SchoolOrInstitution_POP_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_SchoolOrInstitution_POP_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x);

void zx_hrxml_SchoolOrInstitution_PUSH_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_School(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_School_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_LocationSummary_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_OrganizationUnit_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_Degree(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_Degree_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_Major(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_Minor(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_Measure(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_Measure_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_DatesOfAttendance_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_Comments(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_LocalInstitutionClassification_s* y);
void zx_hrxml_SchoolOrInstitution_PUSH_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_SchoolOrInstitution_PUT_schoolType(struct zx_hrxml_SchoolOrInstitution_s* x, struct zx_attr_s* y);

void zx_hrxml_SchoolOrInstitution_PUT_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_School(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_School_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_LocationSummary_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_OrganizationUnit_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_Degree(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_Degree_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_Major(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_Minor(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_Measure(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_Measure_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_DatesOfAttendance_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_Comments(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_LocalInstitutionClassification_s* y);
void zx_hrxml_SchoolOrInstitution_PUT_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_SchoolOrInstitution_ADD_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_School(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_School_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_LocationSummary_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_PostalAddress_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_OrganizationUnit_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_Degree(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_Degree_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_Major(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_Minor(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_Measure(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_Measure_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_DatesOfAttendance_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_Comments(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_LocalInstitutionClassification_s* z);
void zx_hrxml_SchoolOrInstitution_ADD_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_SchoolOrInstitution_DEL_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x,int n);
void zx_hrxml_SchoolOrInstitution_DEL_School(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_Degree(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_Major(struct zx_hrxml_SchoolOrInstitution_s* x,int n);
void zx_hrxml_SchoolOrInstitution_DEL_Minor(struct zx_hrxml_SchoolOrInstitution_s* x,int n);
void zx_hrxml_SchoolOrInstitution_DEL_Measure(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_Comments(struct zx_hrxml_SchoolOrInstitution_s* x,int n);
void zx_hrxml_SchoolOrInstitution_DEL_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x,int n);
void zx_hrxml_SchoolOrInstitution_DEL_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x, int n);
void zx_hrxml_SchoolOrInstitution_DEL_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x, int n);

void zx_hrxml_SchoolOrInstitution_REV_SchoolName(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_School(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_LocationSummary(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_PostalAddress(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_OrganizationUnit(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_Degree(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_Major(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_Minor(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_Measure(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_DatesOfAttendance(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_Comments(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_ISCEDInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_LocalInstitutionClassification(struct zx_hrxml_SchoolOrInstitution_s* x);
void zx_hrxml_SchoolOrInstitution_REV_UserArea(struct zx_hrxml_SchoolOrInstitution_s* x);

#endif
/* -------------------------- hrxml_Score -------------------------- */
/* refby( zx_hrxml_RankedResult_s ) */
#ifndef zx_hrxml_Score_EXT
#define zx_hrxml_Score_EXT
#endif
struct zx_hrxml_Score_s {
  ZX_ELEM_EXT
  zx_hrxml_Score_EXT
  struct zx_attr_s* unitOfMeasure;	/* {0,1} attribute xsd:integer */
};

#define zx_NEW_hrxml_Score(c, father) (struct zx_hrxml_Score_s*)zx_new_elem((c),(father),zx_hrxml_Score_ELEM)
int zx_DEC_ATTR_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x);
int zx_DEC_ELEM_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Score_s* zx_DEEP_CLONE_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x);
int zx_WALK_SO_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Score(struct zx_ctx* c, struct zx_hrxml_Score_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Score_GET_unitOfMeasure(struct zx_hrxml_Score_s* x);





void zx_hrxml_Score_PUT_unitOfMeasure(struct zx_hrxml_Score_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_SearchCriteria -------------------------- */
/* refby( zx_hrxml_PositionPosting_s ) */
#ifndef zx_hrxml_SearchCriteria_EXT
#define zx_hrxml_SearchCriteria_EXT
#endif
struct zx_hrxml_SearchCriteria_s {
  ZX_ELEM_EXT
  zx_hrxml_SearchCriteria_EXT
  struct zx_hrxml_SearchCriteriaId_s* SearchCriteriaId;	/* {0,1}  */
  struct zx_elem_s* SearchTarget;	/* {0,-1} xsd:string */
  struct zx_hrxml_UserId_s* UserId;	/* {0,1}  */
  struct zx_elem_s* SearchTimeStamp;	/* {0,1} xsd:dateTime */
  struct zx_elem_s* SearchString;	/* {0,1} xsd:anyURI */
  struct zx_hrxml_SearchCriterion_s* SearchCriterion;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_SearchCriteria(c, father) (struct zx_hrxml_SearchCriteria_s*)zx_new_elem((c),(father),zx_hrxml_SearchCriteria_ELEM)
int zx_DEC_ATTR_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x);
int zx_DEC_ELEM_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SearchCriteria_s* zx_DEEP_CLONE_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x);
int zx_WALK_SO_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SearchCriteria(struct zx_ctx* c, struct zx_hrxml_SearchCriteria_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_SearchCriteriaId_s* zx_hrxml_SearchCriteria_GET_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchCriteria_GET_SearchTarget(struct zx_hrxml_SearchCriteria_s* x, int n);
struct zx_hrxml_UserId_s* zx_hrxml_SearchCriteria_GET_UserId(struct zx_hrxml_SearchCriteria_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchCriteria_GET_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchCriteria_GET_SearchString(struct zx_hrxml_SearchCriteria_s* x, int n);
struct zx_hrxml_SearchCriterion_s* zx_hrxml_SearchCriteria_GET_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_SearchCriteria_GET_UserArea(struct zx_hrxml_SearchCriteria_s* x, int n);

int zx_hrxml_SearchCriteria_NUM_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x);
int zx_hrxml_SearchCriteria_NUM_SearchTarget(struct zx_hrxml_SearchCriteria_s* x);
int zx_hrxml_SearchCriteria_NUM_UserId(struct zx_hrxml_SearchCriteria_s* x);
int zx_hrxml_SearchCriteria_NUM_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x);
int zx_hrxml_SearchCriteria_NUM_SearchString(struct zx_hrxml_SearchCriteria_s* x);
int zx_hrxml_SearchCriteria_NUM_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x);
int zx_hrxml_SearchCriteria_NUM_UserArea(struct zx_hrxml_SearchCriteria_s* x);

struct zx_hrxml_SearchCriteriaId_s* zx_hrxml_SearchCriteria_POP_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x);
struct zx_elem_s* zx_hrxml_SearchCriteria_POP_SearchTarget(struct zx_hrxml_SearchCriteria_s* x);
struct zx_hrxml_UserId_s* zx_hrxml_SearchCriteria_POP_UserId(struct zx_hrxml_SearchCriteria_s* x);
struct zx_elem_s* zx_hrxml_SearchCriteria_POP_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x);
struct zx_elem_s* zx_hrxml_SearchCriteria_POP_SearchString(struct zx_hrxml_SearchCriteria_s* x);
struct zx_hrxml_SearchCriterion_s* zx_hrxml_SearchCriteria_POP_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_SearchCriteria_POP_UserArea(struct zx_hrxml_SearchCriteria_s* x);

void zx_hrxml_SearchCriteria_PUSH_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x, struct zx_hrxml_SearchCriteriaId_s* y);
void zx_hrxml_SearchCriteria_PUSH_SearchTarget(struct zx_hrxml_SearchCriteria_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchCriteria_PUSH_UserId(struct zx_hrxml_SearchCriteria_s* x, struct zx_hrxml_UserId_s* y);
void zx_hrxml_SearchCriteria_PUSH_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchCriteria_PUSH_SearchString(struct zx_hrxml_SearchCriteria_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchCriteria_PUSH_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x, struct zx_hrxml_SearchCriterion_s* y);
void zx_hrxml_SearchCriteria_PUSH_UserArea(struct zx_hrxml_SearchCriteria_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_SearchCriteria_PUT_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_SearchCriteriaId_s* y);
void zx_hrxml_SearchCriteria_PUT_SearchTarget(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchCriteria_PUT_UserId(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_UserId_s* y);
void zx_hrxml_SearchCriteria_PUT_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchCriteria_PUT_SearchString(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchCriteria_PUT_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_SearchCriterion_s* y);
void zx_hrxml_SearchCriteria_PUT_UserArea(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_SearchCriteria_ADD_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_SearchCriteriaId_s* z);
void zx_hrxml_SearchCriteria_ADD_SearchTarget(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchCriteria_ADD_UserId(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_UserId_s* z);
void zx_hrxml_SearchCriteria_ADD_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchCriteria_ADD_SearchString(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchCriteria_ADD_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_SearchCriterion_s* z);
void zx_hrxml_SearchCriteria_ADD_UserArea(struct zx_hrxml_SearchCriteria_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_SearchCriteria_DEL_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x, int n);
void zx_hrxml_SearchCriteria_DEL_SearchTarget(struct zx_hrxml_SearchCriteria_s* x,int n);
void zx_hrxml_SearchCriteria_DEL_UserId(struct zx_hrxml_SearchCriteria_s* x, int n);
void zx_hrxml_SearchCriteria_DEL_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x,int n);
void zx_hrxml_SearchCriteria_DEL_SearchString(struct zx_hrxml_SearchCriteria_s* x,int n);
void zx_hrxml_SearchCriteria_DEL_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x, int n);
void zx_hrxml_SearchCriteria_DEL_UserArea(struct zx_hrxml_SearchCriteria_s* x, int n);

void zx_hrxml_SearchCriteria_REV_SearchCriteriaId(struct zx_hrxml_SearchCriteria_s* x);
void zx_hrxml_SearchCriteria_REV_SearchTarget(struct zx_hrxml_SearchCriteria_s* x);
void zx_hrxml_SearchCriteria_REV_UserId(struct zx_hrxml_SearchCriteria_s* x);
void zx_hrxml_SearchCriteria_REV_SearchTimeStamp(struct zx_hrxml_SearchCriteria_s* x);
void zx_hrxml_SearchCriteria_REV_SearchString(struct zx_hrxml_SearchCriteria_s* x);
void zx_hrxml_SearchCriteria_REV_SearchCriterion(struct zx_hrxml_SearchCriteria_s* x);
void zx_hrxml_SearchCriteria_REV_UserArea(struct zx_hrxml_SearchCriteria_s* x);

#endif
/* -------------------------- hrxml_SearchCriteriaId -------------------------- */
/* refby( zx_hrxml_SearchCriteria_s ) */
#ifndef zx_hrxml_SearchCriteriaId_EXT
#define zx_hrxml_SearchCriteriaId_EXT
#endif
struct zx_hrxml_SearchCriteriaId_s {
  ZX_ELEM_EXT
  zx_hrxml_SearchCriteriaId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_SearchCriteriaId(c, father) (struct zx_hrxml_SearchCriteriaId_s*)zx_new_elem((c),(father),zx_hrxml_SearchCriteriaId_ELEM)
int zx_DEC_ATTR_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x);
int zx_DEC_ELEM_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SearchCriteriaId_s* zx_DEEP_CLONE_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x);
int zx_WALK_SO_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SearchCriteriaId(struct zx_ctx* c, struct zx_hrxml_SearchCriteriaId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SearchCriteriaId_GET_idOwner(struct zx_hrxml_SearchCriteriaId_s* x);
struct zx_attr_s* zx_hrxml_SearchCriteriaId_GET_validFrom(struct zx_hrxml_SearchCriteriaId_s* x);
struct zx_attr_s* zx_hrxml_SearchCriteriaId_GET_validTo(struct zx_hrxml_SearchCriteriaId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SearchCriteriaId_GET_IdValue(struct zx_hrxml_SearchCriteriaId_s* x, int n);

int zx_hrxml_SearchCriteriaId_NUM_IdValue(struct zx_hrxml_SearchCriteriaId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SearchCriteriaId_POP_IdValue(struct zx_hrxml_SearchCriteriaId_s* x);

void zx_hrxml_SearchCriteriaId_PUSH_IdValue(struct zx_hrxml_SearchCriteriaId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SearchCriteriaId_PUT_idOwner(struct zx_hrxml_SearchCriteriaId_s* x, struct zx_attr_s* y);
void zx_hrxml_SearchCriteriaId_PUT_validFrom(struct zx_hrxml_SearchCriteriaId_s* x, struct zx_attr_s* y);
void zx_hrxml_SearchCriteriaId_PUT_validTo(struct zx_hrxml_SearchCriteriaId_s* x, struct zx_attr_s* y);

void zx_hrxml_SearchCriteriaId_PUT_IdValue(struct zx_hrxml_SearchCriteriaId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SearchCriteriaId_ADD_IdValue(struct zx_hrxml_SearchCriteriaId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_SearchCriteriaId_DEL_IdValue(struct zx_hrxml_SearchCriteriaId_s* x, int n);

void zx_hrxml_SearchCriteriaId_REV_IdValue(struct zx_hrxml_SearchCriteriaId_s* x);

#endif
/* -------------------------- hrxml_SearchCriterion -------------------------- */
/* refby( zx_hrxml_SearchCriteria_s ) */
#ifndef zx_hrxml_SearchCriterion_EXT
#define zx_hrxml_SearchCriterion_EXT
#endif
struct zx_hrxml_SearchCriterion_s {
  ZX_ELEM_EXT
  zx_hrxml_SearchCriterion_EXT
  struct zx_elem_s* CriterionName;	/* {1,1} xsd:string */
  struct zx_elem_s* CriterionValue;	/* {0,1} xsd:string */
  struct zx_hrxml_Weight_s* Weight;	/* {0,1}  */
};

#define zx_NEW_hrxml_SearchCriterion(c, father) (struct zx_hrxml_SearchCriterion_s*)zx_new_elem((c),(father),zx_hrxml_SearchCriterion_ELEM)
int zx_DEC_ATTR_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x);
int zx_DEC_ELEM_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SearchCriterion_s* zx_DEEP_CLONE_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x);
int zx_WALK_SO_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SearchCriterion(struct zx_ctx* c, struct zx_hrxml_SearchCriterion_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_SearchCriterion_GET_CriterionName(struct zx_hrxml_SearchCriterion_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchCriterion_GET_CriterionValue(struct zx_hrxml_SearchCriterion_s* x, int n);
struct zx_hrxml_Weight_s* zx_hrxml_SearchCriterion_GET_Weight(struct zx_hrxml_SearchCriterion_s* x, int n);

int zx_hrxml_SearchCriterion_NUM_CriterionName(struct zx_hrxml_SearchCriterion_s* x);
int zx_hrxml_SearchCriterion_NUM_CriterionValue(struct zx_hrxml_SearchCriterion_s* x);
int zx_hrxml_SearchCriterion_NUM_Weight(struct zx_hrxml_SearchCriterion_s* x);

struct zx_elem_s* zx_hrxml_SearchCriterion_POP_CriterionName(struct zx_hrxml_SearchCriterion_s* x);
struct zx_elem_s* zx_hrxml_SearchCriterion_POP_CriterionValue(struct zx_hrxml_SearchCriterion_s* x);
struct zx_hrxml_Weight_s* zx_hrxml_SearchCriterion_POP_Weight(struct zx_hrxml_SearchCriterion_s* x);

void zx_hrxml_SearchCriterion_PUSH_CriterionName(struct zx_hrxml_SearchCriterion_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchCriterion_PUSH_CriterionValue(struct zx_hrxml_SearchCriterion_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchCriterion_PUSH_Weight(struct zx_hrxml_SearchCriterion_s* x, struct zx_hrxml_Weight_s* y);


void zx_hrxml_SearchCriterion_PUT_CriterionName(struct zx_hrxml_SearchCriterion_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchCriterion_PUT_CriterionValue(struct zx_hrxml_SearchCriterion_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchCriterion_PUT_Weight(struct zx_hrxml_SearchCriterion_s* x, int n, struct zx_hrxml_Weight_s* y);

void zx_hrxml_SearchCriterion_ADD_CriterionName(struct zx_hrxml_SearchCriterion_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchCriterion_ADD_CriterionValue(struct zx_hrxml_SearchCriterion_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchCriterion_ADD_Weight(struct zx_hrxml_SearchCriterion_s* x, int n, struct zx_hrxml_Weight_s* z);

void zx_hrxml_SearchCriterion_DEL_CriterionName(struct zx_hrxml_SearchCriterion_s* x,int n);
void zx_hrxml_SearchCriterion_DEL_CriterionValue(struct zx_hrxml_SearchCriterion_s* x,int n);
void zx_hrxml_SearchCriterion_DEL_Weight(struct zx_hrxml_SearchCriterion_s* x, int n);

void zx_hrxml_SearchCriterion_REV_CriterionName(struct zx_hrxml_SearchCriterion_s* x);
void zx_hrxml_SearchCriterion_REV_CriterionValue(struct zx_hrxml_SearchCriterion_s* x);
void zx_hrxml_SearchCriterion_REV_Weight(struct zx_hrxml_SearchCriterion_s* x);

#endif
/* -------------------------- hrxml_SearchRelevanceScore -------------------------- */
/* refby( zx_hrxml_SearchResult_s ) */
#ifndef zx_hrxml_SearchRelevanceScore_EXT
#define zx_hrxml_SearchRelevanceScore_EXT
#endif
struct zx_hrxml_SearchRelevanceScore_s {
  ZX_ELEM_EXT
  zx_hrxml_SearchRelevanceScore_EXT
  struct zx_attr_s* unitOfMeasure;	/* {0,1} attribute xsd:integer */
};

#define zx_NEW_hrxml_SearchRelevanceScore(c, father) (struct zx_hrxml_SearchRelevanceScore_s*)zx_new_elem((c),(father),zx_hrxml_SearchRelevanceScore_ELEM)
int zx_DEC_ATTR_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x);
int zx_DEC_ELEM_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SearchRelevanceScore_s* zx_DEEP_CLONE_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x);
int zx_WALK_SO_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SearchRelevanceScore(struct zx_ctx* c, struct zx_hrxml_SearchRelevanceScore_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SearchRelevanceScore_GET_unitOfMeasure(struct zx_hrxml_SearchRelevanceScore_s* x);





void zx_hrxml_SearchRelevanceScore_PUT_unitOfMeasure(struct zx_hrxml_SearchRelevanceScore_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_SearchResult -------------------------- */
/* refby( zx_hrxml_PositionPosting_s ) */
#ifndef zx_hrxml_SearchResult_EXT
#define zx_hrxml_SearchResult_EXT
#endif
struct zx_hrxml_SearchResult_s {
  ZX_ELEM_EXT
  zx_hrxml_SearchResult_EXT
  struct zx_hrxml_SearchResultId_s* SearchResultId;	/* {0,1}  */
  struct zx_elem_s* SearchTarget;	/* {0,-1} xsd:string */
  struct zx_hrxml_UserId_s* UserId;	/* {0,1}  */
  struct zx_elem_s* SearchTimeStamp;	/* {0,1} xsd:dateTime */
  struct zx_hrxml_MatchedObjectId_s* MatchedObjectId;	/* {0,1}  */
  struct zx_hrxml_SearchRelevanceScore_s* SearchRelevanceScore;	/* {0,1}  */
  struct zx_elem_s* SearchRelevanceRank;	/* {0,1} xsd:int */
  struct zx_elem_s* SearchResultCount;	/* {0,1} xsd:int */
  struct zx_hrxml_RankedSearchResults_s* RankedSearchResults;	/* {0,1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_SearchResult(c, father) (struct zx_hrxml_SearchResult_s*)zx_new_elem((c),(father),zx_hrxml_SearchResult_ELEM)
int zx_DEC_ATTR_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x);
int zx_DEC_ELEM_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SearchResult_s* zx_DEEP_CLONE_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x);
int zx_WALK_SO_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SearchResult(struct zx_ctx* c, struct zx_hrxml_SearchResult_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_SearchResultId_s* zx_hrxml_SearchResult_GET_SearchResultId(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchResult_GET_SearchTarget(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_hrxml_UserId_s* zx_hrxml_SearchResult_GET_UserId(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchResult_GET_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_hrxml_MatchedObjectId_s* zx_hrxml_SearchResult_GET_MatchedObjectId(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_hrxml_SearchRelevanceScore_s* zx_hrxml_SearchResult_GET_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchResult_GET_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_elem_s* zx_hrxml_SearchResult_GET_SearchResultCount(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_hrxml_RankedSearchResults_s* zx_hrxml_SearchResult_GET_RankedSearchResults(struct zx_hrxml_SearchResult_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_SearchResult_GET_UserArea(struct zx_hrxml_SearchResult_s* x, int n);

int zx_hrxml_SearchResult_NUM_SearchResultId(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_SearchTarget(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_UserId(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_MatchedObjectId(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_SearchResultCount(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_RankedSearchResults(struct zx_hrxml_SearchResult_s* x);
int zx_hrxml_SearchResult_NUM_UserArea(struct zx_hrxml_SearchResult_s* x);

struct zx_hrxml_SearchResultId_s* zx_hrxml_SearchResult_POP_SearchResultId(struct zx_hrxml_SearchResult_s* x);
struct zx_elem_s* zx_hrxml_SearchResult_POP_SearchTarget(struct zx_hrxml_SearchResult_s* x);
struct zx_hrxml_UserId_s* zx_hrxml_SearchResult_POP_UserId(struct zx_hrxml_SearchResult_s* x);
struct zx_elem_s* zx_hrxml_SearchResult_POP_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x);
struct zx_hrxml_MatchedObjectId_s* zx_hrxml_SearchResult_POP_MatchedObjectId(struct zx_hrxml_SearchResult_s* x);
struct zx_hrxml_SearchRelevanceScore_s* zx_hrxml_SearchResult_POP_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x);
struct zx_elem_s* zx_hrxml_SearchResult_POP_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x);
struct zx_elem_s* zx_hrxml_SearchResult_POP_SearchResultCount(struct zx_hrxml_SearchResult_s* x);
struct zx_hrxml_RankedSearchResults_s* zx_hrxml_SearchResult_POP_RankedSearchResults(struct zx_hrxml_SearchResult_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_SearchResult_POP_UserArea(struct zx_hrxml_SearchResult_s* x);

void zx_hrxml_SearchResult_PUSH_SearchResultId(struct zx_hrxml_SearchResult_s* x, struct zx_hrxml_SearchResultId_s* y);
void zx_hrxml_SearchResult_PUSH_SearchTarget(struct zx_hrxml_SearchResult_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUSH_UserId(struct zx_hrxml_SearchResult_s* x, struct zx_hrxml_UserId_s* y);
void zx_hrxml_SearchResult_PUSH_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUSH_MatchedObjectId(struct zx_hrxml_SearchResult_s* x, struct zx_hrxml_MatchedObjectId_s* y);
void zx_hrxml_SearchResult_PUSH_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x, struct zx_hrxml_SearchRelevanceScore_s* y);
void zx_hrxml_SearchResult_PUSH_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUSH_SearchResultCount(struct zx_hrxml_SearchResult_s* x, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUSH_RankedSearchResults(struct zx_hrxml_SearchResult_s* x, struct zx_hrxml_RankedSearchResults_s* y);
void zx_hrxml_SearchResult_PUSH_UserArea(struct zx_hrxml_SearchResult_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_SearchResult_PUT_SearchResultId(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_SearchResultId_s* y);
void zx_hrxml_SearchResult_PUT_SearchTarget(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUT_UserId(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_UserId_s* y);
void zx_hrxml_SearchResult_PUT_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUT_MatchedObjectId(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_MatchedObjectId_s* y);
void zx_hrxml_SearchResult_PUT_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_SearchRelevanceScore_s* y);
void zx_hrxml_SearchResult_PUT_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUT_SearchResultCount(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SearchResult_PUT_RankedSearchResults(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_RankedSearchResults_s* y);
void zx_hrxml_SearchResult_PUT_UserArea(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_SearchResult_ADD_SearchResultId(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_SearchResultId_s* z);
void zx_hrxml_SearchResult_ADD_SearchTarget(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchResult_ADD_UserId(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_UserId_s* z);
void zx_hrxml_SearchResult_ADD_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchResult_ADD_MatchedObjectId(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_MatchedObjectId_s* z);
void zx_hrxml_SearchResult_ADD_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_SearchRelevanceScore_s* z);
void zx_hrxml_SearchResult_ADD_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchResult_ADD_SearchResultCount(struct zx_hrxml_SearchResult_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SearchResult_ADD_RankedSearchResults(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_RankedSearchResults_s* z);
void zx_hrxml_SearchResult_ADD_UserArea(struct zx_hrxml_SearchResult_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_SearchResult_DEL_SearchResultId(struct zx_hrxml_SearchResult_s* x, int n);
void zx_hrxml_SearchResult_DEL_SearchTarget(struct zx_hrxml_SearchResult_s* x,int n);
void zx_hrxml_SearchResult_DEL_UserId(struct zx_hrxml_SearchResult_s* x, int n);
void zx_hrxml_SearchResult_DEL_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x,int n);
void zx_hrxml_SearchResult_DEL_MatchedObjectId(struct zx_hrxml_SearchResult_s* x, int n);
void zx_hrxml_SearchResult_DEL_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x, int n);
void zx_hrxml_SearchResult_DEL_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x,int n);
void zx_hrxml_SearchResult_DEL_SearchResultCount(struct zx_hrxml_SearchResult_s* x,int n);
void zx_hrxml_SearchResult_DEL_RankedSearchResults(struct zx_hrxml_SearchResult_s* x, int n);
void zx_hrxml_SearchResult_DEL_UserArea(struct zx_hrxml_SearchResult_s* x, int n);

void zx_hrxml_SearchResult_REV_SearchResultId(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_SearchTarget(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_UserId(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_SearchTimeStamp(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_MatchedObjectId(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_SearchRelevanceScore(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_SearchRelevanceRank(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_SearchResultCount(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_RankedSearchResults(struct zx_hrxml_SearchResult_s* x);
void zx_hrxml_SearchResult_REV_UserArea(struct zx_hrxml_SearchResult_s* x);

#endif
/* -------------------------- hrxml_SearchResultId -------------------------- */
/* refby( zx_hrxml_SearchResult_s ) */
#ifndef zx_hrxml_SearchResultId_EXT
#define zx_hrxml_SearchResultId_EXT
#endif
struct zx_hrxml_SearchResultId_s {
  ZX_ELEM_EXT
  zx_hrxml_SearchResultId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_SearchResultId(c, father) (struct zx_hrxml_SearchResultId_s*)zx_new_elem((c),(father),zx_hrxml_SearchResultId_ELEM)
int zx_DEC_ATTR_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x);
int zx_DEC_ELEM_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SearchResultId_s* zx_DEEP_CLONE_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x);
int zx_WALK_SO_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SearchResultId(struct zx_ctx* c, struct zx_hrxml_SearchResultId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SearchResultId_GET_idOwner(struct zx_hrxml_SearchResultId_s* x);
struct zx_attr_s* zx_hrxml_SearchResultId_GET_validFrom(struct zx_hrxml_SearchResultId_s* x);
struct zx_attr_s* zx_hrxml_SearchResultId_GET_validTo(struct zx_hrxml_SearchResultId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SearchResultId_GET_IdValue(struct zx_hrxml_SearchResultId_s* x, int n);

int zx_hrxml_SearchResultId_NUM_IdValue(struct zx_hrxml_SearchResultId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SearchResultId_POP_IdValue(struct zx_hrxml_SearchResultId_s* x);

void zx_hrxml_SearchResultId_PUSH_IdValue(struct zx_hrxml_SearchResultId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SearchResultId_PUT_idOwner(struct zx_hrxml_SearchResultId_s* x, struct zx_attr_s* y);
void zx_hrxml_SearchResultId_PUT_validFrom(struct zx_hrxml_SearchResultId_s* x, struct zx_attr_s* y);
void zx_hrxml_SearchResultId_PUT_validTo(struct zx_hrxml_SearchResultId_s* x, struct zx_attr_s* y);

void zx_hrxml_SearchResultId_PUT_IdValue(struct zx_hrxml_SearchResultId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SearchResultId_ADD_IdValue(struct zx_hrxml_SearchResultId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_SearchResultId_DEL_IdValue(struct zx_hrxml_SearchResultId_s* x, int n);

void zx_hrxml_SearchResultId_REV_IdValue(struct zx_hrxml_SearchResultId_s* x);

#endif
/* -------------------------- hrxml_SecurityCredential -------------------------- */
/* refby( zx_hrxml_SecurityCredentials_s ) */
#ifndef zx_hrxml_SecurityCredential_EXT
#define zx_hrxml_SecurityCredential_EXT
#endif
struct zx_hrxml_SecurityCredential_s {
  ZX_ELEM_EXT
  zx_hrxml_SecurityCredential_EXT
  struct zx_elem_s* Name;	/* {1,1} xsd:string */
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_hrxml_IssuingAuthority_s* IssuingAuthority;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_EffectiveDate_s* EffectiveDate;	/* {0,1}  */
};

#define zx_NEW_hrxml_SecurityCredential(c, father) (struct zx_hrxml_SecurityCredential_s*)zx_new_elem((c),(father),zx_hrxml_SecurityCredential_ELEM)
int zx_DEC_ATTR_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x);
int zx_DEC_ELEM_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SecurityCredential_s* zx_DEEP_CLONE_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x);
int zx_WALK_SO_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SecurityCredential(struct zx_ctx* c, struct zx_hrxml_SecurityCredential_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_SecurityCredential_GET_Name(struct zx_hrxml_SecurityCredential_s* x, int n);
struct zx_hrxml_Id_s* zx_hrxml_SecurityCredential_GET_Id(struct zx_hrxml_SecurityCredential_s* x, int n);
struct zx_hrxml_IssuingAuthority_s* zx_hrxml_SecurityCredential_GET_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_SecurityCredential_GET_Description(struct zx_hrxml_SecurityCredential_s* x, int n);
struct zx_hrxml_EffectiveDate_s* zx_hrxml_SecurityCredential_GET_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x, int n);

int zx_hrxml_SecurityCredential_NUM_Name(struct zx_hrxml_SecurityCredential_s* x);
int zx_hrxml_SecurityCredential_NUM_Id(struct zx_hrxml_SecurityCredential_s* x);
int zx_hrxml_SecurityCredential_NUM_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x);
int zx_hrxml_SecurityCredential_NUM_Description(struct zx_hrxml_SecurityCredential_s* x);
int zx_hrxml_SecurityCredential_NUM_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x);

struct zx_elem_s* zx_hrxml_SecurityCredential_POP_Name(struct zx_hrxml_SecurityCredential_s* x);
struct zx_hrxml_Id_s* zx_hrxml_SecurityCredential_POP_Id(struct zx_hrxml_SecurityCredential_s* x);
struct zx_hrxml_IssuingAuthority_s* zx_hrxml_SecurityCredential_POP_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x);
struct zx_hrxml_Description_s* zx_hrxml_SecurityCredential_POP_Description(struct zx_hrxml_SecurityCredential_s* x);
struct zx_hrxml_EffectiveDate_s* zx_hrxml_SecurityCredential_POP_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x);

void zx_hrxml_SecurityCredential_PUSH_Name(struct zx_hrxml_SecurityCredential_s* x, struct zx_elem_s* y);
void zx_hrxml_SecurityCredential_PUSH_Id(struct zx_hrxml_SecurityCredential_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_SecurityCredential_PUSH_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x, struct zx_hrxml_IssuingAuthority_s* y);
void zx_hrxml_SecurityCredential_PUSH_Description(struct zx_hrxml_SecurityCredential_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_SecurityCredential_PUSH_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x, struct zx_hrxml_EffectiveDate_s* y);


void zx_hrxml_SecurityCredential_PUT_Name(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SecurityCredential_PUT_Id(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_SecurityCredential_PUT_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_IssuingAuthority_s* y);
void zx_hrxml_SecurityCredential_PUT_Description(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_SecurityCredential_PUT_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_EffectiveDate_s* y);

void zx_hrxml_SecurityCredential_ADD_Name(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SecurityCredential_ADD_Id(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_SecurityCredential_ADD_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_IssuingAuthority_s* z);
void zx_hrxml_SecurityCredential_ADD_Description(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_SecurityCredential_ADD_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x, int n, struct zx_hrxml_EffectiveDate_s* z);

void zx_hrxml_SecurityCredential_DEL_Name(struct zx_hrxml_SecurityCredential_s* x,int n);
void zx_hrxml_SecurityCredential_DEL_Id(struct zx_hrxml_SecurityCredential_s* x, int n);
void zx_hrxml_SecurityCredential_DEL_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x, int n);
void zx_hrxml_SecurityCredential_DEL_Description(struct zx_hrxml_SecurityCredential_s* x, int n);
void zx_hrxml_SecurityCredential_DEL_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x, int n);

void zx_hrxml_SecurityCredential_REV_Name(struct zx_hrxml_SecurityCredential_s* x);
void zx_hrxml_SecurityCredential_REV_Id(struct zx_hrxml_SecurityCredential_s* x);
void zx_hrxml_SecurityCredential_REV_IssuingAuthority(struct zx_hrxml_SecurityCredential_s* x);
void zx_hrxml_SecurityCredential_REV_Description(struct zx_hrxml_SecurityCredential_s* x);
void zx_hrxml_SecurityCredential_REV_EffectiveDate(struct zx_hrxml_SecurityCredential_s* x);

#endif
/* -------------------------- hrxml_SecurityCredentials -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_SecurityCredentials_EXT
#define zx_hrxml_SecurityCredentials_EXT
#endif
struct zx_hrxml_SecurityCredentials_s {
  ZX_ELEM_EXT
  zx_hrxml_SecurityCredentials_EXT
  struct zx_hrxml_SecurityCredential_s* SecurityCredential;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_SecurityCredentials(c, father) (struct zx_hrxml_SecurityCredentials_s*)zx_new_elem((c),(father),zx_hrxml_SecurityCredentials_ELEM)
int zx_DEC_ATTR_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x);
int zx_DEC_ELEM_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SecurityCredentials_s* zx_DEEP_CLONE_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x);
int zx_WALK_SO_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SecurityCredentials(struct zx_ctx* c, struct zx_hrxml_SecurityCredentials_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_SecurityCredential_s* zx_hrxml_SecurityCredentials_GET_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x, int n);

int zx_hrxml_SecurityCredentials_NUM_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x);

struct zx_hrxml_SecurityCredential_s* zx_hrxml_SecurityCredentials_POP_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x);

void zx_hrxml_SecurityCredentials_PUSH_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x, struct zx_hrxml_SecurityCredential_s* y);


void zx_hrxml_SecurityCredentials_PUT_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x, int n, struct zx_hrxml_SecurityCredential_s* y);

void zx_hrxml_SecurityCredentials_ADD_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x, int n, struct zx_hrxml_SecurityCredential_s* z);

void zx_hrxml_SecurityCredentials_DEL_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x, int n);

void zx_hrxml_SecurityCredentials_REV_SecurityCredential(struct zx_hrxml_SecurityCredentials_s* x);

#endif
/* -------------------------- hrxml_ServiceDetail -------------------------- */
/* refby( zx_hrxml_MilitaryHistory_s ) */
#ifndef zx_hrxml_ServiceDetail_EXT
#define zx_hrxml_ServiceDetail_EXT
#endif
struct zx_hrxml_ServiceDetail_s {
  ZX_ELEM_EXT
  zx_hrxml_ServiceDetail_EXT
  struct zx_elem_s* UnitOrDivision;	/* {0,1} xsd:string */
  struct zx_hrxml_RankAchieved_s* RankAchieved;	/* {0,1}  */
  struct zx_hrxml_DatesOfService_s* DatesOfService;	/* {1,1}  */
  struct zx_elem_s* Campaign;	/* {0,-1} xsd:string */
  struct zx_elem_s* AreaOfExpertise;	/* {0,-1} xsd:string */
  struct zx_elem_s* RecognitionAchieved;	/* {0,-1} xsd:string */
  struct zx_elem_s* DisciplinaryAction;	/* {0,-1} xsd:string */
  struct zx_elem_s* DischargeStatus;	/* {0,1} xsd:string */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
  struct zx_attr_s* branch;	/* {1,1} attribute xsd:string */
};

#define zx_NEW_hrxml_ServiceDetail(c, father) (struct zx_hrxml_ServiceDetail_s*)zx_new_elem((c),(father),zx_hrxml_ServiceDetail_ELEM)
int zx_DEC_ATTR_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x);
int zx_DEC_ELEM_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ServiceDetail_s* zx_DEEP_CLONE_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x);
int zx_WALK_SO_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ServiceDetail(struct zx_ctx* c, struct zx_hrxml_ServiceDetail_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ServiceDetail_GET_branch(struct zx_hrxml_ServiceDetail_s* x);

struct zx_elem_s* zx_hrxml_ServiceDetail_GET_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_hrxml_RankAchieved_s* zx_hrxml_ServiceDetail_GET_RankAchieved(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_hrxml_DatesOfService_s* zx_hrxml_ServiceDetail_GET_DatesOfService(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_elem_s* zx_hrxml_ServiceDetail_GET_Campaign(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_elem_s* zx_hrxml_ServiceDetail_GET_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_elem_s* zx_hrxml_ServiceDetail_GET_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_elem_s* zx_hrxml_ServiceDetail_GET_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_elem_s* zx_hrxml_ServiceDetail_GET_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_ServiceDetail_GET_UserArea(struct zx_hrxml_ServiceDetail_s* x, int n);

int zx_hrxml_ServiceDetail_NUM_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_RankAchieved(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_DatesOfService(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_Campaign(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x);
int zx_hrxml_ServiceDetail_NUM_UserArea(struct zx_hrxml_ServiceDetail_s* x);

struct zx_elem_s* zx_hrxml_ServiceDetail_POP_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x);
struct zx_hrxml_RankAchieved_s* zx_hrxml_ServiceDetail_POP_RankAchieved(struct zx_hrxml_ServiceDetail_s* x);
struct zx_hrxml_DatesOfService_s* zx_hrxml_ServiceDetail_POP_DatesOfService(struct zx_hrxml_ServiceDetail_s* x);
struct zx_elem_s* zx_hrxml_ServiceDetail_POP_Campaign(struct zx_hrxml_ServiceDetail_s* x);
struct zx_elem_s* zx_hrxml_ServiceDetail_POP_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x);
struct zx_elem_s* zx_hrxml_ServiceDetail_POP_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x);
struct zx_elem_s* zx_hrxml_ServiceDetail_POP_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x);
struct zx_elem_s* zx_hrxml_ServiceDetail_POP_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_ServiceDetail_POP_UserArea(struct zx_hrxml_ServiceDetail_s* x);

void zx_hrxml_ServiceDetail_PUSH_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUSH_RankAchieved(struct zx_hrxml_ServiceDetail_s* x, struct zx_hrxml_RankAchieved_s* y);
void zx_hrxml_ServiceDetail_PUSH_DatesOfService(struct zx_hrxml_ServiceDetail_s* x, struct zx_hrxml_DatesOfService_s* y);
void zx_hrxml_ServiceDetail_PUSH_Campaign(struct zx_hrxml_ServiceDetail_s* x, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUSH_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUSH_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUSH_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUSH_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUSH_UserArea(struct zx_hrxml_ServiceDetail_s* x, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_ServiceDetail_PUT_branch(struct zx_hrxml_ServiceDetail_s* x, struct zx_attr_s* y);

void zx_hrxml_ServiceDetail_PUT_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUT_RankAchieved(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_hrxml_RankAchieved_s* y);
void zx_hrxml_ServiceDetail_PUT_DatesOfService(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_hrxml_DatesOfService_s* y);
void zx_hrxml_ServiceDetail_PUT_Campaign(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUT_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUT_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUT_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUT_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ServiceDetail_PUT_UserArea(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_ServiceDetail_ADD_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ServiceDetail_ADD_RankAchieved(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_hrxml_RankAchieved_s* z);
void zx_hrxml_ServiceDetail_ADD_DatesOfService(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_hrxml_DatesOfService_s* z);
void zx_hrxml_ServiceDetail_ADD_Campaign(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ServiceDetail_ADD_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ServiceDetail_ADD_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ServiceDetail_ADD_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ServiceDetail_ADD_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ServiceDetail_ADD_UserArea(struct zx_hrxml_ServiceDetail_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_ServiceDetail_DEL_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x,int n);
void zx_hrxml_ServiceDetail_DEL_RankAchieved(struct zx_hrxml_ServiceDetail_s* x, int n);
void zx_hrxml_ServiceDetail_DEL_DatesOfService(struct zx_hrxml_ServiceDetail_s* x, int n);
void zx_hrxml_ServiceDetail_DEL_Campaign(struct zx_hrxml_ServiceDetail_s* x,int n);
void zx_hrxml_ServiceDetail_DEL_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x,int n);
void zx_hrxml_ServiceDetail_DEL_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x,int n);
void zx_hrxml_ServiceDetail_DEL_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x,int n);
void zx_hrxml_ServiceDetail_DEL_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x,int n);
void zx_hrxml_ServiceDetail_DEL_UserArea(struct zx_hrxml_ServiceDetail_s* x, int n);

void zx_hrxml_ServiceDetail_REV_UnitOrDivision(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_RankAchieved(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_DatesOfService(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_Campaign(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_AreaOfExpertise(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_RecognitionAchieved(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_DisciplinaryAction(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_DischargeStatus(struct zx_hrxml_ServiceDetail_s* x);
void zx_hrxml_ServiceDetail_REV_UserArea(struct zx_hrxml_ServiceDetail_s* x);

#endif
/* -------------------------- hrxml_ServiceNumber -------------------------- */
/* refby( zx_hrxml_MilitaryHistory_s ) */
#ifndef zx_hrxml_ServiceNumber_EXT
#define zx_hrxml_ServiceNumber_EXT
#endif
struct zx_hrxml_ServiceNumber_s {
  ZX_ELEM_EXT
  zx_hrxml_ServiceNumber_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_ServiceNumber(c, father) (struct zx_hrxml_ServiceNumber_s*)zx_new_elem((c),(father),zx_hrxml_ServiceNumber_ELEM)
int zx_DEC_ATTR_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x);
int zx_DEC_ELEM_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ServiceNumber_s* zx_DEEP_CLONE_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x);
int zx_WALK_SO_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ServiceNumber(struct zx_ctx* c, struct zx_hrxml_ServiceNumber_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ServiceNumber_GET_idOwner(struct zx_hrxml_ServiceNumber_s* x);
struct zx_attr_s* zx_hrxml_ServiceNumber_GET_validFrom(struct zx_hrxml_ServiceNumber_s* x);
struct zx_attr_s* zx_hrxml_ServiceNumber_GET_validTo(struct zx_hrxml_ServiceNumber_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ServiceNumber_GET_IdValue(struct zx_hrxml_ServiceNumber_s* x, int n);

int zx_hrxml_ServiceNumber_NUM_IdValue(struct zx_hrxml_ServiceNumber_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_ServiceNumber_POP_IdValue(struct zx_hrxml_ServiceNumber_s* x);

void zx_hrxml_ServiceNumber_PUSH_IdValue(struct zx_hrxml_ServiceNumber_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ServiceNumber_PUT_idOwner(struct zx_hrxml_ServiceNumber_s* x, struct zx_attr_s* y);
void zx_hrxml_ServiceNumber_PUT_validFrom(struct zx_hrxml_ServiceNumber_s* x, struct zx_attr_s* y);
void zx_hrxml_ServiceNumber_PUT_validTo(struct zx_hrxml_ServiceNumber_s* x, struct zx_attr_s* y);

void zx_hrxml_ServiceNumber_PUT_IdValue(struct zx_hrxml_ServiceNumber_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_ServiceNumber_ADD_IdValue(struct zx_hrxml_ServiceNumber_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_ServiceNumber_DEL_IdValue(struct zx_hrxml_ServiceNumber_s* x, int n);

void zx_hrxml_ServiceNumber_REV_IdValue(struct zx_hrxml_ServiceNumber_s* x);

#endif
/* -------------------------- hrxml_Shift -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_Shift_EXT
#define zx_hrxml_Shift_EXT
#endif
struct zx_hrxml_Shift_s {
  ZX_ELEM_EXT
  zx_hrxml_Shift_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Name;	/* {0,1} xsd:string */
  struct zx_elem_s* Hours;	/* {0,1} xsd:decimal */
  struct zx_elem_s* StartTime;	/* {0,1} hrxml:LocalTimeType */
  struct zx_elem_s* EndTime;	/* {0,1} hrxml:LocalTimeType */
  struct zx_elem_s* PayTypeHours;	/* {0,1} hrxml:BasicHoursTypes */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_attr_s* shiftPeriod;	/* {0,1} attribute hrxml:ShiftPeriodType */
};

#define zx_NEW_hrxml_Shift(c, father) (struct zx_hrxml_Shift_s*)zx_new_elem((c),(father),zx_hrxml_Shift_ELEM)
int zx_DEC_ATTR_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x);
int zx_DEC_ELEM_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Shift_s* zx_DEEP_CLONE_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x);
int zx_WALK_SO_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Shift(struct zx_ctx* c, struct zx_hrxml_Shift_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Shift_GET_shiftPeriod(struct zx_hrxml_Shift_s* x);

struct zx_hrxml_Id_s* zx_hrxml_Shift_GET_Id(struct zx_hrxml_Shift_s* x, int n);
struct zx_elem_s* zx_hrxml_Shift_GET_Name(struct zx_hrxml_Shift_s* x, int n);
struct zx_elem_s* zx_hrxml_Shift_GET_Hours(struct zx_hrxml_Shift_s* x, int n);
struct zx_elem_s* zx_hrxml_Shift_GET_StartTime(struct zx_hrxml_Shift_s* x, int n);
struct zx_elem_s* zx_hrxml_Shift_GET_EndTime(struct zx_hrxml_Shift_s* x, int n);
struct zx_elem_s* zx_hrxml_Shift_GET_PayTypeHours(struct zx_hrxml_Shift_s* x, int n);
struct zx_elem_s* zx_hrxml_Shift_GET_Comments(struct zx_hrxml_Shift_s* x, int n);

int zx_hrxml_Shift_NUM_Id(struct zx_hrxml_Shift_s* x);
int zx_hrxml_Shift_NUM_Name(struct zx_hrxml_Shift_s* x);
int zx_hrxml_Shift_NUM_Hours(struct zx_hrxml_Shift_s* x);
int zx_hrxml_Shift_NUM_StartTime(struct zx_hrxml_Shift_s* x);
int zx_hrxml_Shift_NUM_EndTime(struct zx_hrxml_Shift_s* x);
int zx_hrxml_Shift_NUM_PayTypeHours(struct zx_hrxml_Shift_s* x);
int zx_hrxml_Shift_NUM_Comments(struct zx_hrxml_Shift_s* x);

struct zx_hrxml_Id_s* zx_hrxml_Shift_POP_Id(struct zx_hrxml_Shift_s* x);
struct zx_elem_s* zx_hrxml_Shift_POP_Name(struct zx_hrxml_Shift_s* x);
struct zx_elem_s* zx_hrxml_Shift_POP_Hours(struct zx_hrxml_Shift_s* x);
struct zx_elem_s* zx_hrxml_Shift_POP_StartTime(struct zx_hrxml_Shift_s* x);
struct zx_elem_s* zx_hrxml_Shift_POP_EndTime(struct zx_hrxml_Shift_s* x);
struct zx_elem_s* zx_hrxml_Shift_POP_PayTypeHours(struct zx_hrxml_Shift_s* x);
struct zx_elem_s* zx_hrxml_Shift_POP_Comments(struct zx_hrxml_Shift_s* x);

void zx_hrxml_Shift_PUSH_Id(struct zx_hrxml_Shift_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_Shift_PUSH_Name(struct zx_hrxml_Shift_s* x, struct zx_elem_s* y);
void zx_hrxml_Shift_PUSH_Hours(struct zx_hrxml_Shift_s* x, struct zx_elem_s* y);
void zx_hrxml_Shift_PUSH_StartTime(struct zx_hrxml_Shift_s* x, struct zx_elem_s* y);
void zx_hrxml_Shift_PUSH_EndTime(struct zx_hrxml_Shift_s* x, struct zx_elem_s* y);
void zx_hrxml_Shift_PUSH_PayTypeHours(struct zx_hrxml_Shift_s* x, struct zx_elem_s* y);
void zx_hrxml_Shift_PUSH_Comments(struct zx_hrxml_Shift_s* x, struct zx_elem_s* y);

void zx_hrxml_Shift_PUT_shiftPeriod(struct zx_hrxml_Shift_s* x, struct zx_attr_s* y);

void zx_hrxml_Shift_PUT_Id(struct zx_hrxml_Shift_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_Shift_PUT_Name(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Shift_PUT_Hours(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Shift_PUT_StartTime(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Shift_PUT_EndTime(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Shift_PUT_PayTypeHours(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Shift_PUT_Comments(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Shift_ADD_Id(struct zx_hrxml_Shift_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_Shift_ADD_Name(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Shift_ADD_Hours(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Shift_ADD_StartTime(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Shift_ADD_EndTime(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Shift_ADD_PayTypeHours(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Shift_ADD_Comments(struct zx_hrxml_Shift_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Shift_DEL_Id(struct zx_hrxml_Shift_s* x, int n);
void zx_hrxml_Shift_DEL_Name(struct zx_hrxml_Shift_s* x,int n);
void zx_hrxml_Shift_DEL_Hours(struct zx_hrxml_Shift_s* x,int n);
void zx_hrxml_Shift_DEL_StartTime(struct zx_hrxml_Shift_s* x,int n);
void zx_hrxml_Shift_DEL_EndTime(struct zx_hrxml_Shift_s* x,int n);
void zx_hrxml_Shift_DEL_PayTypeHours(struct zx_hrxml_Shift_s* x,int n);
void zx_hrxml_Shift_DEL_Comments(struct zx_hrxml_Shift_s* x,int n);

void zx_hrxml_Shift_REV_Id(struct zx_hrxml_Shift_s* x);
void zx_hrxml_Shift_REV_Name(struct zx_hrxml_Shift_s* x);
void zx_hrxml_Shift_REV_Hours(struct zx_hrxml_Shift_s* x);
void zx_hrxml_Shift_REV_StartTime(struct zx_hrxml_Shift_s* x);
void zx_hrxml_Shift_REV_EndTime(struct zx_hrxml_Shift_s* x);
void zx_hrxml_Shift_REV_PayTypeHours(struct zx_hrxml_Shift_s* x);
void zx_hrxml_Shift_REV_Comments(struct zx_hrxml_Shift_s* x);

#endif
/* -------------------------- hrxml_SourceType -------------------------- */
/* refby( zx_hrxml_CandidateSupplier_s ) */
#ifndef zx_hrxml_SourceType_EXT
#define zx_hrxml_SourceType_EXT
#endif
struct zx_hrxml_SourceType_s {
  ZX_ELEM_EXT
  zx_hrxml_SourceType_EXT
  struct zx_elem_s* StandardValue;	/* {1,1} Job */
  struct zx_elem_s* NonStandardValue;	/* {1,1} xsd:string */
};

#define zx_NEW_hrxml_SourceType(c, father) (struct zx_hrxml_SourceType_s*)zx_new_elem((c),(father),zx_hrxml_SourceType_ELEM)
int zx_DEC_ATTR_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x);
int zx_DEC_ELEM_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SourceType_s* zx_DEEP_CLONE_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x);
int zx_WALK_SO_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SourceType(struct zx_ctx* c, struct zx_hrxml_SourceType_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_SourceType_GET_StandardValue(struct zx_hrxml_SourceType_s* x, int n);
struct zx_elem_s* zx_hrxml_SourceType_GET_NonStandardValue(struct zx_hrxml_SourceType_s* x, int n);

int zx_hrxml_SourceType_NUM_StandardValue(struct zx_hrxml_SourceType_s* x);
int zx_hrxml_SourceType_NUM_NonStandardValue(struct zx_hrxml_SourceType_s* x);

struct zx_elem_s* zx_hrxml_SourceType_POP_StandardValue(struct zx_hrxml_SourceType_s* x);
struct zx_elem_s* zx_hrxml_SourceType_POP_NonStandardValue(struct zx_hrxml_SourceType_s* x);

void zx_hrxml_SourceType_PUSH_StandardValue(struct zx_hrxml_SourceType_s* x, struct zx_elem_s* y);
void zx_hrxml_SourceType_PUSH_NonStandardValue(struct zx_hrxml_SourceType_s* x, struct zx_elem_s* y);


void zx_hrxml_SourceType_PUT_StandardValue(struct zx_hrxml_SourceType_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SourceType_PUT_NonStandardValue(struct zx_hrxml_SourceType_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_SourceType_ADD_StandardValue(struct zx_hrxml_SourceType_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SourceType_ADD_NonStandardValue(struct zx_hrxml_SourceType_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_SourceType_DEL_StandardValue(struct zx_hrxml_SourceType_s* x,int n);
void zx_hrxml_SourceType_DEL_NonStandardValue(struct zx_hrxml_SourceType_s* x,int n);

void zx_hrxml_SourceType_REV_StandardValue(struct zx_hrxml_SourceType_s* x);
void zx_hrxml_SourceType_REV_NonStandardValue(struct zx_hrxml_SourceType_s* x);

#endif
/* -------------------------- hrxml_SpatialLocation -------------------------- */
/* refby( zx_hrxml_SEPPhysicalLocation_s zx_hrxml_PhysicalLocation_s ) */
#ifndef zx_hrxml_SpatialLocation_EXT
#define zx_hrxml_SpatialLocation_EXT
#endif
struct zx_hrxml_SpatialLocation_s {
  ZX_ELEM_EXT
  zx_hrxml_SpatialLocation_EXT
  struct zx_hrxml_Latitude_s* Latitude;	/* {1,1}  */
  struct zx_hrxml_Longitude_s* Longitude;	/* {1,1}  */
  struct zx_elem_s* Altitude;	/* {0,1} xsd:decimal */
  struct zx_elem_s* AltitudeMeanSeaLevel;	/* {0,1} xsd:decimal */
  struct zx_hrxml_HorizontalAccuracy_s* HorizontalAccuracy;	/* {0,1}  */
  struct zx_hrxml_VerticalAccuracy_s* VerticalAccuracy;	/* {0,1}  */
};

#define zx_NEW_hrxml_SpatialLocation(c, father) (struct zx_hrxml_SpatialLocation_s*)zx_new_elem((c),(father),zx_hrxml_SpatialLocation_ELEM)
int zx_DEC_ATTR_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x);
int zx_DEC_ELEM_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SpatialLocation_s* zx_DEEP_CLONE_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x);
int zx_WALK_SO_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SpatialLocation(struct zx_ctx* c, struct zx_hrxml_SpatialLocation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Latitude_s* zx_hrxml_SpatialLocation_GET_Latitude(struct zx_hrxml_SpatialLocation_s* x, int n);
struct zx_hrxml_Longitude_s* zx_hrxml_SpatialLocation_GET_Longitude(struct zx_hrxml_SpatialLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_SpatialLocation_GET_Altitude(struct zx_hrxml_SpatialLocation_s* x, int n);
struct zx_elem_s* zx_hrxml_SpatialLocation_GET_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x, int n);
struct zx_hrxml_HorizontalAccuracy_s* zx_hrxml_SpatialLocation_GET_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n);
struct zx_hrxml_VerticalAccuracy_s* zx_hrxml_SpatialLocation_GET_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n);

int zx_hrxml_SpatialLocation_NUM_Latitude(struct zx_hrxml_SpatialLocation_s* x);
int zx_hrxml_SpatialLocation_NUM_Longitude(struct zx_hrxml_SpatialLocation_s* x);
int zx_hrxml_SpatialLocation_NUM_Altitude(struct zx_hrxml_SpatialLocation_s* x);
int zx_hrxml_SpatialLocation_NUM_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x);
int zx_hrxml_SpatialLocation_NUM_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x);
int zx_hrxml_SpatialLocation_NUM_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x);

struct zx_hrxml_Latitude_s* zx_hrxml_SpatialLocation_POP_Latitude(struct zx_hrxml_SpatialLocation_s* x);
struct zx_hrxml_Longitude_s* zx_hrxml_SpatialLocation_POP_Longitude(struct zx_hrxml_SpatialLocation_s* x);
struct zx_elem_s* zx_hrxml_SpatialLocation_POP_Altitude(struct zx_hrxml_SpatialLocation_s* x);
struct zx_elem_s* zx_hrxml_SpatialLocation_POP_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x);
struct zx_hrxml_HorizontalAccuracy_s* zx_hrxml_SpatialLocation_POP_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x);
struct zx_hrxml_VerticalAccuracy_s* zx_hrxml_SpatialLocation_POP_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x);

void zx_hrxml_SpatialLocation_PUSH_Latitude(struct zx_hrxml_SpatialLocation_s* x, struct zx_hrxml_Latitude_s* y);
void zx_hrxml_SpatialLocation_PUSH_Longitude(struct zx_hrxml_SpatialLocation_s* x, struct zx_hrxml_Longitude_s* y);
void zx_hrxml_SpatialLocation_PUSH_Altitude(struct zx_hrxml_SpatialLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_SpatialLocation_PUSH_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x, struct zx_elem_s* y);
void zx_hrxml_SpatialLocation_PUSH_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x, struct zx_hrxml_HorizontalAccuracy_s* y);
void zx_hrxml_SpatialLocation_PUSH_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x, struct zx_hrxml_VerticalAccuracy_s* y);


void zx_hrxml_SpatialLocation_PUT_Latitude(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_Latitude_s* y);
void zx_hrxml_SpatialLocation_PUT_Longitude(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_Longitude_s* y);
void zx_hrxml_SpatialLocation_PUT_Altitude(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpatialLocation_PUT_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpatialLocation_PUT_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_HorizontalAccuracy_s* y);
void zx_hrxml_SpatialLocation_PUT_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_VerticalAccuracy_s* y);

void zx_hrxml_SpatialLocation_ADD_Latitude(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_Latitude_s* z);
void zx_hrxml_SpatialLocation_ADD_Longitude(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_Longitude_s* z);
void zx_hrxml_SpatialLocation_ADD_Altitude(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpatialLocation_ADD_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpatialLocation_ADD_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_HorizontalAccuracy_s* z);
void zx_hrxml_SpatialLocation_ADD_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n, struct zx_hrxml_VerticalAccuracy_s* z);

void zx_hrxml_SpatialLocation_DEL_Latitude(struct zx_hrxml_SpatialLocation_s* x, int n);
void zx_hrxml_SpatialLocation_DEL_Longitude(struct zx_hrxml_SpatialLocation_s* x, int n);
void zx_hrxml_SpatialLocation_DEL_Altitude(struct zx_hrxml_SpatialLocation_s* x,int n);
void zx_hrxml_SpatialLocation_DEL_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x,int n);
void zx_hrxml_SpatialLocation_DEL_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n);
void zx_hrxml_SpatialLocation_DEL_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x, int n);

void zx_hrxml_SpatialLocation_REV_Latitude(struct zx_hrxml_SpatialLocation_s* x);
void zx_hrxml_SpatialLocation_REV_Longitude(struct zx_hrxml_SpatialLocation_s* x);
void zx_hrxml_SpatialLocation_REV_Altitude(struct zx_hrxml_SpatialLocation_s* x);
void zx_hrxml_SpatialLocation_REV_AltitudeMeanSeaLevel(struct zx_hrxml_SpatialLocation_s* x);
void zx_hrxml_SpatialLocation_REV_HorizontalAccuracy(struct zx_hrxml_SpatialLocation_s* x);
void zx_hrxml_SpatialLocation_REV_VerticalAccuracy(struct zx_hrxml_SpatialLocation_s* x);

#endif
/* -------------------------- hrxml_SpeakingEvent -------------------------- */
/* refby( zx_hrxml_SpeakingEventsHistory_s ) */
#ifndef zx_hrxml_SpeakingEvent_EXT
#define zx_hrxml_SpeakingEvent_EXT
#endif
struct zx_hrxml_SpeakingEvent_s {
  ZX_ELEM_EXT
  zx_hrxml_SpeakingEvent_EXT
  struct zx_elem_s* Title;	/* {0,1} xsd:string */
  struct zx_elem_s* Role;	/* {0,1} xsd:string */
  struct zx_hrxml_StartDate_s* StartDate;	/* {0,1}  */
  struct zx_hrxml_EndDate_s* EndDate;	/* {0,1}  */
  struct zx_elem_s* EventName;	/* {1,1} xsd:string */
  struct zx_elem_s* EventType;	/* {0,1} hrxml:EventTypeType */
  struct zx_elem_s* Location;	/* {0,1} hrxml:contactMethodLocationType */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_elem_s* AffiliatedOrganization;	/* {0,-1} xsd:string */
  struct zx_elem_s* Link;	/* {0,1} InternetWebAddressType */
  struct zx_attr_s* type;	/* {0,1} attribute hrxml:ExtendedAssociationTypeType */
};

#define zx_NEW_hrxml_SpeakingEvent(c, father) (struct zx_hrxml_SpeakingEvent_s*)zx_new_elem((c),(father),zx_hrxml_SpeakingEvent_ELEM)
int zx_DEC_ATTR_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x);
int zx_DEC_ELEM_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SpeakingEvent_s* zx_DEEP_CLONE_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x);
int zx_WALK_SO_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SpeakingEvent(struct zx_ctx* c, struct zx_hrxml_SpeakingEvent_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SpeakingEvent_GET_type(struct zx_hrxml_SpeakingEvent_s* x);

struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_Title(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_Role(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_hrxml_StartDate_s* zx_hrxml_SpeakingEvent_GET_StartDate(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_hrxml_EndDate_s* zx_hrxml_SpeakingEvent_GET_EndDate(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_EventName(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_EventType(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_Location(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_SpeakingEvent_GET_Description(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x, int n);
struct zx_elem_s* zx_hrxml_SpeakingEvent_GET_Link(struct zx_hrxml_SpeakingEvent_s* x, int n);

int zx_hrxml_SpeakingEvent_NUM_Title(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_Role(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_StartDate(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_EndDate(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_EventName(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_EventType(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_Location(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_Description(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x);
int zx_hrxml_SpeakingEvent_NUM_Link(struct zx_hrxml_SpeakingEvent_s* x);

struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_Title(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_Role(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_hrxml_StartDate_s* zx_hrxml_SpeakingEvent_POP_StartDate(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_hrxml_EndDate_s* zx_hrxml_SpeakingEvent_POP_EndDate(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_EventName(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_EventType(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_Location(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_hrxml_Description_s* zx_hrxml_SpeakingEvent_POP_Description(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x);
struct zx_elem_s* zx_hrxml_SpeakingEvent_POP_Link(struct zx_hrxml_SpeakingEvent_s* x);

void zx_hrxml_SpeakingEvent_PUSH_Title(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUSH_Role(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUSH_StartDate(struct zx_hrxml_SpeakingEvent_s* x, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_SpeakingEvent_PUSH_EndDate(struct zx_hrxml_SpeakingEvent_s* x, struct zx_hrxml_EndDate_s* y);
void zx_hrxml_SpeakingEvent_PUSH_EventName(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUSH_EventType(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUSH_Location(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUSH_Description(struct zx_hrxml_SpeakingEvent_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_SpeakingEvent_PUSH_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUSH_Link(struct zx_hrxml_SpeakingEvent_s* x, struct zx_elem_s* y);

void zx_hrxml_SpeakingEvent_PUT_type(struct zx_hrxml_SpeakingEvent_s* x, struct zx_attr_s* y);

void zx_hrxml_SpeakingEvent_PUT_Title(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUT_Role(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUT_StartDate(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_hrxml_StartDate_s* y);
void zx_hrxml_SpeakingEvent_PUT_EndDate(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_hrxml_EndDate_s* y);
void zx_hrxml_SpeakingEvent_PUT_EventName(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUT_EventType(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUT_Location(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUT_Description(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_SpeakingEvent_PUT_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SpeakingEvent_PUT_Link(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_SpeakingEvent_ADD_Title(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpeakingEvent_ADD_Role(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpeakingEvent_ADD_StartDate(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_hrxml_StartDate_s* z);
void zx_hrxml_SpeakingEvent_ADD_EndDate(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_hrxml_EndDate_s* z);
void zx_hrxml_SpeakingEvent_ADD_EventName(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpeakingEvent_ADD_EventType(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpeakingEvent_ADD_Location(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpeakingEvent_ADD_Description(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_SpeakingEvent_ADD_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SpeakingEvent_ADD_Link(struct zx_hrxml_SpeakingEvent_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_SpeakingEvent_DEL_Title(struct zx_hrxml_SpeakingEvent_s* x,int n);
void zx_hrxml_SpeakingEvent_DEL_Role(struct zx_hrxml_SpeakingEvent_s* x,int n);
void zx_hrxml_SpeakingEvent_DEL_StartDate(struct zx_hrxml_SpeakingEvent_s* x, int n);
void zx_hrxml_SpeakingEvent_DEL_EndDate(struct zx_hrxml_SpeakingEvent_s* x, int n);
void zx_hrxml_SpeakingEvent_DEL_EventName(struct zx_hrxml_SpeakingEvent_s* x,int n);
void zx_hrxml_SpeakingEvent_DEL_EventType(struct zx_hrxml_SpeakingEvent_s* x,int n);
void zx_hrxml_SpeakingEvent_DEL_Location(struct zx_hrxml_SpeakingEvent_s* x,int n);
void zx_hrxml_SpeakingEvent_DEL_Description(struct zx_hrxml_SpeakingEvent_s* x, int n);
void zx_hrxml_SpeakingEvent_DEL_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x,int n);
void zx_hrxml_SpeakingEvent_DEL_Link(struct zx_hrxml_SpeakingEvent_s* x,int n);

void zx_hrxml_SpeakingEvent_REV_Title(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_Role(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_StartDate(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_EndDate(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_EventName(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_EventType(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_Location(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_Description(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_AffiliatedOrganization(struct zx_hrxml_SpeakingEvent_s* x);
void zx_hrxml_SpeakingEvent_REV_Link(struct zx_hrxml_SpeakingEvent_s* x);

#endif
/* -------------------------- hrxml_SpeakingEventsHistory -------------------------- */
/* refby( zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_SpeakingEventsHistory_EXT
#define zx_hrxml_SpeakingEventsHistory_EXT
#endif
struct zx_hrxml_SpeakingEventsHistory_s {
  ZX_ELEM_EXT
  zx_hrxml_SpeakingEventsHistory_EXT
  struct zx_hrxml_SpeakingEvent_s* SpeakingEvent;	/* {1,-1} nada */
};

#define zx_NEW_hrxml_SpeakingEventsHistory(c, father) (struct zx_hrxml_SpeakingEventsHistory_s*)zx_new_elem((c),(father),zx_hrxml_SpeakingEventsHistory_ELEM)
int zx_DEC_ATTR_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x);
int zx_DEC_ELEM_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SpeakingEventsHistory_s* zx_DEEP_CLONE_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x);
int zx_WALK_SO_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SpeakingEventsHistory(struct zx_ctx* c, struct zx_hrxml_SpeakingEventsHistory_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_SpeakingEvent_s* zx_hrxml_SpeakingEventsHistory_GET_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x, int n);

int zx_hrxml_SpeakingEventsHistory_NUM_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x);

struct zx_hrxml_SpeakingEvent_s* zx_hrxml_SpeakingEventsHistory_POP_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x);

void zx_hrxml_SpeakingEventsHistory_PUSH_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x, struct zx_hrxml_SpeakingEvent_s* y);


void zx_hrxml_SpeakingEventsHistory_PUT_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x, int n, struct zx_hrxml_SpeakingEvent_s* y);

void zx_hrxml_SpeakingEventsHistory_ADD_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x, int n, struct zx_hrxml_SpeakingEvent_s* z);

void zx_hrxml_SpeakingEventsHistory_DEL_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x, int n);

void zx_hrxml_SpeakingEventsHistory_REV_SpeakingEvent(struct zx_hrxml_SpeakingEventsHistory_s* x);

#endif
/* -------------------------- hrxml_SpecifiedCompetencyReference -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_SpecifiedCompetencyReference_EXT
#define zx_hrxml_SpecifiedCompetencyReference_EXT
#endif
struct zx_hrxml_SpecifiedCompetencyReference_s {
  ZX_ELEM_EXT
  zx_hrxml_SpecifiedCompetencyReference_EXT
  struct zx_hrxml_CompetencyId_s* CompetencyId;	/* {1,1} nada */
  struct zx_elem_s* ProficencyLevel;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_SpecifiedCompetencyReference(c, father) (struct zx_hrxml_SpecifiedCompetencyReference_s*)zx_new_elem((c),(father),zx_hrxml_SpecifiedCompetencyReference_ELEM)
int zx_DEC_ATTR_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x);
int zx_DEC_ELEM_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SpecifiedCompetencyReference_s* zx_DEEP_CLONE_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x);
int zx_WALK_SO_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SpecifiedCompetencyReference(struct zx_ctx* c, struct zx_hrxml_SpecifiedCompetencyReference_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_CompetencyId_s* zx_hrxml_SpecifiedCompetencyReference_GET_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n);
struct zx_elem_s* zx_hrxml_SpecifiedCompetencyReference_GET_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n);

int zx_hrxml_SpecifiedCompetencyReference_NUM_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x);
int zx_hrxml_SpecifiedCompetencyReference_NUM_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x);

struct zx_hrxml_CompetencyId_s* zx_hrxml_SpecifiedCompetencyReference_POP_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x);
struct zx_elem_s* zx_hrxml_SpecifiedCompetencyReference_POP_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x);

void zx_hrxml_SpecifiedCompetencyReference_PUSH_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x, struct zx_hrxml_CompetencyId_s* y);
void zx_hrxml_SpecifiedCompetencyReference_PUSH_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x, struct zx_elem_s* y);


void zx_hrxml_SpecifiedCompetencyReference_PUT_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n, struct zx_hrxml_CompetencyId_s* y);
void zx_hrxml_SpecifiedCompetencyReference_PUT_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_SpecifiedCompetencyReference_ADD_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n, struct zx_hrxml_CompetencyId_s* z);
void zx_hrxml_SpecifiedCompetencyReference_ADD_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_SpecifiedCompetencyReference_DEL_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x, int n);
void zx_hrxml_SpecifiedCompetencyReference_DEL_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x,int n);

void zx_hrxml_SpecifiedCompetencyReference_REV_CompetencyId(struct zx_hrxml_SpecifiedCompetencyReference_s* x);
void zx_hrxml_SpecifiedCompetencyReference_REV_ProficencyLevel(struct zx_hrxml_SpecifiedCompetencyReference_s* x);

#endif
/* -------------------------- hrxml_StartDate -------------------------- */
/* refby( zx_hrxml_DatesOfAttendance_s zx_hrxml_Association_s zx_hrxml_EffectiveDate_s zx_hrxml_DatesOfService_s zx_hrxml_SpeakingEvent_s zx_hrxml_PositionHistory_s zx_hrxml_AvailabilityDates_s ) */
#ifndef zx_hrxml_StartDate_EXT
#define zx_hrxml_StartDate_EXT
#endif
struct zx_hrxml_StartDate_s {
  ZX_ELEM_EXT
  zx_hrxml_StartDate_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_StartDate(c, father) (struct zx_hrxml_StartDate_s*)zx_new_elem((c),(father),zx_hrxml_StartDate_ELEM)
int zx_DEC_ATTR_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x);
int zx_DEC_ELEM_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_StartDate_s* zx_DEEP_CLONE_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x);
int zx_WALK_SO_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_StartDate(struct zx_ctx* c, struct zx_hrxml_StartDate_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_StartDate_GET_dateDescription(struct zx_hrxml_StartDate_s* x);

struct zx_elem_s* zx_hrxml_StartDate_GET_AnyDate(struct zx_hrxml_StartDate_s* x, int n);
struct zx_elem_s* zx_hrxml_StartDate_GET_YearMonth(struct zx_hrxml_StartDate_s* x, int n);
struct zx_elem_s* zx_hrxml_StartDate_GET_Year(struct zx_hrxml_StartDate_s* x, int n);
struct zx_elem_s* zx_hrxml_StartDate_GET_MonthDay(struct zx_hrxml_StartDate_s* x, int n);
struct zx_elem_s* zx_hrxml_StartDate_GET_StringDate(struct zx_hrxml_StartDate_s* x, int n);

int zx_hrxml_StartDate_NUM_AnyDate(struct zx_hrxml_StartDate_s* x);
int zx_hrxml_StartDate_NUM_YearMonth(struct zx_hrxml_StartDate_s* x);
int zx_hrxml_StartDate_NUM_Year(struct zx_hrxml_StartDate_s* x);
int zx_hrxml_StartDate_NUM_MonthDay(struct zx_hrxml_StartDate_s* x);
int zx_hrxml_StartDate_NUM_StringDate(struct zx_hrxml_StartDate_s* x);

struct zx_elem_s* zx_hrxml_StartDate_POP_AnyDate(struct zx_hrxml_StartDate_s* x);
struct zx_elem_s* zx_hrxml_StartDate_POP_YearMonth(struct zx_hrxml_StartDate_s* x);
struct zx_elem_s* zx_hrxml_StartDate_POP_Year(struct zx_hrxml_StartDate_s* x);
struct zx_elem_s* zx_hrxml_StartDate_POP_MonthDay(struct zx_hrxml_StartDate_s* x);
struct zx_elem_s* zx_hrxml_StartDate_POP_StringDate(struct zx_hrxml_StartDate_s* x);

void zx_hrxml_StartDate_PUSH_AnyDate(struct zx_hrxml_StartDate_s* x, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUSH_YearMonth(struct zx_hrxml_StartDate_s* x, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUSH_Year(struct zx_hrxml_StartDate_s* x, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUSH_MonthDay(struct zx_hrxml_StartDate_s* x, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUSH_StringDate(struct zx_hrxml_StartDate_s* x, struct zx_elem_s* y);

void zx_hrxml_StartDate_PUT_dateDescription(struct zx_hrxml_StartDate_s* x, struct zx_attr_s* y);

void zx_hrxml_StartDate_PUT_AnyDate(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUT_YearMonth(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUT_Year(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUT_MonthDay(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StartDate_PUT_StringDate(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_StartDate_ADD_AnyDate(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StartDate_ADD_YearMonth(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StartDate_ADD_Year(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StartDate_ADD_MonthDay(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StartDate_ADD_StringDate(struct zx_hrxml_StartDate_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_StartDate_DEL_AnyDate(struct zx_hrxml_StartDate_s* x,int n);
void zx_hrxml_StartDate_DEL_YearMonth(struct zx_hrxml_StartDate_s* x,int n);
void zx_hrxml_StartDate_DEL_Year(struct zx_hrxml_StartDate_s* x,int n);
void zx_hrxml_StartDate_DEL_MonthDay(struct zx_hrxml_StartDate_s* x,int n);
void zx_hrxml_StartDate_DEL_StringDate(struct zx_hrxml_StartDate_s* x,int n);

void zx_hrxml_StartDate_REV_AnyDate(struct zx_hrxml_StartDate_s* x);
void zx_hrxml_StartDate_REV_YearMonth(struct zx_hrxml_StartDate_s* x);
void zx_hrxml_StartDate_REV_Year(struct zx_hrxml_StartDate_s* x);
void zx_hrxml_StartDate_REV_MonthDay(struct zx_hrxml_StartDate_s* x);
void zx_hrxml_StartDate_REV_StringDate(struct zx_hrxml_StartDate_s* x);

#endif
/* -------------------------- hrxml_StartingCompensation -------------------------- */
/* refby( zx_hrxml_Compensation_s ) */
#ifndef zx_hrxml_StartingCompensation_EXT
#define zx_hrxml_StartingCompensation_EXT
#endif
struct zx_hrxml_StartingCompensation_s {
  ZX_ELEM_EXT
  zx_hrxml_StartingCompensation_EXT
  struct zx_attr_s* currency;	/* {1,1} attribute hrxml:CurrencyCodeType */
  struct zx_attr_s* intervalType;	/* {0,1} attribute hrxml:IntervalTypeStringExtensionType */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_StartingCompensation(c, father) (struct zx_hrxml_StartingCompensation_s*)zx_new_elem((c),(father),zx_hrxml_StartingCompensation_ELEM)
int zx_DEC_ATTR_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x);
int zx_DEC_ELEM_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_StartingCompensation_s* zx_DEEP_CLONE_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x);
int zx_WALK_SO_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_StartingCompensation(struct zx_ctx* c, struct zx_hrxml_StartingCompensation_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_StartingCompensation_GET_currency(struct zx_hrxml_StartingCompensation_s* x);
struct zx_attr_s* zx_hrxml_StartingCompensation_GET_intervalType(struct zx_hrxml_StartingCompensation_s* x);
struct zx_attr_s* zx_hrxml_StartingCompensation_GET_validFrom(struct zx_hrxml_StartingCompensation_s* x);
struct zx_attr_s* zx_hrxml_StartingCompensation_GET_validTo(struct zx_hrxml_StartingCompensation_s* x);





void zx_hrxml_StartingCompensation_PUT_currency(struct zx_hrxml_StartingCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_StartingCompensation_PUT_intervalType(struct zx_hrxml_StartingCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_StartingCompensation_PUT_validFrom(struct zx_hrxml_StartingCompensation_s* x, struct zx_attr_s* y);
void zx_hrxml_StartingCompensation_PUT_validTo(struct zx_hrxml_StartingCompensation_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Status -------------------------- */
/* refby( zx_hrxml_PatentMilestone_s zx_hrxml_CandidateRecordInfo_s ) */
#ifndef zx_hrxml_Status_EXT
#define zx_hrxml_Status_EXT
#endif
struct zx_hrxml_Status_s {
  ZX_ELEM_EXT
  zx_hrxml_Status_EXT
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_Status(c, father) (struct zx_hrxml_Status_s*)zx_new_elem((c),(father),zx_hrxml_Status_ELEM)
int zx_DEC_ATTR_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x);
int zx_DEC_ELEM_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Status_s* zx_DEEP_CLONE_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x);
int zx_WALK_SO_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Status(struct zx_ctx* c, struct zx_hrxml_Status_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Status_GET_validFrom(struct zx_hrxml_Status_s* x);
struct zx_attr_s* zx_hrxml_Status_GET_validTo(struct zx_hrxml_Status_s* x);





void zx_hrxml_Status_PUT_validFrom(struct zx_hrxml_Status_s* x, struct zx_attr_s* y);
void zx_hrxml_Status_PUT_validTo(struct zx_hrxml_Status_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Stock -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_Stock_EXT
#define zx_hrxml_Stock_EXT
#endif
struct zx_hrxml_Stock_s {
  ZX_ELEM_EXT
  zx_hrxml_Stock_EXT
  struct zx_hrxml_Id_s* Id;	/* {0,1}  */
  struct zx_elem_s* Symbol;	/* {0,1} xsd:string */
  struct zx_elem_s* Exchange;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Stock(c, father) (struct zx_hrxml_Stock_s*)zx_new_elem((c),(father),zx_hrxml_Stock_ELEM)
int zx_DEC_ATTR_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x);
int zx_DEC_ELEM_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Stock_s* zx_DEEP_CLONE_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x);
int zx_WALK_SO_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Stock(struct zx_ctx* c, struct zx_hrxml_Stock_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_Id_s* zx_hrxml_Stock_GET_Id(struct zx_hrxml_Stock_s* x, int n);
struct zx_elem_s* zx_hrxml_Stock_GET_Symbol(struct zx_hrxml_Stock_s* x, int n);
struct zx_elem_s* zx_hrxml_Stock_GET_Exchange(struct zx_hrxml_Stock_s* x, int n);

int zx_hrxml_Stock_NUM_Id(struct zx_hrxml_Stock_s* x);
int zx_hrxml_Stock_NUM_Symbol(struct zx_hrxml_Stock_s* x);
int zx_hrxml_Stock_NUM_Exchange(struct zx_hrxml_Stock_s* x);

struct zx_hrxml_Id_s* zx_hrxml_Stock_POP_Id(struct zx_hrxml_Stock_s* x);
struct zx_elem_s* zx_hrxml_Stock_POP_Symbol(struct zx_hrxml_Stock_s* x);
struct zx_elem_s* zx_hrxml_Stock_POP_Exchange(struct zx_hrxml_Stock_s* x);

void zx_hrxml_Stock_PUSH_Id(struct zx_hrxml_Stock_s* x, struct zx_hrxml_Id_s* y);
void zx_hrxml_Stock_PUSH_Symbol(struct zx_hrxml_Stock_s* x, struct zx_elem_s* y);
void zx_hrxml_Stock_PUSH_Exchange(struct zx_hrxml_Stock_s* x, struct zx_elem_s* y);


void zx_hrxml_Stock_PUT_Id(struct zx_hrxml_Stock_s* x, int n, struct zx_hrxml_Id_s* y);
void zx_hrxml_Stock_PUT_Symbol(struct zx_hrxml_Stock_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Stock_PUT_Exchange(struct zx_hrxml_Stock_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Stock_ADD_Id(struct zx_hrxml_Stock_s* x, int n, struct zx_hrxml_Id_s* z);
void zx_hrxml_Stock_ADD_Symbol(struct zx_hrxml_Stock_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Stock_ADD_Exchange(struct zx_hrxml_Stock_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Stock_DEL_Id(struct zx_hrxml_Stock_s* x, int n);
void zx_hrxml_Stock_DEL_Symbol(struct zx_hrxml_Stock_s* x,int n);
void zx_hrxml_Stock_DEL_Exchange(struct zx_hrxml_Stock_s* x,int n);

void zx_hrxml_Stock_REV_Id(struct zx_hrxml_Stock_s* x);
void zx_hrxml_Stock_REV_Symbol(struct zx_hrxml_Stock_s* x);
void zx_hrxml_Stock_REV_Exchange(struct zx_hrxml_Stock_s* x);

#endif
/* -------------------------- hrxml_StringValue -------------------------- */
/* refby( zx_hrxml_CompetencyEvidence_s zx_hrxml_HighestPossibleValue_s zx_hrxml_LowestPossibleValue_s zx_hrxml_CompetencyWeight_s ) */
#ifndef zx_hrxml_StringValue_EXT
#define zx_hrxml_StringValue_EXT
#endif
struct zx_hrxml_StringValue_s {
  ZX_ELEM_EXT
  zx_hrxml_StringValue_EXT
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* maxValue;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* minValue;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_StringValue(c, father) (struct zx_hrxml_StringValue_s*)zx_new_elem((c),(father),zx_hrxml_StringValue_ELEM)
int zx_DEC_ATTR_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x);
int zx_DEC_ELEM_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_StringValue_s* zx_DEEP_CLONE_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x);
int zx_WALK_SO_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_StringValue(struct zx_ctx* c, struct zx_hrxml_StringValue_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_StringValue_GET_description(struct zx_hrxml_StringValue_s* x);
struct zx_attr_s* zx_hrxml_StringValue_GET_maxValue(struct zx_hrxml_StringValue_s* x);
struct zx_attr_s* zx_hrxml_StringValue_GET_minValue(struct zx_hrxml_StringValue_s* x);





void zx_hrxml_StringValue_PUT_description(struct zx_hrxml_StringValue_s* x, struct zx_attr_s* y);
void zx_hrxml_StringValue_PUT_maxValue(struct zx_hrxml_StringValue_s* x, struct zx_attr_s* y);
void zx_hrxml_StringValue_PUT_minValue(struct zx_hrxml_StringValue_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_StructuredXMLResume -------------------------- */
/* refby( zx_hrxml_Resume_s ) */
#ifndef zx_hrxml_StructuredXMLResume_EXT
#define zx_hrxml_StructuredXMLResume_EXT
#endif
struct zx_hrxml_StructuredXMLResume_s {
  ZX_ELEM_EXT
  zx_hrxml_StructuredXMLResume_EXT
  struct zx_hrxml_ContactInfo_s* ContactInfo;	/* {0,1}  */
  struct zx_elem_s* ExecutiveSummary;	/* {0,1} xsd:string */
  struct zx_elem_s* Objective;	/* {0,1} xsd:string */
  struct zx_hrxml_EmploymentHistory_s* EmploymentHistory;	/* {0,1}  */
  struct zx_hrxml_EducationHistory_s* EducationHistory;	/* {0,1}  */
  struct zx_hrxml_LicensesAndCertifications_s* LicensesAndCertifications;	/* {0,1}  */
  struct zx_hrxml_MilitaryHistory_s* MilitaryHistory;	/* {0,1} nada */
  struct zx_hrxml_PatentHistory_s* PatentHistory;	/* {0,1}  */
  struct zx_hrxml_PublicationHistory_s* PublicationHistory;	/* {0,1} nada */
  struct zx_hrxml_SpeakingEventsHistory_s* SpeakingEventsHistory;	/* {0,1}  */
  struct zx_hrxml_Qualifications_s* Qualifications;	/* {0,1}  */
  struct zx_hrxml_Languages_s* Languages;	/* {0,0}  */
  struct zx_hrxml_Achievements_s* Achievements;	/* {0,1}  */
  struct zx_hrxml_Associations_s* Associations;	/* {0,1}  */
  struct zx_hrxml_References_s* References;	/* {0,1}  */
  struct zx_hrxml_SecurityCredentials_s* SecurityCredentials;	/* {0,1}  */
  struct zx_hrxml_ResumeAdditionalItems_s* ResumeAdditionalItems;	/* {0,1}  */
  struct zx_hrxml_SupportingMaterials_s* SupportingMaterials;	/* {0,-1}  */
  struct zx_hrxml_ProfessionalAssociations_s* ProfessionalAssociations;	/* {0,1}  */
  struct zx_elem_s* Comments;	/* {0,1} xsd:string */
  struct zx_elem_s* RevisionDate;	/* {0,1} hrxml:LocalDateType */
};

#define zx_NEW_hrxml_StructuredXMLResume(c, father) (struct zx_hrxml_StructuredXMLResume_s*)zx_new_elem((c),(father),zx_hrxml_StructuredXMLResume_ELEM)
int zx_DEC_ATTR_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x);
int zx_DEC_ELEM_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_StructuredXMLResume_s* zx_DEEP_CLONE_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x);
int zx_WALK_SO_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_StructuredXMLResume(struct zx_ctx* c, struct zx_hrxml_StructuredXMLResume_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_ContactInfo_s* zx_hrxml_StructuredXMLResume_GET_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_GET_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_GET_Objective(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_EmploymentHistory_s* zx_hrxml_StructuredXMLResume_GET_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_EducationHistory_s* zx_hrxml_StructuredXMLResume_GET_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_LicensesAndCertifications_s* zx_hrxml_StructuredXMLResume_GET_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_MilitaryHistory_s* zx_hrxml_StructuredXMLResume_GET_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_PatentHistory_s* zx_hrxml_StructuredXMLResume_GET_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_PublicationHistory_s* zx_hrxml_StructuredXMLResume_GET_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_SpeakingEventsHistory_s* zx_hrxml_StructuredXMLResume_GET_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_Qualifications_s* zx_hrxml_StructuredXMLResume_GET_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_Languages_s* zx_hrxml_StructuredXMLResume_GET_Languages(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_Achievements_s* zx_hrxml_StructuredXMLResume_GET_Achievements(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_Associations_s* zx_hrxml_StructuredXMLResume_GET_Associations(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_References_s* zx_hrxml_StructuredXMLResume_GET_References(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_SecurityCredentials_s* zx_hrxml_StructuredXMLResume_GET_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_ResumeAdditionalItems_s* zx_hrxml_StructuredXMLResume_GET_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_StructuredXMLResume_GET_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_hrxml_ProfessionalAssociations_s* zx_hrxml_StructuredXMLResume_GET_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_GET_Comments(struct zx_hrxml_StructuredXMLResume_s* x, int n);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_GET_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x, int n);

int zx_hrxml_StructuredXMLResume_NUM_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_Objective(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_Languages(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_Achievements(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_Associations(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_References(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_Comments(struct zx_hrxml_StructuredXMLResume_s* x);
int zx_hrxml_StructuredXMLResume_NUM_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x);

struct zx_hrxml_ContactInfo_s* zx_hrxml_StructuredXMLResume_POP_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_POP_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_POP_Objective(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_EmploymentHistory_s* zx_hrxml_StructuredXMLResume_POP_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_EducationHistory_s* zx_hrxml_StructuredXMLResume_POP_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_LicensesAndCertifications_s* zx_hrxml_StructuredXMLResume_POP_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_MilitaryHistory_s* zx_hrxml_StructuredXMLResume_POP_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_PatentHistory_s* zx_hrxml_StructuredXMLResume_POP_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_PublicationHistory_s* zx_hrxml_StructuredXMLResume_POP_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_SpeakingEventsHistory_s* zx_hrxml_StructuredXMLResume_POP_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_Qualifications_s* zx_hrxml_StructuredXMLResume_POP_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_Languages_s* zx_hrxml_StructuredXMLResume_POP_Languages(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_Achievements_s* zx_hrxml_StructuredXMLResume_POP_Achievements(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_Associations_s* zx_hrxml_StructuredXMLResume_POP_Associations(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_References_s* zx_hrxml_StructuredXMLResume_POP_References(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_SecurityCredentials_s* zx_hrxml_StructuredXMLResume_POP_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_ResumeAdditionalItems_s* zx_hrxml_StructuredXMLResume_POP_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_SupportingMaterials_s* zx_hrxml_StructuredXMLResume_POP_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_hrxml_ProfessionalAssociations_s* zx_hrxml_StructuredXMLResume_POP_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_POP_Comments(struct zx_hrxml_StructuredXMLResume_s* x);
struct zx_elem_s* zx_hrxml_StructuredXMLResume_POP_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x);

void zx_hrxml_StructuredXMLResume_PUSH_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_ContactInfo_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_elem_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_Objective(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_elem_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_EmploymentHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_EducationHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_LicensesAndCertifications_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_MilitaryHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_PatentHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_PublicationHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_SpeakingEventsHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_Qualifications_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_Languages(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_Languages_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_Achievements(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_Achievements_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_Associations(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_Associations_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_References(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_References_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_SecurityCredentials_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_ResumeAdditionalItems_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_hrxml_ProfessionalAssociations_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_Comments(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_elem_s* y);
void zx_hrxml_StructuredXMLResume_PUSH_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x, struct zx_elem_s* y);


void zx_hrxml_StructuredXMLResume_PUT_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_ContactInfo_s* y);
void zx_hrxml_StructuredXMLResume_PUT_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StructuredXMLResume_PUT_Objective(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StructuredXMLResume_PUT_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_EmploymentHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUT_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_EducationHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUT_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_LicensesAndCertifications_s* y);
void zx_hrxml_StructuredXMLResume_PUT_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_MilitaryHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUT_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_PatentHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUT_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_PublicationHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUT_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_SpeakingEventsHistory_s* y);
void zx_hrxml_StructuredXMLResume_PUT_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Qualifications_s* y);
void zx_hrxml_StructuredXMLResume_PUT_Languages(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Languages_s* y);
void zx_hrxml_StructuredXMLResume_PUT_Achievements(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Achievements_s* y);
void zx_hrxml_StructuredXMLResume_PUT_Associations(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Associations_s* y);
void zx_hrxml_StructuredXMLResume_PUT_References(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_References_s* y);
void zx_hrxml_StructuredXMLResume_PUT_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_SecurityCredentials_s* y);
void zx_hrxml_StructuredXMLResume_PUT_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_ResumeAdditionalItems_s* y);
void zx_hrxml_StructuredXMLResume_PUT_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_SupportingMaterials_s* y);
void zx_hrxml_StructuredXMLResume_PUT_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_ProfessionalAssociations_s* y);
void zx_hrxml_StructuredXMLResume_PUT_Comments(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_StructuredXMLResume_PUT_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_StructuredXMLResume_ADD_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_ContactInfo_s* z);
void zx_hrxml_StructuredXMLResume_ADD_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StructuredXMLResume_ADD_Objective(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StructuredXMLResume_ADD_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_EmploymentHistory_s* z);
void zx_hrxml_StructuredXMLResume_ADD_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_EducationHistory_s* z);
void zx_hrxml_StructuredXMLResume_ADD_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_LicensesAndCertifications_s* z);
void zx_hrxml_StructuredXMLResume_ADD_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_MilitaryHistory_s* z);
void zx_hrxml_StructuredXMLResume_ADD_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_PatentHistory_s* z);
void zx_hrxml_StructuredXMLResume_ADD_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_PublicationHistory_s* z);
void zx_hrxml_StructuredXMLResume_ADD_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_SpeakingEventsHistory_s* z);
void zx_hrxml_StructuredXMLResume_ADD_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Qualifications_s* z);
void zx_hrxml_StructuredXMLResume_ADD_Languages(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Languages_s* z);
void zx_hrxml_StructuredXMLResume_ADD_Achievements(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Achievements_s* z);
void zx_hrxml_StructuredXMLResume_ADD_Associations(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_Associations_s* z);
void zx_hrxml_StructuredXMLResume_ADD_References(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_References_s* z);
void zx_hrxml_StructuredXMLResume_ADD_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_SecurityCredentials_s* z);
void zx_hrxml_StructuredXMLResume_ADD_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_ResumeAdditionalItems_s* z);
void zx_hrxml_StructuredXMLResume_ADD_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_SupportingMaterials_s* z);
void zx_hrxml_StructuredXMLResume_ADD_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_hrxml_ProfessionalAssociations_s* z);
void zx_hrxml_StructuredXMLResume_ADD_Comments(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_StructuredXMLResume_ADD_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_StructuredXMLResume_DEL_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x,int n);
void zx_hrxml_StructuredXMLResume_DEL_Objective(struct zx_hrxml_StructuredXMLResume_s* x,int n);
void zx_hrxml_StructuredXMLResume_DEL_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_Languages(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_Achievements(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_Associations(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_References(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x, int n);
void zx_hrxml_StructuredXMLResume_DEL_Comments(struct zx_hrxml_StructuredXMLResume_s* x,int n);
void zx_hrxml_StructuredXMLResume_DEL_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x,int n);

void zx_hrxml_StructuredXMLResume_REV_ContactInfo(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_ExecutiveSummary(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_Objective(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_EmploymentHistory(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_EducationHistory(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_LicensesAndCertifications(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_MilitaryHistory(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_PatentHistory(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_PublicationHistory(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_SpeakingEventsHistory(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_Qualifications(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_Languages(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_Achievements(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_Associations(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_References(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_SecurityCredentials(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_ResumeAdditionalItems(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_SupportingMaterials(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_ProfessionalAssociations(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_Comments(struct zx_hrxml_StructuredXMLResume_s* x);
void zx_hrxml_StructuredXMLResume_REV_RevisionDate(struct zx_hrxml_StructuredXMLResume_s* x);

#endif
/* -------------------------- hrxml_SupplierId -------------------------- */
/* refby( zx_hrxml_CandidateSupplier_s ) */
#ifndef zx_hrxml_SupplierId_EXT
#define zx_hrxml_SupplierId_EXT
#endif
struct zx_hrxml_SupplierId_s {
  ZX_ELEM_EXT
  zx_hrxml_SupplierId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_SupplierId(c, father) (struct zx_hrxml_SupplierId_s*)zx_new_elem((c),(father),zx_hrxml_SupplierId_ELEM)
int zx_DEC_ATTR_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x);
int zx_DEC_ELEM_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SupplierId_s* zx_DEEP_CLONE_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x);
int zx_WALK_SO_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SupplierId(struct zx_ctx* c, struct zx_hrxml_SupplierId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_SupplierId_GET_idOwner(struct zx_hrxml_SupplierId_s* x);
struct zx_attr_s* zx_hrxml_SupplierId_GET_validFrom(struct zx_hrxml_SupplierId_s* x);
struct zx_attr_s* zx_hrxml_SupplierId_GET_validTo(struct zx_hrxml_SupplierId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SupplierId_GET_IdValue(struct zx_hrxml_SupplierId_s* x, int n);

int zx_hrxml_SupplierId_NUM_IdValue(struct zx_hrxml_SupplierId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_SupplierId_POP_IdValue(struct zx_hrxml_SupplierId_s* x);

void zx_hrxml_SupplierId_PUSH_IdValue(struct zx_hrxml_SupplierId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SupplierId_PUT_idOwner(struct zx_hrxml_SupplierId_s* x, struct zx_attr_s* y);
void zx_hrxml_SupplierId_PUT_validFrom(struct zx_hrxml_SupplierId_s* x, struct zx_attr_s* y);
void zx_hrxml_SupplierId_PUT_validTo(struct zx_hrxml_SupplierId_s* x, struct zx_attr_s* y);

void zx_hrxml_SupplierId_PUT_IdValue(struct zx_hrxml_SupplierId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_SupplierId_ADD_IdValue(struct zx_hrxml_SupplierId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_SupplierId_DEL_IdValue(struct zx_hrxml_SupplierId_s* x, int n);

void zx_hrxml_SupplierId_REV_IdValue(struct zx_hrxml_SupplierId_s* x);

#endif
/* -------------------------- hrxml_SupportingMaterials -------------------------- */
/* refby( zx_hrxml_NonXMLResume_s zx_hrxml_PersonDescriptors_s zx_hrxml_CandidateProfile_s zx_hrxml_StructuredXMLResume_s ) */
#ifndef zx_hrxml_SupportingMaterials_EXT
#define zx_hrxml_SupportingMaterials_EXT
#endif
struct zx_hrxml_SupportingMaterials_s {
  ZX_ELEM_EXT
  zx_hrxml_SupportingMaterials_EXT
  struct zx_elem_s* Link;	/* {0,0} InternetWebAddressType */
  struct zx_hrxml_AttachmentReference_s* AttachmentReference;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
};

#define zx_NEW_hrxml_SupportingMaterials(c, father) (struct zx_hrxml_SupportingMaterials_s*)zx_new_elem((c),(father),zx_hrxml_SupportingMaterials_ELEM)
int zx_DEC_ATTR_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x);
int zx_DEC_ELEM_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_SupportingMaterials_s* zx_DEEP_CLONE_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x);
int zx_WALK_SO_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_SupportingMaterials(struct zx_ctx* c, struct zx_hrxml_SupportingMaterials_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_SupportingMaterials_GET_Link(struct zx_hrxml_SupportingMaterials_s* x, int n);
struct zx_hrxml_AttachmentReference_s* zx_hrxml_SupportingMaterials_GET_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_SupportingMaterials_GET_Description(struct zx_hrxml_SupportingMaterials_s* x, int n);

int zx_hrxml_SupportingMaterials_NUM_Link(struct zx_hrxml_SupportingMaterials_s* x);
int zx_hrxml_SupportingMaterials_NUM_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x);
int zx_hrxml_SupportingMaterials_NUM_Description(struct zx_hrxml_SupportingMaterials_s* x);

struct zx_elem_s* zx_hrxml_SupportingMaterials_POP_Link(struct zx_hrxml_SupportingMaterials_s* x);
struct zx_hrxml_AttachmentReference_s* zx_hrxml_SupportingMaterials_POP_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x);
struct zx_hrxml_Description_s* zx_hrxml_SupportingMaterials_POP_Description(struct zx_hrxml_SupportingMaterials_s* x);

void zx_hrxml_SupportingMaterials_PUSH_Link(struct zx_hrxml_SupportingMaterials_s* x, struct zx_elem_s* y);
void zx_hrxml_SupportingMaterials_PUSH_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x, struct zx_hrxml_AttachmentReference_s* y);
void zx_hrxml_SupportingMaterials_PUSH_Description(struct zx_hrxml_SupportingMaterials_s* x, struct zx_hrxml_Description_s* y);


void zx_hrxml_SupportingMaterials_PUT_Link(struct zx_hrxml_SupportingMaterials_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_SupportingMaterials_PUT_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x, int n, struct zx_hrxml_AttachmentReference_s* y);
void zx_hrxml_SupportingMaterials_PUT_Description(struct zx_hrxml_SupportingMaterials_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_SupportingMaterials_ADD_Link(struct zx_hrxml_SupportingMaterials_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_SupportingMaterials_ADD_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x, int n, struct zx_hrxml_AttachmentReference_s* z);
void zx_hrxml_SupportingMaterials_ADD_Description(struct zx_hrxml_SupportingMaterials_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_SupportingMaterials_DEL_Link(struct zx_hrxml_SupportingMaterials_s* x,int n);
void zx_hrxml_SupportingMaterials_DEL_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x, int n);
void zx_hrxml_SupportingMaterials_DEL_Description(struct zx_hrxml_SupportingMaterials_s* x, int n);

void zx_hrxml_SupportingMaterials_REV_Link(struct zx_hrxml_SupportingMaterials_s* x);
void zx_hrxml_SupportingMaterials_REV_AttachmentReference(struct zx_hrxml_SupportingMaterials_s* x);
void zx_hrxml_SupportingMaterials_REV_Description(struct zx_hrxml_SupportingMaterials_s* x);

#endif
/* -------------------------- hrxml_TTYTDD -------------------------- */
/* refby( zx_hrxml_ContactMethod_s ) */
#ifndef zx_hrxml_TTYTDD_EXT
#define zx_hrxml_TTYTDD_EXT
#endif
struct zx_hrxml_TTYTDD_s {
  ZX_ELEM_EXT
  zx_hrxml_TTYTDD_EXT
  struct zx_elem_s* FormattedNumber;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_TTYTDD(c, father) (struct zx_hrxml_TTYTDD_s*)zx_new_elem((c),(father),zx_hrxml_TTYTDD_ELEM)
int zx_DEC_ATTR_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x);
int zx_DEC_ELEM_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TTYTDD_s* zx_DEEP_CLONE_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x);
int zx_WALK_SO_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TTYTDD(struct zx_ctx* c, struct zx_hrxml_TTYTDD_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_TTYTDD_GET_FormattedNumber(struct zx_hrxml_TTYTDD_s* x, int n);

int zx_hrxml_TTYTDD_NUM_FormattedNumber(struct zx_hrxml_TTYTDD_s* x);

struct zx_elem_s* zx_hrxml_TTYTDD_POP_FormattedNumber(struct zx_hrxml_TTYTDD_s* x);

void zx_hrxml_TTYTDD_PUSH_FormattedNumber(struct zx_hrxml_TTYTDD_s* x, struct zx_elem_s* y);


void zx_hrxml_TTYTDD_PUT_FormattedNumber(struct zx_hrxml_TTYTDD_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_TTYTDD_ADD_FormattedNumber(struct zx_hrxml_TTYTDD_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_TTYTDD_DEL_FormattedNumber(struct zx_hrxml_TTYTDD_s* x,int n);

void zx_hrxml_TTYTDD_REV_FormattedNumber(struct zx_hrxml_TTYTDD_s* x);

#endif
/* -------------------------- hrxml_TaxId -------------------------- */
/* refby( zx_hrxml_RelatedOrganization_s ) */
#ifndef zx_hrxml_TaxId_EXT
#define zx_hrxml_TaxId_EXT
#endif
struct zx_hrxml_TaxId_s {
  ZX_ELEM_EXT
  zx_hrxml_TaxId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_TaxId(c, father) (struct zx_hrxml_TaxId_s*)zx_new_elem((c),(father),zx_hrxml_TaxId_ELEM)
int zx_DEC_ATTR_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x);
int zx_DEC_ELEM_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TaxId_s* zx_DEEP_CLONE_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x);
int zx_WALK_SO_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TaxId(struct zx_ctx* c, struct zx_hrxml_TaxId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_TaxId_GET_idOwner(struct zx_hrxml_TaxId_s* x);
struct zx_attr_s* zx_hrxml_TaxId_GET_validFrom(struct zx_hrxml_TaxId_s* x);
struct zx_attr_s* zx_hrxml_TaxId_GET_validTo(struct zx_hrxml_TaxId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_TaxId_GET_IdValue(struct zx_hrxml_TaxId_s* x, int n);

int zx_hrxml_TaxId_NUM_IdValue(struct zx_hrxml_TaxId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_TaxId_POP_IdValue(struct zx_hrxml_TaxId_s* x);

void zx_hrxml_TaxId_PUSH_IdValue(struct zx_hrxml_TaxId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_TaxId_PUT_idOwner(struct zx_hrxml_TaxId_s* x, struct zx_attr_s* y);
void zx_hrxml_TaxId_PUT_validFrom(struct zx_hrxml_TaxId_s* x, struct zx_attr_s* y);
void zx_hrxml_TaxId_PUT_validTo(struct zx_hrxml_TaxId_s* x, struct zx_attr_s* y);

void zx_hrxml_TaxId_PUT_IdValue(struct zx_hrxml_TaxId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_TaxId_ADD_IdValue(struct zx_hrxml_TaxId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_TaxId_DEL_IdValue(struct zx_hrxml_TaxId_s* x, int n);

void zx_hrxml_TaxId_REV_IdValue(struct zx_hrxml_TaxId_s* x);

#endif
/* -------------------------- hrxml_TaxonomyId -------------------------- */
/* refby( zx_hrxml_Competency_s ) */
#ifndef zx_hrxml_TaxonomyId_EXT
#define zx_hrxml_TaxonomyId_EXT
#endif
struct zx_hrxml_TaxonomyId_s {
  ZX_ELEM_EXT
  zx_hrxml_TaxonomyId_EXT
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* id;	/* {1,1} attribute xs:ID */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_TaxonomyId(c, father) (struct zx_hrxml_TaxonomyId_s*)zx_new_elem((c),(father),zx_hrxml_TaxonomyId_ELEM)
int zx_DEC_ATTR_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x);
int zx_DEC_ELEM_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TaxonomyId_s* zx_DEEP_CLONE_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x);
int zx_WALK_SO_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TaxonomyId(struct zx_ctx* c, struct zx_hrxml_TaxonomyId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_TaxonomyId_GET_description(struct zx_hrxml_TaxonomyId_s* x);
struct zx_attr_s* zx_hrxml_TaxonomyId_GET_id(struct zx_hrxml_TaxonomyId_s* x);
struct zx_attr_s* zx_hrxml_TaxonomyId_GET_idOwner(struct zx_hrxml_TaxonomyId_s* x);





void zx_hrxml_TaxonomyId_PUT_description(struct zx_hrxml_TaxonomyId_s* x, struct zx_attr_s* y);
void zx_hrxml_TaxonomyId_PUT_id(struct zx_hrxml_TaxonomyId_s* x, struct zx_attr_s* y);
void zx_hrxml_TaxonomyId_PUT_idOwner(struct zx_hrxml_TaxonomyId_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_TaxonomyName -------------------------- */
/* refby( zx_hrxml_JobCategory_s ) */
#ifndef zx_hrxml_TaxonomyName_EXT
#define zx_hrxml_TaxonomyName_EXT
#endif
struct zx_hrxml_TaxonomyName_s {
  ZX_ELEM_EXT
  zx_hrxml_TaxonomyName_EXT
  struct zx_attr_s* version;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_TaxonomyName(c, father) (struct zx_hrxml_TaxonomyName_s*)zx_new_elem((c),(father),zx_hrxml_TaxonomyName_ELEM)
int zx_DEC_ATTR_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x);
int zx_DEC_ELEM_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TaxonomyName_s* zx_DEEP_CLONE_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x);
int zx_WALK_SO_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TaxonomyName(struct zx_ctx* c, struct zx_hrxml_TaxonomyName_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_TaxonomyName_GET_version(struct zx_hrxml_TaxonomyName_s* x);





void zx_hrxml_TaxonomyName_PUT_version(struct zx_hrxml_TaxonomyName_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Telephone -------------------------- */
/* refby( zx_hrxml_ContactMethod_s ) */
#ifndef zx_hrxml_Telephone_EXT
#define zx_hrxml_Telephone_EXT
#endif
struct zx_hrxml_Telephone_s {
  ZX_ELEM_EXT
  zx_hrxml_Telephone_EXT
  struct zx_elem_s* FormattedNumber;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Telephone(c, father) (struct zx_hrxml_Telephone_s*)zx_new_elem((c),(father),zx_hrxml_Telephone_ELEM)
int zx_DEC_ATTR_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x);
int zx_DEC_ELEM_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Telephone_s* zx_DEEP_CLONE_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x);
int zx_WALK_SO_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Telephone(struct zx_ctx* c, struct zx_hrxml_Telephone_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Telephone_GET_FormattedNumber(struct zx_hrxml_Telephone_s* x, int n);

int zx_hrxml_Telephone_NUM_FormattedNumber(struct zx_hrxml_Telephone_s* x);

struct zx_elem_s* zx_hrxml_Telephone_POP_FormattedNumber(struct zx_hrxml_Telephone_s* x);

void zx_hrxml_Telephone_PUSH_FormattedNumber(struct zx_hrxml_Telephone_s* x, struct zx_elem_s* y);


void zx_hrxml_Telephone_PUT_FormattedNumber(struct zx_hrxml_Telephone_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Telephone_ADD_FormattedNumber(struct zx_hrxml_Telephone_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Telephone_DEL_FormattedNumber(struct zx_hrxml_Telephone_s* x,int n);

void zx_hrxml_Telephone_REV_FormattedNumber(struct zx_hrxml_Telephone_s* x);

#endif
/* -------------------------- hrxml_TermOfNotice -------------------------- */
/* refby( zx_hrxml_AvailabilityInfo_s ) */
#ifndef zx_hrxml_TermOfNotice_EXT
#define zx_hrxml_TermOfNotice_EXT
#endif
struct zx_hrxml_TermOfNotice_s {
  ZX_ELEM_EXT
  zx_hrxml_TermOfNotice_EXT
  struct zx_elem_s* Value;	/* {1,1} xsd:string */
  struct zx_elem_s* Interval;	/* {1,1} Bhrxml:asicNoticeFrequencyType */
};

#define zx_NEW_hrxml_TermOfNotice(c, father) (struct zx_hrxml_TermOfNotice_s*)zx_new_elem((c),(father),zx_hrxml_TermOfNotice_ELEM)
int zx_DEC_ATTR_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x);
int zx_DEC_ELEM_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TermOfNotice_s* zx_DEEP_CLONE_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x);
int zx_WALK_SO_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TermOfNotice(struct zx_ctx* c, struct zx_hrxml_TermOfNotice_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_TermOfNotice_GET_Value(struct zx_hrxml_TermOfNotice_s* x, int n);
struct zx_elem_s* zx_hrxml_TermOfNotice_GET_Interval(struct zx_hrxml_TermOfNotice_s* x, int n);

int zx_hrxml_TermOfNotice_NUM_Value(struct zx_hrxml_TermOfNotice_s* x);
int zx_hrxml_TermOfNotice_NUM_Interval(struct zx_hrxml_TermOfNotice_s* x);

struct zx_elem_s* zx_hrxml_TermOfNotice_POP_Value(struct zx_hrxml_TermOfNotice_s* x);
struct zx_elem_s* zx_hrxml_TermOfNotice_POP_Interval(struct zx_hrxml_TermOfNotice_s* x);

void zx_hrxml_TermOfNotice_PUSH_Value(struct zx_hrxml_TermOfNotice_s* x, struct zx_elem_s* y);
void zx_hrxml_TermOfNotice_PUSH_Interval(struct zx_hrxml_TermOfNotice_s* x, struct zx_elem_s* y);


void zx_hrxml_TermOfNotice_PUT_Value(struct zx_hrxml_TermOfNotice_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_TermOfNotice_PUT_Interval(struct zx_hrxml_TermOfNotice_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_TermOfNotice_ADD_Value(struct zx_hrxml_TermOfNotice_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_TermOfNotice_ADD_Interval(struct zx_hrxml_TermOfNotice_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_TermOfNotice_DEL_Value(struct zx_hrxml_TermOfNotice_s* x,int n);
void zx_hrxml_TermOfNotice_DEL_Interval(struct zx_hrxml_TermOfNotice_s* x,int n);

void zx_hrxml_TermOfNotice_REV_Value(struct zx_hrxml_TermOfNotice_s* x);
void zx_hrxml_TermOfNotice_REV_Interval(struct zx_hrxml_TermOfNotice_s* x);

#endif
/* -------------------------- hrxml_TimeMax -------------------------- */
/* refby( zx_hrxml_Commute_s ) */
#ifndef zx_hrxml_TimeMax_EXT
#define zx_hrxml_TimeMax_EXT
#endif
struct zx_hrxml_TimeMax_s {
  ZX_ELEM_EXT
  zx_hrxml_TimeMax_EXT
  struct zx_attr_s* unitOfMeasure;	/* {0,1} attribute xsd:integer */
};

#define zx_NEW_hrxml_TimeMax(c, father) (struct zx_hrxml_TimeMax_s*)zx_new_elem((c),(father),zx_hrxml_TimeMax_ELEM)
int zx_DEC_ATTR_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x);
int zx_DEC_ELEM_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TimeMax_s* zx_DEEP_CLONE_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x);
int zx_WALK_SO_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TimeMax(struct zx_ctx* c, struct zx_hrxml_TimeMax_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_TimeMax_GET_unitOfMeasure(struct zx_hrxml_TimeMax_s* x);





void zx_hrxml_TimeMax_PUT_unitOfMeasure(struct zx_hrxml_TimeMax_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_TimeOffAllowance -------------------------- */
/* refby( zx_hrxml_Benefits_s ) */
#ifndef zx_hrxml_TimeOffAllowance_EXT
#define zx_hrxml_TimeOffAllowance_EXT
#endif
struct zx_hrxml_TimeOffAllowance_s {
  ZX_ELEM_EXT
  zx_hrxml_TimeOffAllowance_EXT
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_attr_s* timeOffType;	/* {0,1} attribute hrxml:TimeOffTypes */
};

#define zx_NEW_hrxml_TimeOffAllowance(c, father) (struct zx_hrxml_TimeOffAllowance_s*)zx_new_elem((c),(father),zx_hrxml_TimeOffAllowance_ELEM)
int zx_DEC_ATTR_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x);
int zx_DEC_ELEM_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TimeOffAllowance_s* zx_DEEP_CLONE_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x);
int zx_WALK_SO_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TimeOffAllowance(struct zx_ctx* c, struct zx_hrxml_TimeOffAllowance_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_TimeOffAllowance_GET_timeOffType(struct zx_hrxml_TimeOffAllowance_s* x);

struct zx_hrxml_Description_s* zx_hrxml_TimeOffAllowance_GET_Description(struct zx_hrxml_TimeOffAllowance_s* x, int n);

int zx_hrxml_TimeOffAllowance_NUM_Description(struct zx_hrxml_TimeOffAllowance_s* x);

struct zx_hrxml_Description_s* zx_hrxml_TimeOffAllowance_POP_Description(struct zx_hrxml_TimeOffAllowance_s* x);

void zx_hrxml_TimeOffAllowance_PUSH_Description(struct zx_hrxml_TimeOffAllowance_s* x, struct zx_hrxml_Description_s* y);

void zx_hrxml_TimeOffAllowance_PUT_timeOffType(struct zx_hrxml_TimeOffAllowance_s* x, struct zx_attr_s* y);

void zx_hrxml_TimeOffAllowance_PUT_Description(struct zx_hrxml_TimeOffAllowance_s* x, int n, struct zx_hrxml_Description_s* y);

void zx_hrxml_TimeOffAllowance_ADD_Description(struct zx_hrxml_TimeOffAllowance_s* x, int n, struct zx_hrxml_Description_s* z);

void zx_hrxml_TimeOffAllowance_DEL_Description(struct zx_hrxml_TimeOffAllowance_s* x, int n);

void zx_hrxml_TimeOffAllowance_REV_Description(struct zx_hrxml_TimeOffAllowance_s* x);

#endif
/* -------------------------- hrxml_Travel -------------------------- */
/* refby( zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_Travel_EXT
#define zx_hrxml_Travel_EXT
#endif
struct zx_hrxml_Travel_s {
  ZX_ELEM_EXT
  zx_hrxml_Travel_EXT
  struct zx_elem_s* Applicable;	/* {0,1} xsd:boolean */
  struct zx_elem_s* TravelFrequency;	/* {0,1} xsd:string */
  struct zx_elem_s* TravelConsiderations;	/* {0,1} xsd:string */
};

#define zx_NEW_hrxml_Travel(c, father) (struct zx_hrxml_Travel_s*)zx_new_elem((c),(father),zx_hrxml_Travel_ELEM)
int zx_DEC_ATTR_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x);
int zx_DEC_ELEM_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Travel_s* zx_DEEP_CLONE_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x);
int zx_WALK_SO_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Travel(struct zx_ctx* c, struct zx_hrxml_Travel_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_Travel_GET_Applicable(struct zx_hrxml_Travel_s* x, int n);
struct zx_elem_s* zx_hrxml_Travel_GET_TravelFrequency(struct zx_hrxml_Travel_s* x, int n);
struct zx_elem_s* zx_hrxml_Travel_GET_TravelConsiderations(struct zx_hrxml_Travel_s* x, int n);

int zx_hrxml_Travel_NUM_Applicable(struct zx_hrxml_Travel_s* x);
int zx_hrxml_Travel_NUM_TravelFrequency(struct zx_hrxml_Travel_s* x);
int zx_hrxml_Travel_NUM_TravelConsiderations(struct zx_hrxml_Travel_s* x);

struct zx_elem_s* zx_hrxml_Travel_POP_Applicable(struct zx_hrxml_Travel_s* x);
struct zx_elem_s* zx_hrxml_Travel_POP_TravelFrequency(struct zx_hrxml_Travel_s* x);
struct zx_elem_s* zx_hrxml_Travel_POP_TravelConsiderations(struct zx_hrxml_Travel_s* x);

void zx_hrxml_Travel_PUSH_Applicable(struct zx_hrxml_Travel_s* x, struct zx_elem_s* y);
void zx_hrxml_Travel_PUSH_TravelFrequency(struct zx_hrxml_Travel_s* x, struct zx_elem_s* y);
void zx_hrxml_Travel_PUSH_TravelConsiderations(struct zx_hrxml_Travel_s* x, struct zx_elem_s* y);


void zx_hrxml_Travel_PUT_Applicable(struct zx_hrxml_Travel_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Travel_PUT_TravelFrequency(struct zx_hrxml_Travel_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Travel_PUT_TravelConsiderations(struct zx_hrxml_Travel_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Travel_ADD_Applicable(struct zx_hrxml_Travel_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Travel_ADD_TravelFrequency(struct zx_hrxml_Travel_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Travel_ADD_TravelConsiderations(struct zx_hrxml_Travel_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Travel_DEL_Applicable(struct zx_hrxml_Travel_s* x,int n);
void zx_hrxml_Travel_DEL_TravelFrequency(struct zx_hrxml_Travel_s* x,int n);
void zx_hrxml_Travel_DEL_TravelConsiderations(struct zx_hrxml_Travel_s* x,int n);

void zx_hrxml_Travel_REV_Applicable(struct zx_hrxml_Travel_s* x);
void zx_hrxml_Travel_REV_TravelFrequency(struct zx_hrxml_Travel_s* x);
void zx_hrxml_Travel_REV_TravelConsiderations(struct zx_hrxml_Travel_s* x);

#endif
/* -------------------------- hrxml_TravelDirections -------------------------- */
/* refby( zx_hrxml_WorkSite_s zx_hrxml_SEPPhysicalLocation_s zx_hrxml_PhysicalLocation_s ) */
#ifndef zx_hrxml_TravelDirections_EXT
#define zx_hrxml_TravelDirections_EXT
#endif
struct zx_hrxml_TravelDirections_s {
  ZX_ELEM_EXT
  zx_hrxml_TravelDirections_EXT
  struct zx_attr_s* lang;	/* {0,1} attribute xs:string */
};

#define zx_NEW_hrxml_TravelDirections(c, father) (struct zx_hrxml_TravelDirections_s*)zx_new_elem((c),(father),zx_hrxml_TravelDirections_ELEM)
int zx_DEC_ATTR_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x);
int zx_DEC_ELEM_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_TravelDirections_s* zx_DEEP_CLONE_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x);
int zx_WALK_SO_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_TravelDirections(struct zx_ctx* c, struct zx_hrxml_TravelDirections_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_TravelDirections_GET_lang(struct zx_hrxml_TravelDirections_s* x);





void zx_hrxml_TravelDirections_PUT_lang(struct zx_hrxml_TravelDirections_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_UserArea -------------------------- */
/* refby( zx_hrxml_BiologicalDescriptors_s zx_hrxml_MilitaryHistory_s zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_PersonalData_s zx_hrxml_ServiceDetail_s zx_hrxml_DemographicDescriptors_s zx_hrxml_EmployerOrg_s zx_hrxml_Resume_s zx_hrxml_WorkSiteEnvironment_s zx_hrxml_WorkSite_s zx_hrxml_Considerations_s zx_hrxml_Competency_s zx_hrxml_LegalIdentifiers_s zx_hrxml_PersonDescriptors_s zx_hrxml_RelatedOrganization_s zx_hrxml_SchoolOrInstitution_s zx_hrxml_PrehireRemuneration_s zx_hrxml_RankedResult_s zx_hrxml_PositionHistory_s zx_hrxml_Degree_s zx_hrxml_SearchResult_s zx_hrxml_RemunerationPackage_s zx_hrxml_Candidate_s zx_hrxml_CandidateProfile_s zx_hrxml_OrganizationalUnit_s zx_hrxml_SearchCriteria_s zx_hrxml_PreferredPosition_s zx_hrxml_PositionMatching_s ) */
#ifndef zx_hrxml_UserArea_EXT
#define zx_hrxml_UserArea_EXT
#endif
struct zx_hrxml_UserArea_s {
  ZX_ELEM_EXT
  zx_hrxml_UserArea_EXT
};

#define zx_NEW_hrxml_UserArea(c, father) (struct zx_hrxml_UserArea_s*)zx_new_elem((c),(father),zx_hrxml_UserArea_ELEM)
int zx_DEC_ATTR_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x);
int zx_DEC_ELEM_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_UserArea_s* zx_DEEP_CLONE_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x);
int zx_WALK_SO_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_UserArea(struct zx_ctx* c, struct zx_hrxml_UserArea_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_UserId -------------------------- */
/* refby( zx_hrxml_SearchResult_s zx_hrxml_SearchCriteria_s ) */
#ifndef zx_hrxml_UserId_EXT
#define zx_hrxml_UserId_EXT
#endif
struct zx_hrxml_UserId_s {
  ZX_ELEM_EXT
  zx_hrxml_UserId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_UserId(c, father) (struct zx_hrxml_UserId_s*)zx_new_elem((c),(father),zx_hrxml_UserId_ELEM)
int zx_DEC_ATTR_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x);
int zx_DEC_ELEM_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_UserId_s* zx_DEEP_CLONE_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x);
int zx_WALK_SO_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_UserId(struct zx_ctx* c, struct zx_hrxml_UserId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_UserId_GET_idOwner(struct zx_hrxml_UserId_s* x);
struct zx_attr_s* zx_hrxml_UserId_GET_validFrom(struct zx_hrxml_UserId_s* x);
struct zx_attr_s* zx_hrxml_UserId_GET_validTo(struct zx_hrxml_UserId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_UserId_GET_IdValue(struct zx_hrxml_UserId_s* x, int n);

int zx_hrxml_UserId_NUM_IdValue(struct zx_hrxml_UserId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_UserId_POP_IdValue(struct zx_hrxml_UserId_s* x);

void zx_hrxml_UserId_PUSH_IdValue(struct zx_hrxml_UserId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_UserId_PUT_idOwner(struct zx_hrxml_UserId_s* x, struct zx_attr_s* y);
void zx_hrxml_UserId_PUT_validFrom(struct zx_hrxml_UserId_s* x, struct zx_attr_s* y);
void zx_hrxml_UserId_PUT_validTo(struct zx_hrxml_UserId_s* x, struct zx_attr_s* y);

void zx_hrxml_UserId_PUT_IdValue(struct zx_hrxml_UserId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_UserId_ADD_IdValue(struct zx_hrxml_UserId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_UserId_DEL_IdValue(struct zx_hrxml_UserId_s* x, int n);

void zx_hrxml_UserId_REV_IdValue(struct zx_hrxml_UserId_s* x);

#endif
/* -------------------------- hrxml_ValidFrom -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_ValidFrom_EXT
#define zx_hrxml_ValidFrom_EXT
#endif
struct zx_hrxml_ValidFrom_s {
  ZX_ELEM_EXT
  zx_hrxml_ValidFrom_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_ValidFrom(c, father) (struct zx_hrxml_ValidFrom_s*)zx_new_elem((c),(father),zx_hrxml_ValidFrom_ELEM)
int zx_DEC_ATTR_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x);
int zx_DEC_ELEM_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ValidFrom_s* zx_DEEP_CLONE_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x);
int zx_WALK_SO_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ValidFrom(struct zx_ctx* c, struct zx_hrxml_ValidFrom_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ValidFrom_GET_dateDescription(struct zx_hrxml_ValidFrom_s* x);

struct zx_elem_s* zx_hrxml_ValidFrom_GET_AnyDate(struct zx_hrxml_ValidFrom_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidFrom_GET_YearMonth(struct zx_hrxml_ValidFrom_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidFrom_GET_Year(struct zx_hrxml_ValidFrom_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidFrom_GET_MonthDay(struct zx_hrxml_ValidFrom_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidFrom_GET_StringDate(struct zx_hrxml_ValidFrom_s* x, int n);

int zx_hrxml_ValidFrom_NUM_AnyDate(struct zx_hrxml_ValidFrom_s* x);
int zx_hrxml_ValidFrom_NUM_YearMonth(struct zx_hrxml_ValidFrom_s* x);
int zx_hrxml_ValidFrom_NUM_Year(struct zx_hrxml_ValidFrom_s* x);
int zx_hrxml_ValidFrom_NUM_MonthDay(struct zx_hrxml_ValidFrom_s* x);
int zx_hrxml_ValidFrom_NUM_StringDate(struct zx_hrxml_ValidFrom_s* x);

struct zx_elem_s* zx_hrxml_ValidFrom_POP_AnyDate(struct zx_hrxml_ValidFrom_s* x);
struct zx_elem_s* zx_hrxml_ValidFrom_POP_YearMonth(struct zx_hrxml_ValidFrom_s* x);
struct zx_elem_s* zx_hrxml_ValidFrom_POP_Year(struct zx_hrxml_ValidFrom_s* x);
struct zx_elem_s* zx_hrxml_ValidFrom_POP_MonthDay(struct zx_hrxml_ValidFrom_s* x);
struct zx_elem_s* zx_hrxml_ValidFrom_POP_StringDate(struct zx_hrxml_ValidFrom_s* x);

void zx_hrxml_ValidFrom_PUSH_AnyDate(struct zx_hrxml_ValidFrom_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUSH_YearMonth(struct zx_hrxml_ValidFrom_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUSH_Year(struct zx_hrxml_ValidFrom_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUSH_MonthDay(struct zx_hrxml_ValidFrom_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUSH_StringDate(struct zx_hrxml_ValidFrom_s* x, struct zx_elem_s* y);

void zx_hrxml_ValidFrom_PUT_dateDescription(struct zx_hrxml_ValidFrom_s* x, struct zx_attr_s* y);

void zx_hrxml_ValidFrom_PUT_AnyDate(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUT_YearMonth(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUT_Year(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUT_MonthDay(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidFrom_PUT_StringDate(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_ValidFrom_ADD_AnyDate(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidFrom_ADD_YearMonth(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidFrom_ADD_Year(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidFrom_ADD_MonthDay(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidFrom_ADD_StringDate(struct zx_hrxml_ValidFrom_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_ValidFrom_DEL_AnyDate(struct zx_hrxml_ValidFrom_s* x,int n);
void zx_hrxml_ValidFrom_DEL_YearMonth(struct zx_hrxml_ValidFrom_s* x,int n);
void zx_hrxml_ValidFrom_DEL_Year(struct zx_hrxml_ValidFrom_s* x,int n);
void zx_hrxml_ValidFrom_DEL_MonthDay(struct zx_hrxml_ValidFrom_s* x,int n);
void zx_hrxml_ValidFrom_DEL_StringDate(struct zx_hrxml_ValidFrom_s* x,int n);

void zx_hrxml_ValidFrom_REV_AnyDate(struct zx_hrxml_ValidFrom_s* x);
void zx_hrxml_ValidFrom_REV_YearMonth(struct zx_hrxml_ValidFrom_s* x);
void zx_hrxml_ValidFrom_REV_Year(struct zx_hrxml_ValidFrom_s* x);
void zx_hrxml_ValidFrom_REV_MonthDay(struct zx_hrxml_ValidFrom_s* x);
void zx_hrxml_ValidFrom_REV_StringDate(struct zx_hrxml_ValidFrom_s* x);

#endif
/* -------------------------- hrxml_ValidTo -------------------------- */
/* refby( ) */
#ifndef zx_hrxml_ValidTo_EXT
#define zx_hrxml_ValidTo_EXT
#endif
struct zx_hrxml_ValidTo_s {
  ZX_ELEM_EXT
  zx_hrxml_ValidTo_EXT
  struct zx_elem_s* AnyDate;	/* {0,1} hrxml:LocalDateType */
  struct zx_elem_s* YearMonth;	/* {0,1} xsd:gYearMonth */
  struct zx_elem_s* Year;	/* {0,1} xsd:gYear */
  struct zx_elem_s* MonthDay;	/* {0,1} xsd:gMonthDay */
  struct zx_elem_s* StringDate;	/* {0,1} xsd:string */
  struct zx_attr_s* dateDescription;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_ValidTo(c, father) (struct zx_hrxml_ValidTo_s*)zx_new_elem((c),(father),zx_hrxml_ValidTo_ELEM)
int zx_DEC_ATTR_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x);
int zx_DEC_ELEM_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_ValidTo_s* zx_DEEP_CLONE_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x);
int zx_WALK_SO_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_ValidTo(struct zx_ctx* c, struct zx_hrxml_ValidTo_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_ValidTo_GET_dateDescription(struct zx_hrxml_ValidTo_s* x);

struct zx_elem_s* zx_hrxml_ValidTo_GET_AnyDate(struct zx_hrxml_ValidTo_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidTo_GET_YearMonth(struct zx_hrxml_ValidTo_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidTo_GET_Year(struct zx_hrxml_ValidTo_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidTo_GET_MonthDay(struct zx_hrxml_ValidTo_s* x, int n);
struct zx_elem_s* zx_hrxml_ValidTo_GET_StringDate(struct zx_hrxml_ValidTo_s* x, int n);

int zx_hrxml_ValidTo_NUM_AnyDate(struct zx_hrxml_ValidTo_s* x);
int zx_hrxml_ValidTo_NUM_YearMonth(struct zx_hrxml_ValidTo_s* x);
int zx_hrxml_ValidTo_NUM_Year(struct zx_hrxml_ValidTo_s* x);
int zx_hrxml_ValidTo_NUM_MonthDay(struct zx_hrxml_ValidTo_s* x);
int zx_hrxml_ValidTo_NUM_StringDate(struct zx_hrxml_ValidTo_s* x);

struct zx_elem_s* zx_hrxml_ValidTo_POP_AnyDate(struct zx_hrxml_ValidTo_s* x);
struct zx_elem_s* zx_hrxml_ValidTo_POP_YearMonth(struct zx_hrxml_ValidTo_s* x);
struct zx_elem_s* zx_hrxml_ValidTo_POP_Year(struct zx_hrxml_ValidTo_s* x);
struct zx_elem_s* zx_hrxml_ValidTo_POP_MonthDay(struct zx_hrxml_ValidTo_s* x);
struct zx_elem_s* zx_hrxml_ValidTo_POP_StringDate(struct zx_hrxml_ValidTo_s* x);

void zx_hrxml_ValidTo_PUSH_AnyDate(struct zx_hrxml_ValidTo_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUSH_YearMonth(struct zx_hrxml_ValidTo_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUSH_Year(struct zx_hrxml_ValidTo_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUSH_MonthDay(struct zx_hrxml_ValidTo_s* x, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUSH_StringDate(struct zx_hrxml_ValidTo_s* x, struct zx_elem_s* y);

void zx_hrxml_ValidTo_PUT_dateDescription(struct zx_hrxml_ValidTo_s* x, struct zx_attr_s* y);

void zx_hrxml_ValidTo_PUT_AnyDate(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUT_YearMonth(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUT_Year(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUT_MonthDay(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_ValidTo_PUT_StringDate(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_ValidTo_ADD_AnyDate(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidTo_ADD_YearMonth(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidTo_ADD_Year(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidTo_ADD_MonthDay(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_ValidTo_ADD_StringDate(struct zx_hrxml_ValidTo_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_ValidTo_DEL_AnyDate(struct zx_hrxml_ValidTo_s* x,int n);
void zx_hrxml_ValidTo_DEL_YearMonth(struct zx_hrxml_ValidTo_s* x,int n);
void zx_hrxml_ValidTo_DEL_Year(struct zx_hrxml_ValidTo_s* x,int n);
void zx_hrxml_ValidTo_DEL_MonthDay(struct zx_hrxml_ValidTo_s* x,int n);
void zx_hrxml_ValidTo_DEL_StringDate(struct zx_hrxml_ValidTo_s* x,int n);

void zx_hrxml_ValidTo_REV_AnyDate(struct zx_hrxml_ValidTo_s* x);
void zx_hrxml_ValidTo_REV_YearMonth(struct zx_hrxml_ValidTo_s* x);
void zx_hrxml_ValidTo_REV_Year(struct zx_hrxml_ValidTo_s* x);
void zx_hrxml_ValidTo_REV_MonthDay(struct zx_hrxml_ValidTo_s* x);
void zx_hrxml_ValidTo_REV_StringDate(struct zx_hrxml_ValidTo_s* x);

#endif
/* -------------------------- hrxml_Verification -------------------------- */
/* refby( zx_hrxml_PositionHistory_s ) */
#ifndef zx_hrxml_Verification_EXT
#define zx_hrxml_Verification_EXT
#endif
struct zx_hrxml_Verification_s {
  ZX_ELEM_EXT
  zx_hrxml_Verification_EXT
  struct zx_hrxml_ContactInfo_s* ContactInfo;	/* {1,1}  */
  struct zx_elem_s* ReasonForLeaving;	/* {0,1} xsd:string */
  struct zx_elem_s* PermissionToContact;	/* {0,1} xsd:boolean */
  struct zx_elem_s* VerifyEmployment;	/* {0,1} xsd:boolean */
  struct zx_elem_s* EligibleForRehire;	/* {0,1} xsd:boolean */
  struct zx_elem_s* AttendanceRating;	/* {0,1} RatingType */
  struct zx_elem_s* OverallPerformanceRating;	/* {0,1} RatingType */
  struct zx_elem_s* QuestionAnswerPair;	/* {0,-1} EmploymentQuestionAnswerPairType */
};

#define zx_NEW_hrxml_Verification(c, father) (struct zx_hrxml_Verification_s*)zx_new_elem((c),(father),zx_hrxml_Verification_ELEM)
int zx_DEC_ATTR_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x);
int zx_DEC_ELEM_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Verification_s* zx_DEEP_CLONE_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x);
int zx_WALK_SO_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Verification(struct zx_ctx* c, struct zx_hrxml_Verification_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_hrxml_ContactInfo_s* zx_hrxml_Verification_GET_ContactInfo(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_ReasonForLeaving(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_PermissionToContact(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_VerifyEmployment(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_EligibleForRehire(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_AttendanceRating(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_OverallPerformanceRating(struct zx_hrxml_Verification_s* x, int n);
struct zx_elem_s* zx_hrxml_Verification_GET_QuestionAnswerPair(struct zx_hrxml_Verification_s* x, int n);

int zx_hrxml_Verification_NUM_ContactInfo(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_ReasonForLeaving(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_PermissionToContact(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_VerifyEmployment(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_EligibleForRehire(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_AttendanceRating(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_OverallPerformanceRating(struct zx_hrxml_Verification_s* x);
int zx_hrxml_Verification_NUM_QuestionAnswerPair(struct zx_hrxml_Verification_s* x);

struct zx_hrxml_ContactInfo_s* zx_hrxml_Verification_POP_ContactInfo(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_ReasonForLeaving(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_PermissionToContact(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_VerifyEmployment(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_EligibleForRehire(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_AttendanceRating(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_OverallPerformanceRating(struct zx_hrxml_Verification_s* x);
struct zx_elem_s* zx_hrxml_Verification_POP_QuestionAnswerPair(struct zx_hrxml_Verification_s* x);

void zx_hrxml_Verification_PUSH_ContactInfo(struct zx_hrxml_Verification_s* x, struct zx_hrxml_ContactInfo_s* y);
void zx_hrxml_Verification_PUSH_ReasonForLeaving(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);
void zx_hrxml_Verification_PUSH_PermissionToContact(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);
void zx_hrxml_Verification_PUSH_VerifyEmployment(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);
void zx_hrxml_Verification_PUSH_EligibleForRehire(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);
void zx_hrxml_Verification_PUSH_AttendanceRating(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);
void zx_hrxml_Verification_PUSH_OverallPerformanceRating(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);
void zx_hrxml_Verification_PUSH_QuestionAnswerPair(struct zx_hrxml_Verification_s* x, struct zx_elem_s* y);


void zx_hrxml_Verification_PUT_ContactInfo(struct zx_hrxml_Verification_s* x, int n, struct zx_hrxml_ContactInfo_s* y);
void zx_hrxml_Verification_PUT_ReasonForLeaving(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Verification_PUT_PermissionToContact(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Verification_PUT_VerifyEmployment(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Verification_PUT_EligibleForRehire(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Verification_PUT_AttendanceRating(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Verification_PUT_OverallPerformanceRating(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_Verification_PUT_QuestionAnswerPair(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* y);

void zx_hrxml_Verification_ADD_ContactInfo(struct zx_hrxml_Verification_s* x, int n, struct zx_hrxml_ContactInfo_s* z);
void zx_hrxml_Verification_ADD_ReasonForLeaving(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Verification_ADD_PermissionToContact(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Verification_ADD_VerifyEmployment(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Verification_ADD_EligibleForRehire(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Verification_ADD_AttendanceRating(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Verification_ADD_OverallPerformanceRating(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_Verification_ADD_QuestionAnswerPair(struct zx_hrxml_Verification_s* x, int n, struct zx_elem_s* z);

void zx_hrxml_Verification_DEL_ContactInfo(struct zx_hrxml_Verification_s* x, int n);
void zx_hrxml_Verification_DEL_ReasonForLeaving(struct zx_hrxml_Verification_s* x,int n);
void zx_hrxml_Verification_DEL_PermissionToContact(struct zx_hrxml_Verification_s* x,int n);
void zx_hrxml_Verification_DEL_VerifyEmployment(struct zx_hrxml_Verification_s* x,int n);
void zx_hrxml_Verification_DEL_EligibleForRehire(struct zx_hrxml_Verification_s* x,int n);
void zx_hrxml_Verification_DEL_AttendanceRating(struct zx_hrxml_Verification_s* x,int n);
void zx_hrxml_Verification_DEL_OverallPerformanceRating(struct zx_hrxml_Verification_s* x,int n);
void zx_hrxml_Verification_DEL_QuestionAnswerPair(struct zx_hrxml_Verification_s* x,int n);

void zx_hrxml_Verification_REV_ContactInfo(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_ReasonForLeaving(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_PermissionToContact(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_VerifyEmployment(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_EligibleForRehire(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_AttendanceRating(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_OverallPerformanceRating(struct zx_hrxml_Verification_s* x);
void zx_hrxml_Verification_REV_QuestionAnswerPair(struct zx_hrxml_Verification_s* x);

#endif
/* -------------------------- hrxml_VerticalAccuracy -------------------------- */
/* refby( zx_hrxml_SpatialLocation_s ) */
#ifndef zx_hrxml_VerticalAccuracy_EXT
#define zx_hrxml_VerticalAccuracy_EXT
#endif
struct zx_hrxml_VerticalAccuracy_s {
  ZX_ELEM_EXT
  zx_hrxml_VerticalAccuracy_EXT
};

#define zx_NEW_hrxml_VerticalAccuracy(c, father) (struct zx_hrxml_VerticalAccuracy_s*)zx_new_elem((c),(father),zx_hrxml_VerticalAccuracy_ELEM)
int zx_DEC_ATTR_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x);
int zx_DEC_ELEM_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_VerticalAccuracy_s* zx_DEEP_CLONE_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x);
int zx_WALK_SO_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_VerticalAccuracy(struct zx_ctx* c, struct zx_hrxml_VerticalAccuracy_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT










#endif
/* -------------------------- hrxml_VisaStatus -------------------------- */
/* refby( zx_hrxml_LegalIdentifiers_s ) */
#ifndef zx_hrxml_VisaStatus_EXT
#define zx_hrxml_VisaStatus_EXT
#endif
struct zx_hrxml_VisaStatus_s {
  ZX_ELEM_EXT
  zx_hrxml_VisaStatus_EXT
  struct zx_attr_s* countryCode;	/* {0,1} attribute hrxml:CountryCodeType */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_VisaStatus(c, father) (struct zx_hrxml_VisaStatus_s*)zx_new_elem((c),(father),zx_hrxml_VisaStatus_ELEM)
int zx_DEC_ATTR_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x);
int zx_DEC_ELEM_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_VisaStatus_s* zx_DEEP_CLONE_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x);
int zx_WALK_SO_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_VisaStatus(struct zx_ctx* c, struct zx_hrxml_VisaStatus_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_VisaStatus_GET_countryCode(struct zx_hrxml_VisaStatus_s* x);
struct zx_attr_s* zx_hrxml_VisaStatus_GET_validFrom(struct zx_hrxml_VisaStatus_s* x);
struct zx_attr_s* zx_hrxml_VisaStatus_GET_validTo(struct zx_hrxml_VisaStatus_s* x);





void zx_hrxml_VisaStatus_PUT_countryCode(struct zx_hrxml_VisaStatus_s* x, struct zx_attr_s* y);
void zx_hrxml_VisaStatus_PUT_validFrom(struct zx_hrxml_VisaStatus_s* x, struct zx_attr_s* y);
void zx_hrxml_VisaStatus_PUT_validTo(struct zx_hrxml_VisaStatus_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_Weight -------------------------- */
/* refby( zx_hrxml_BiologicalDescriptors_s zx_hrxml_SearchCriterion_s zx_hrxml_RankedResult_s ) */
#ifndef zx_hrxml_Weight_EXT
#define zx_hrxml_Weight_EXT
#endif
struct zx_hrxml_Weight_s {
  ZX_ELEM_EXT
  zx_hrxml_Weight_EXT
  struct zx_attr_s* description;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* interval;	/* {0,1} attribute xsd:double */
  struct zx_attr_s* maxValue;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* minValue;	/* {0,1} attribute xsd:string */
};

#define zx_NEW_hrxml_Weight(c, father) (struct zx_hrxml_Weight_s*)zx_new_elem((c),(father),zx_hrxml_Weight_ELEM)
int zx_DEC_ATTR_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x);
int zx_DEC_ELEM_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_Weight_s* zx_DEEP_CLONE_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x);
int zx_WALK_SO_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_Weight(struct zx_ctx* c, struct zx_hrxml_Weight_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_Weight_GET_description(struct zx_hrxml_Weight_s* x);
struct zx_attr_s* zx_hrxml_Weight_GET_interval(struct zx_hrxml_Weight_s* x);
struct zx_attr_s* zx_hrxml_Weight_GET_maxValue(struct zx_hrxml_Weight_s* x);
struct zx_attr_s* zx_hrxml_Weight_GET_minValue(struct zx_hrxml_Weight_s* x);





void zx_hrxml_Weight_PUT_description(struct zx_hrxml_Weight_s* x, struct zx_attr_s* y);
void zx_hrxml_Weight_PUT_interval(struct zx_hrxml_Weight_s* x, struct zx_attr_s* y);
void zx_hrxml_Weight_PUT_maxValue(struct zx_hrxml_Weight_s* x, struct zx_attr_s* y);
void zx_hrxml_Weight_PUT_minValue(struct zx_hrxml_Weight_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- hrxml_WorkSite -------------------------- */
/* refby( zx_hrxml_RelatedOrganizationalUnit_s zx_hrxml_RelatedOrganization_s zx_hrxml_OrganizationalUnit_s ) */
#ifndef zx_hrxml_WorkSite_EXT
#define zx_hrxml_WorkSite_EXT
#endif
struct zx_hrxml_WorkSite_s {
  ZX_ELEM_EXT
  zx_hrxml_WorkSite_EXT
  struct zx_elem_s* WorkSiteName;	/* {0,1} xsd:string */
  struct zx_hrxml_WorkSiteId_s* WorkSiteId;	/* {0,1}  */
  struct zx_hrxml_Details_s* Details;	/* {0,-1}  */
  struct zx_hrxml_PostalAddress_s* PostalAddress;	/* {0,1}  */
  struct zx_hrxml_TravelDirections_s* TravelDirections;	/* {0,-1}  */
  struct zx_hrxml_ParkingInstructions_s* ParkingInstructions;	/* {0,-1}  */
  struct zx_hrxml_WorkSiteEnvironment_s* WorkSiteEnvironment;	/* {0,-1} nada */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_WorkSite(c, father) (struct zx_hrxml_WorkSite_s*)zx_new_elem((c),(father),zx_hrxml_WorkSite_ELEM)
int zx_DEC_ATTR_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x);
int zx_DEC_ELEM_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_WorkSite_s* zx_DEEP_CLONE_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x);
int zx_WALK_SO_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_WorkSite(struct zx_ctx* c, struct zx_hrxml_WorkSite_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_WorkSite_GET_WorkSiteName(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_WorkSiteId_s* zx_hrxml_WorkSite_GET_WorkSiteId(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_Details_s* zx_hrxml_WorkSite_GET_Details(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_PostalAddress_s* zx_hrxml_WorkSite_GET_PostalAddress(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_TravelDirections_s* zx_hrxml_WorkSite_GET_TravelDirections(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_ParkingInstructions_s* zx_hrxml_WorkSite_GET_ParkingInstructions(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_WorkSiteEnvironment_s* zx_hrxml_WorkSite_GET_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_WorkSite_GET_UserArea(struct zx_hrxml_WorkSite_s* x, int n);

int zx_hrxml_WorkSite_NUM_WorkSiteName(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_WorkSiteId(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_Details(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_PostalAddress(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_TravelDirections(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_ParkingInstructions(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x);
int zx_hrxml_WorkSite_NUM_UserArea(struct zx_hrxml_WorkSite_s* x);

struct zx_elem_s* zx_hrxml_WorkSite_POP_WorkSiteName(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_WorkSiteId_s* zx_hrxml_WorkSite_POP_WorkSiteId(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_Details_s* zx_hrxml_WorkSite_POP_Details(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_PostalAddress_s* zx_hrxml_WorkSite_POP_PostalAddress(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_TravelDirections_s* zx_hrxml_WorkSite_POP_TravelDirections(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_ParkingInstructions_s* zx_hrxml_WorkSite_POP_ParkingInstructions(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_WorkSiteEnvironment_s* zx_hrxml_WorkSite_POP_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_WorkSite_POP_UserArea(struct zx_hrxml_WorkSite_s* x);

void zx_hrxml_WorkSite_PUSH_WorkSiteName(struct zx_hrxml_WorkSite_s* x, struct zx_elem_s* y);
void zx_hrxml_WorkSite_PUSH_WorkSiteId(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_WorkSiteId_s* y);
void zx_hrxml_WorkSite_PUSH_Details(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_Details_s* y);
void zx_hrxml_WorkSite_PUSH_PostalAddress(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_WorkSite_PUSH_TravelDirections(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_TravelDirections_s* y);
void zx_hrxml_WorkSite_PUSH_ParkingInstructions(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_ParkingInstructions_s* y);
void zx_hrxml_WorkSite_PUSH_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_WorkSiteEnvironment_s* y);
void zx_hrxml_WorkSite_PUSH_UserArea(struct zx_hrxml_WorkSite_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_WorkSite_PUT_WorkSiteName(struct zx_hrxml_WorkSite_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_WorkSite_PUT_WorkSiteId(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_WorkSiteId_s* y);
void zx_hrxml_WorkSite_PUT_Details(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_Details_s* y);
void zx_hrxml_WorkSite_PUT_PostalAddress(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_PostalAddress_s* y);
void zx_hrxml_WorkSite_PUT_TravelDirections(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_TravelDirections_s* y);
void zx_hrxml_WorkSite_PUT_ParkingInstructions(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_ParkingInstructions_s* y);
void zx_hrxml_WorkSite_PUT_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_WorkSiteEnvironment_s* y);
void zx_hrxml_WorkSite_PUT_UserArea(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_WorkSite_ADD_WorkSiteName(struct zx_hrxml_WorkSite_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_WorkSite_ADD_WorkSiteId(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_WorkSiteId_s* z);
void zx_hrxml_WorkSite_ADD_Details(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_Details_s* z);
void zx_hrxml_WorkSite_ADD_PostalAddress(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_PostalAddress_s* z);
void zx_hrxml_WorkSite_ADD_TravelDirections(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_TravelDirections_s* z);
void zx_hrxml_WorkSite_ADD_ParkingInstructions(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_ParkingInstructions_s* z);
void zx_hrxml_WorkSite_ADD_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_WorkSiteEnvironment_s* z);
void zx_hrxml_WorkSite_ADD_UserArea(struct zx_hrxml_WorkSite_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_WorkSite_DEL_WorkSiteName(struct zx_hrxml_WorkSite_s* x,int n);
void zx_hrxml_WorkSite_DEL_WorkSiteId(struct zx_hrxml_WorkSite_s* x, int n);
void zx_hrxml_WorkSite_DEL_Details(struct zx_hrxml_WorkSite_s* x, int n);
void zx_hrxml_WorkSite_DEL_PostalAddress(struct zx_hrxml_WorkSite_s* x, int n);
void zx_hrxml_WorkSite_DEL_TravelDirections(struct zx_hrxml_WorkSite_s* x, int n);
void zx_hrxml_WorkSite_DEL_ParkingInstructions(struct zx_hrxml_WorkSite_s* x, int n);
void zx_hrxml_WorkSite_DEL_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x, int n);
void zx_hrxml_WorkSite_DEL_UserArea(struct zx_hrxml_WorkSite_s* x, int n);

void zx_hrxml_WorkSite_REV_WorkSiteName(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_WorkSiteId(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_Details(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_PostalAddress(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_TravelDirections(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_ParkingInstructions(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_WorkSiteEnvironment(struct zx_hrxml_WorkSite_s* x);
void zx_hrxml_WorkSite_REV_UserArea(struct zx_hrxml_WorkSite_s* x);

#endif
/* -------------------------- hrxml_WorkSiteEnvironment -------------------------- */
/* refby( zx_hrxml_WorkSite_s ) */
#ifndef zx_hrxml_WorkSiteEnvironment_EXT
#define zx_hrxml_WorkSiteEnvironment_EXT
#endif
struct zx_hrxml_WorkSiteEnvironment_s {
  ZX_ELEM_EXT
  zx_hrxml_WorkSiteEnvironment_EXT
  struct zx_elem_s* EnvironmentName;	/* {0,1} xsd:string */
  struct zx_hrxml_EnvironmentId_s* EnvironmentId;	/* {0,1}  */
  struct zx_hrxml_WorkSiteId_s* WorkSiteId;	/* {0,1}  */
  struct zx_hrxml_Description_s* Description;	/* {0,1}  */
  struct zx_hrxml_Considerations_s* Considerations;	/* {0,-1}  */
  struct zx_hrxml_UserArea_s* UserArea;	/* {0,1}  */
};

#define zx_NEW_hrxml_WorkSiteEnvironment(c, father) (struct zx_hrxml_WorkSiteEnvironment_s*)zx_new_elem((c),(father),zx_hrxml_WorkSiteEnvironment_ELEM)
int zx_DEC_ATTR_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_DEC_ELEM_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_WorkSiteEnvironment_s* zx_DEEP_CLONE_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_WALK_SO_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_WorkSiteEnvironment(struct zx_ctx* c, struct zx_hrxml_WorkSiteEnvironment_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_elem_s* zx_hrxml_WorkSiteEnvironment_GET_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
struct zx_hrxml_EnvironmentId_s* zx_hrxml_WorkSiteEnvironment_GET_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
struct zx_hrxml_WorkSiteId_s* zx_hrxml_WorkSiteEnvironment_GET_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
struct zx_hrxml_Description_s* zx_hrxml_WorkSiteEnvironment_GET_Description(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
struct zx_hrxml_Considerations_s* zx_hrxml_WorkSiteEnvironment_GET_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
struct zx_hrxml_UserArea_s* zx_hrxml_WorkSiteEnvironment_GET_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);

int zx_hrxml_WorkSiteEnvironment_NUM_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_hrxml_WorkSiteEnvironment_NUM_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_hrxml_WorkSiteEnvironment_NUM_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_hrxml_WorkSiteEnvironment_NUM_Description(struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_hrxml_WorkSiteEnvironment_NUM_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x);
int zx_hrxml_WorkSiteEnvironment_NUM_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x);

struct zx_elem_s* zx_hrxml_WorkSiteEnvironment_POP_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x);
struct zx_hrxml_EnvironmentId_s* zx_hrxml_WorkSiteEnvironment_POP_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x);
struct zx_hrxml_WorkSiteId_s* zx_hrxml_WorkSiteEnvironment_POP_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x);
struct zx_hrxml_Description_s* zx_hrxml_WorkSiteEnvironment_POP_Description(struct zx_hrxml_WorkSiteEnvironment_s* x);
struct zx_hrxml_Considerations_s* zx_hrxml_WorkSiteEnvironment_POP_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x);
struct zx_hrxml_UserArea_s* zx_hrxml_WorkSiteEnvironment_POP_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x);

void zx_hrxml_WorkSiteEnvironment_PUSH_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x, struct zx_elem_s* y);
void zx_hrxml_WorkSiteEnvironment_PUSH_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x, struct zx_hrxml_EnvironmentId_s* y);
void zx_hrxml_WorkSiteEnvironment_PUSH_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x, struct zx_hrxml_WorkSiteId_s* y);
void zx_hrxml_WorkSiteEnvironment_PUSH_Description(struct zx_hrxml_WorkSiteEnvironment_s* x, struct zx_hrxml_Description_s* y);
void zx_hrxml_WorkSiteEnvironment_PUSH_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x, struct zx_hrxml_Considerations_s* y);
void zx_hrxml_WorkSiteEnvironment_PUSH_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x, struct zx_hrxml_UserArea_s* y);


void zx_hrxml_WorkSiteEnvironment_PUT_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_elem_s* y);
void zx_hrxml_WorkSiteEnvironment_PUT_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_EnvironmentId_s* y);
void zx_hrxml_WorkSiteEnvironment_PUT_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_WorkSiteId_s* y);
void zx_hrxml_WorkSiteEnvironment_PUT_Description(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_Description_s* y);
void zx_hrxml_WorkSiteEnvironment_PUT_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_Considerations_s* y);
void zx_hrxml_WorkSiteEnvironment_PUT_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_UserArea_s* y);

void zx_hrxml_WorkSiteEnvironment_ADD_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_elem_s* z);
void zx_hrxml_WorkSiteEnvironment_ADD_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_EnvironmentId_s* z);
void zx_hrxml_WorkSiteEnvironment_ADD_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_WorkSiteId_s* z);
void zx_hrxml_WorkSiteEnvironment_ADD_Description(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_Description_s* z);
void zx_hrxml_WorkSiteEnvironment_ADD_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_Considerations_s* z);
void zx_hrxml_WorkSiteEnvironment_ADD_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x, int n, struct zx_hrxml_UserArea_s* z);

void zx_hrxml_WorkSiteEnvironment_DEL_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x,int n);
void zx_hrxml_WorkSiteEnvironment_DEL_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
void zx_hrxml_WorkSiteEnvironment_DEL_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
void zx_hrxml_WorkSiteEnvironment_DEL_Description(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
void zx_hrxml_WorkSiteEnvironment_DEL_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);
void zx_hrxml_WorkSiteEnvironment_DEL_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x, int n);

void zx_hrxml_WorkSiteEnvironment_REV_EnvironmentName(struct zx_hrxml_WorkSiteEnvironment_s* x);
void zx_hrxml_WorkSiteEnvironment_REV_EnvironmentId(struct zx_hrxml_WorkSiteEnvironment_s* x);
void zx_hrxml_WorkSiteEnvironment_REV_WorkSiteId(struct zx_hrxml_WorkSiteEnvironment_s* x);
void zx_hrxml_WorkSiteEnvironment_REV_Description(struct zx_hrxml_WorkSiteEnvironment_s* x);
void zx_hrxml_WorkSiteEnvironment_REV_Considerations(struct zx_hrxml_WorkSiteEnvironment_s* x);
void zx_hrxml_WorkSiteEnvironment_REV_UserArea(struct zx_hrxml_WorkSiteEnvironment_s* x);

#endif
/* -------------------------- hrxml_WorkSiteId -------------------------- */
/* refby( zx_hrxml_WorkSiteEnvironment_s zx_hrxml_WorkSite_s ) */
#ifndef zx_hrxml_WorkSiteId_EXT
#define zx_hrxml_WorkSiteId_EXT
#endif
struct zx_hrxml_WorkSiteId_s {
  ZX_ELEM_EXT
  zx_hrxml_WorkSiteId_EXT
  struct zx_hrxml_IdValue_s* IdValue;	/* {1,-1}  */
  struct zx_attr_s* idOwner;	/* {0,1} attribute xsd:string */
  struct zx_attr_s* validFrom;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
  struct zx_attr_s* validTo;	/* {0,1} attribute hrxml:AnyDateTimeNkNaType */
};

#define zx_NEW_hrxml_WorkSiteId(c, father) (struct zx_hrxml_WorkSiteId_s*)zx_new_elem((c),(father),zx_hrxml_WorkSiteId_ELEM)
int zx_DEC_ATTR_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x);
int zx_DEC_ELEM_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x);

#ifdef ZX_ENA_AUX
struct zx_hrxml_WorkSiteId_s* zx_DEEP_CLONE_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x, int dup_strs);
void zx_DUP_STRS_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x);
int zx_WALK_SO_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_hrxml_WorkSiteId(struct zx_ctx* c, struct zx_hrxml_WorkSiteId_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_hrxml_WorkSiteId_GET_idOwner(struct zx_hrxml_WorkSiteId_s* x);
struct zx_attr_s* zx_hrxml_WorkSiteId_GET_validFrom(struct zx_hrxml_WorkSiteId_s* x);
struct zx_attr_s* zx_hrxml_WorkSiteId_GET_validTo(struct zx_hrxml_WorkSiteId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_WorkSiteId_GET_IdValue(struct zx_hrxml_WorkSiteId_s* x, int n);

int zx_hrxml_WorkSiteId_NUM_IdValue(struct zx_hrxml_WorkSiteId_s* x);

struct zx_hrxml_IdValue_s* zx_hrxml_WorkSiteId_POP_IdValue(struct zx_hrxml_WorkSiteId_s* x);

void zx_hrxml_WorkSiteId_PUSH_IdValue(struct zx_hrxml_WorkSiteId_s* x, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_WorkSiteId_PUT_idOwner(struct zx_hrxml_WorkSiteId_s* x, struct zx_attr_s* y);
void zx_hrxml_WorkSiteId_PUT_validFrom(struct zx_hrxml_WorkSiteId_s* x, struct zx_attr_s* y);
void zx_hrxml_WorkSiteId_PUT_validTo(struct zx_hrxml_WorkSiteId_s* x, struct zx_attr_s* y);

void zx_hrxml_WorkSiteId_PUT_IdValue(struct zx_hrxml_WorkSiteId_s* x, int n, struct zx_hrxml_IdValue_s* y);

void zx_hrxml_WorkSiteId_ADD_IdValue(struct zx_hrxml_WorkSiteId_s* x, int n, struct zx_hrxml_IdValue_s* z);

void zx_hrxml_WorkSiteId_DEL_IdValue(struct zx_hrxml_WorkSiteId_s* x, int n);

void zx_hrxml_WorkSiteId_REV_IdValue(struct zx_hrxml_WorkSiteId_s* x);

#endif

#endif
