/* c/zx-tas3-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_tas3_data_h
#define _c_zx_tas3_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

/* -------------------------- tas3_Credentials -------------------------- */
/* refby( zx_e_Header_s ) */
#ifndef zx_tas3_Credentials_EXT
#define zx_tas3_Credentials_EXT
#endif
struct zx_tas3_Credentials_s {
  ZX_ELEM_EXT
  zx_tas3_Credentials_EXT
  struct zx_sa_Assertion_s* Assertion;	/* {0,1} nada */
  struct zx_sa_EncryptedAssertion_s* EncryptedAssertion;	/* {0,1} nada */
  struct zx_sa11_Assertion_s* sa11_Assertion;	/* {0,1} nada */
  struct zx_ff12_Assertion_s* ff12_Assertion;	/* {0,1} nada */
  struct zx_sa_Attribute_s* Attribute;	/* {0,-1} nada */
  struct zx_sa_EncryptedAttribute_s* EncryptedAttribute;	/* {0,-1} nada */
  struct zx_xac_Attribute_s* xac_Attribute;	/* {0,-1} nada */
  struct zx_attr_s* id;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* usage;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* Id;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* actor;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* mustUnderstand;	/* {0,1} attribute xs:boolean */
};

#define zx_NEW_tas3_Credentials(c, father) (struct zx_tas3_Credentials_s*)zx_new_elem((c),(father),zx_tas3_Credentials_ELEM)
int zx_DEC_ATTR_tas3_Credentials(struct zx_ctx* c, struct zx_tas3_Credentials_s* x);
int zx_DEC_ELEM_tas3_Credentials(struct zx_ctx* c, struct zx_tas3_Credentials_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_Credentials_s* zx_DEEP_CLONE_tas3_Credentials(struct zx_ctx* c, struct zx_tas3_Credentials_s* x, int dup_strs);
void zx_DUP_STRS_tas3_Credentials(struct zx_ctx* c, struct zx_tas3_Credentials_s* x);
int zx_WALK_SO_tas3_Credentials(struct zx_ctx* c, struct zx_tas3_Credentials_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_Credentials(struct zx_ctx* c, struct zx_tas3_Credentials_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_tas3_Credentials_GET_id(struct zx_tas3_Credentials_s* x);
struct zx_attr_s* zx_tas3_Credentials_GET_usage(struct zx_tas3_Credentials_s* x);
struct zx_attr_s* zx_tas3_Credentials_GET_Id(struct zx_tas3_Credentials_s* x);
struct zx_attr_s* zx_tas3_Credentials_GET_actor(struct zx_tas3_Credentials_s* x);
struct zx_attr_s* zx_tas3_Credentials_GET_mustUnderstand(struct zx_tas3_Credentials_s* x);

struct zx_sa_Assertion_s* zx_tas3_Credentials_GET_Assertion(struct zx_tas3_Credentials_s* x, int n);
struct zx_sa_EncryptedAssertion_s* zx_tas3_Credentials_GET_EncryptedAssertion(struct zx_tas3_Credentials_s* x, int n);
struct zx_sa11_Assertion_s* zx_tas3_Credentials_GET_sa11_Assertion(struct zx_tas3_Credentials_s* x, int n);
struct zx_ff12_Assertion_s* zx_tas3_Credentials_GET_ff12_Assertion(struct zx_tas3_Credentials_s* x, int n);
struct zx_sa_Attribute_s* zx_tas3_Credentials_GET_Attribute(struct zx_tas3_Credentials_s* x, int n);
struct zx_sa_EncryptedAttribute_s* zx_tas3_Credentials_GET_EncryptedAttribute(struct zx_tas3_Credentials_s* x, int n);
struct zx_xac_Attribute_s* zx_tas3_Credentials_GET_xac_Attribute(struct zx_tas3_Credentials_s* x, int n);

int zx_tas3_Credentials_NUM_Assertion(struct zx_tas3_Credentials_s* x);
int zx_tas3_Credentials_NUM_EncryptedAssertion(struct zx_tas3_Credentials_s* x);
int zx_tas3_Credentials_NUM_sa11_Assertion(struct zx_tas3_Credentials_s* x);
int zx_tas3_Credentials_NUM_ff12_Assertion(struct zx_tas3_Credentials_s* x);
int zx_tas3_Credentials_NUM_Attribute(struct zx_tas3_Credentials_s* x);
int zx_tas3_Credentials_NUM_EncryptedAttribute(struct zx_tas3_Credentials_s* x);
int zx_tas3_Credentials_NUM_xac_Attribute(struct zx_tas3_Credentials_s* x);

struct zx_sa_Assertion_s* zx_tas3_Credentials_POP_Assertion(struct zx_tas3_Credentials_s* x);
struct zx_sa_EncryptedAssertion_s* zx_tas3_Credentials_POP_EncryptedAssertion(struct zx_tas3_Credentials_s* x);
struct zx_sa11_Assertion_s* zx_tas3_Credentials_POP_sa11_Assertion(struct zx_tas3_Credentials_s* x);
struct zx_ff12_Assertion_s* zx_tas3_Credentials_POP_ff12_Assertion(struct zx_tas3_Credentials_s* x);
struct zx_sa_Attribute_s* zx_tas3_Credentials_POP_Attribute(struct zx_tas3_Credentials_s* x);
struct zx_sa_EncryptedAttribute_s* zx_tas3_Credentials_POP_EncryptedAttribute(struct zx_tas3_Credentials_s* x);
struct zx_xac_Attribute_s* zx_tas3_Credentials_POP_xac_Attribute(struct zx_tas3_Credentials_s* x);

void zx_tas3_Credentials_PUSH_Assertion(struct zx_tas3_Credentials_s* x, struct zx_sa_Assertion_s* y);
void zx_tas3_Credentials_PUSH_EncryptedAssertion(struct zx_tas3_Credentials_s* x, struct zx_sa_EncryptedAssertion_s* y);
void zx_tas3_Credentials_PUSH_sa11_Assertion(struct zx_tas3_Credentials_s* x, struct zx_sa11_Assertion_s* y);
void zx_tas3_Credentials_PUSH_ff12_Assertion(struct zx_tas3_Credentials_s* x, struct zx_ff12_Assertion_s* y);
void zx_tas3_Credentials_PUSH_Attribute(struct zx_tas3_Credentials_s* x, struct zx_sa_Attribute_s* y);
void zx_tas3_Credentials_PUSH_EncryptedAttribute(struct zx_tas3_Credentials_s* x, struct zx_sa_EncryptedAttribute_s* y);
void zx_tas3_Credentials_PUSH_xac_Attribute(struct zx_tas3_Credentials_s* x, struct zx_xac_Attribute_s* y);

void zx_tas3_Credentials_PUT_id(struct zx_tas3_Credentials_s* x, struct zx_attr_s* y);
void zx_tas3_Credentials_PUT_usage(struct zx_tas3_Credentials_s* x, struct zx_attr_s* y);
void zx_tas3_Credentials_PUT_Id(struct zx_tas3_Credentials_s* x, struct zx_attr_s* y);
void zx_tas3_Credentials_PUT_actor(struct zx_tas3_Credentials_s* x, struct zx_attr_s* y);
void zx_tas3_Credentials_PUT_mustUnderstand(struct zx_tas3_Credentials_s* x, struct zx_attr_s* y);

void zx_tas3_Credentials_PUT_Assertion(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_Assertion_s* y);
void zx_tas3_Credentials_PUT_EncryptedAssertion(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_EncryptedAssertion_s* y);
void zx_tas3_Credentials_PUT_sa11_Assertion(struct zx_tas3_Credentials_s* x, int n, struct zx_sa11_Assertion_s* y);
void zx_tas3_Credentials_PUT_ff12_Assertion(struct zx_tas3_Credentials_s* x, int n, struct zx_ff12_Assertion_s* y);
void zx_tas3_Credentials_PUT_Attribute(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_Attribute_s* y);
void zx_tas3_Credentials_PUT_EncryptedAttribute(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_EncryptedAttribute_s* y);
void zx_tas3_Credentials_PUT_xac_Attribute(struct zx_tas3_Credentials_s* x, int n, struct zx_xac_Attribute_s* y);

void zx_tas3_Credentials_ADD_Assertion(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_Assertion_s* z);
void zx_tas3_Credentials_ADD_EncryptedAssertion(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_EncryptedAssertion_s* z);
void zx_tas3_Credentials_ADD_sa11_Assertion(struct zx_tas3_Credentials_s* x, int n, struct zx_sa11_Assertion_s* z);
void zx_tas3_Credentials_ADD_ff12_Assertion(struct zx_tas3_Credentials_s* x, int n, struct zx_ff12_Assertion_s* z);
void zx_tas3_Credentials_ADD_Attribute(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_Attribute_s* z);
void zx_tas3_Credentials_ADD_EncryptedAttribute(struct zx_tas3_Credentials_s* x, int n, struct zx_sa_EncryptedAttribute_s* z);
void zx_tas3_Credentials_ADD_xac_Attribute(struct zx_tas3_Credentials_s* x, int n, struct zx_xac_Attribute_s* z);

void zx_tas3_Credentials_DEL_Assertion(struct zx_tas3_Credentials_s* x, int n);
void zx_tas3_Credentials_DEL_EncryptedAssertion(struct zx_tas3_Credentials_s* x, int n);
void zx_tas3_Credentials_DEL_sa11_Assertion(struct zx_tas3_Credentials_s* x, int n);
void zx_tas3_Credentials_DEL_ff12_Assertion(struct zx_tas3_Credentials_s* x, int n);
void zx_tas3_Credentials_DEL_Attribute(struct zx_tas3_Credentials_s* x, int n);
void zx_tas3_Credentials_DEL_EncryptedAttribute(struct zx_tas3_Credentials_s* x, int n);
void zx_tas3_Credentials_DEL_xac_Attribute(struct zx_tas3_Credentials_s* x, int n);

void zx_tas3_Credentials_REV_Assertion(struct zx_tas3_Credentials_s* x);
void zx_tas3_Credentials_REV_EncryptedAssertion(struct zx_tas3_Credentials_s* x);
void zx_tas3_Credentials_REV_sa11_Assertion(struct zx_tas3_Credentials_s* x);
void zx_tas3_Credentials_REV_ff12_Assertion(struct zx_tas3_Credentials_s* x);
void zx_tas3_Credentials_REV_Attribute(struct zx_tas3_Credentials_s* x);
void zx_tas3_Credentials_REV_EncryptedAttribute(struct zx_tas3_Credentials_s* x);
void zx_tas3_Credentials_REV_xac_Attribute(struct zx_tas3_Credentials_s* x);

#endif
/* -------------------------- tas3_ESLApply -------------------------- */
/* refby( zx_tas3_ESLPolicies_s ) */
#ifndef zx_tas3_ESLApply_EXT
#define zx_tas3_ESLApply_EXT
#endif
struct zx_tas3_ESLApply_s {
  ZX_ELEM_EXT
  zx_tas3_ESLApply_EXT
  struct zx_tas3_ESLRef_s* ESLRef;	/* {1,-1} nada */
  struct zx_xa_Obligation_s* Obligation;	/* {1,-1} nada */
};

#define zx_NEW_tas3_ESLApply(c, father) (struct zx_tas3_ESLApply_s*)zx_new_elem((c),(father),zx_tas3_ESLApply_ELEM)
int zx_DEC_ATTR_tas3_ESLApply(struct zx_ctx* c, struct zx_tas3_ESLApply_s* x);
int zx_DEC_ELEM_tas3_ESLApply(struct zx_ctx* c, struct zx_tas3_ESLApply_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_ESLApply_s* zx_DEEP_CLONE_tas3_ESLApply(struct zx_ctx* c, struct zx_tas3_ESLApply_s* x, int dup_strs);
void zx_DUP_STRS_tas3_ESLApply(struct zx_ctx* c, struct zx_tas3_ESLApply_s* x);
int zx_WALK_SO_tas3_ESLApply(struct zx_ctx* c, struct zx_tas3_ESLApply_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_ESLApply(struct zx_ctx* c, struct zx_tas3_ESLApply_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT

struct zx_tas3_ESLRef_s* zx_tas3_ESLApply_GET_ESLRef(struct zx_tas3_ESLApply_s* x, int n);
struct zx_xa_Obligation_s* zx_tas3_ESLApply_GET_Obligation(struct zx_tas3_ESLApply_s* x, int n);

int zx_tas3_ESLApply_NUM_ESLRef(struct zx_tas3_ESLApply_s* x);
int zx_tas3_ESLApply_NUM_Obligation(struct zx_tas3_ESLApply_s* x);

struct zx_tas3_ESLRef_s* zx_tas3_ESLApply_POP_ESLRef(struct zx_tas3_ESLApply_s* x);
struct zx_xa_Obligation_s* zx_tas3_ESLApply_POP_Obligation(struct zx_tas3_ESLApply_s* x);

void zx_tas3_ESLApply_PUSH_ESLRef(struct zx_tas3_ESLApply_s* x, struct zx_tas3_ESLRef_s* y);
void zx_tas3_ESLApply_PUSH_Obligation(struct zx_tas3_ESLApply_s* x, struct zx_xa_Obligation_s* y);


void zx_tas3_ESLApply_PUT_ESLRef(struct zx_tas3_ESLApply_s* x, int n, struct zx_tas3_ESLRef_s* y);
void zx_tas3_ESLApply_PUT_Obligation(struct zx_tas3_ESLApply_s* x, int n, struct zx_xa_Obligation_s* y);

void zx_tas3_ESLApply_ADD_ESLRef(struct zx_tas3_ESLApply_s* x, int n, struct zx_tas3_ESLRef_s* z);
void zx_tas3_ESLApply_ADD_Obligation(struct zx_tas3_ESLApply_s* x, int n, struct zx_xa_Obligation_s* z);

void zx_tas3_ESLApply_DEL_ESLRef(struct zx_tas3_ESLApply_s* x, int n);
void zx_tas3_ESLApply_DEL_Obligation(struct zx_tas3_ESLApply_s* x, int n);

void zx_tas3_ESLApply_REV_ESLRef(struct zx_tas3_ESLApply_s* x);
void zx_tas3_ESLApply_REV_Obligation(struct zx_tas3_ESLApply_s* x);

#endif
/* -------------------------- tas3_ESLPolicies -------------------------- */
/* refby( zx_e_Header_s ) */
#ifndef zx_tas3_ESLPolicies_EXT
#define zx_tas3_ESLPolicies_EXT
#endif
struct zx_tas3_ESLPolicies_s {
  ZX_ELEM_EXT
  zx_tas3_ESLPolicies_EXT
  struct zx_tas3_ESLApply_s* ESLApply;	/* {1,-1} nada */
  struct zx_attr_s* id;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* usage;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* Id;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* actor;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* mustUnderstand;	/* {0,1} attribute xs:boolean */
};

#define zx_NEW_tas3_ESLPolicies(c, father) (struct zx_tas3_ESLPolicies_s*)zx_new_elem((c),(father),zx_tas3_ESLPolicies_ELEM)
int zx_DEC_ATTR_tas3_ESLPolicies(struct zx_ctx* c, struct zx_tas3_ESLPolicies_s* x);
int zx_DEC_ELEM_tas3_ESLPolicies(struct zx_ctx* c, struct zx_tas3_ESLPolicies_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_ESLPolicies_s* zx_DEEP_CLONE_tas3_ESLPolicies(struct zx_ctx* c, struct zx_tas3_ESLPolicies_s* x, int dup_strs);
void zx_DUP_STRS_tas3_ESLPolicies(struct zx_ctx* c, struct zx_tas3_ESLPolicies_s* x);
int zx_WALK_SO_tas3_ESLPolicies(struct zx_ctx* c, struct zx_tas3_ESLPolicies_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_ESLPolicies(struct zx_ctx* c, struct zx_tas3_ESLPolicies_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_tas3_ESLPolicies_GET_id(struct zx_tas3_ESLPolicies_s* x);
struct zx_attr_s* zx_tas3_ESLPolicies_GET_usage(struct zx_tas3_ESLPolicies_s* x);
struct zx_attr_s* zx_tas3_ESLPolicies_GET_Id(struct zx_tas3_ESLPolicies_s* x);
struct zx_attr_s* zx_tas3_ESLPolicies_GET_actor(struct zx_tas3_ESLPolicies_s* x);
struct zx_attr_s* zx_tas3_ESLPolicies_GET_mustUnderstand(struct zx_tas3_ESLPolicies_s* x);

struct zx_tas3_ESLApply_s* zx_tas3_ESLPolicies_GET_ESLApply(struct zx_tas3_ESLPolicies_s* x, int n);

int zx_tas3_ESLPolicies_NUM_ESLApply(struct zx_tas3_ESLPolicies_s* x);

struct zx_tas3_ESLApply_s* zx_tas3_ESLPolicies_POP_ESLApply(struct zx_tas3_ESLPolicies_s* x);

void zx_tas3_ESLPolicies_PUSH_ESLApply(struct zx_tas3_ESLPolicies_s* x, struct zx_tas3_ESLApply_s* y);

void zx_tas3_ESLPolicies_PUT_id(struct zx_tas3_ESLPolicies_s* x, struct zx_attr_s* y);
void zx_tas3_ESLPolicies_PUT_usage(struct zx_tas3_ESLPolicies_s* x, struct zx_attr_s* y);
void zx_tas3_ESLPolicies_PUT_Id(struct zx_tas3_ESLPolicies_s* x, struct zx_attr_s* y);
void zx_tas3_ESLPolicies_PUT_actor(struct zx_tas3_ESLPolicies_s* x, struct zx_attr_s* y);
void zx_tas3_ESLPolicies_PUT_mustUnderstand(struct zx_tas3_ESLPolicies_s* x, struct zx_attr_s* y);

void zx_tas3_ESLPolicies_PUT_ESLApply(struct zx_tas3_ESLPolicies_s* x, int n, struct zx_tas3_ESLApply_s* y);

void zx_tas3_ESLPolicies_ADD_ESLApply(struct zx_tas3_ESLPolicies_s* x, int n, struct zx_tas3_ESLApply_s* z);

void zx_tas3_ESLPolicies_DEL_ESLApply(struct zx_tas3_ESLPolicies_s* x, int n);

void zx_tas3_ESLPolicies_REV_ESLApply(struct zx_tas3_ESLPolicies_s* x);

#endif
/* -------------------------- tas3_ESLRef -------------------------- */
/* refby( zx_tas3_ESLApply_s ) */
#ifndef zx_tas3_ESLRef_EXT
#define zx_tas3_ESLRef_EXT
#endif
struct zx_tas3_ESLRef_s {
  ZX_ELEM_EXT
  zx_tas3_ESLRef_EXT
  struct zx_attr_s* ref;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* xpath;	/* {0,1} attribute xs:string */
};

#define zx_NEW_tas3_ESLRef(c, father) (struct zx_tas3_ESLRef_s*)zx_new_elem((c),(father),zx_tas3_ESLRef_ELEM)
int zx_DEC_ATTR_tas3_ESLRef(struct zx_ctx* c, struct zx_tas3_ESLRef_s* x);
int zx_DEC_ELEM_tas3_ESLRef(struct zx_ctx* c, struct zx_tas3_ESLRef_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_ESLRef_s* zx_DEEP_CLONE_tas3_ESLRef(struct zx_ctx* c, struct zx_tas3_ESLRef_s* x, int dup_strs);
void zx_DUP_STRS_tas3_ESLRef(struct zx_ctx* c, struct zx_tas3_ESLRef_s* x);
int zx_WALK_SO_tas3_ESLRef(struct zx_ctx* c, struct zx_tas3_ESLRef_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_ESLRef(struct zx_ctx* c, struct zx_tas3_ESLRef_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_tas3_ESLRef_GET_ref(struct zx_tas3_ESLRef_s* x);
struct zx_attr_s* zx_tas3_ESLRef_GET_xpath(struct zx_tas3_ESLRef_s* x);





void zx_tas3_ESLRef_PUT_ref(struct zx_tas3_ESLRef_s* x, struct zx_attr_s* y);
void zx_tas3_ESLRef_PUT_xpath(struct zx_tas3_ESLRef_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- tas3_Status -------------------------- */
/* refby( zx_e_Header_s ) */
#ifndef zx_tas3_Status_EXT
#define zx_tas3_Status_EXT
#endif
struct zx_tas3_Status_s {
  ZX_ELEM_EXT
  zx_tas3_Status_EXT
  struct zx_lu_Status_s* Status;	/* {0,-1} nada */
  struct zx_attr_s* code;	/* {1,1} attribute xs:QName */
  struct zx_attr_s* comment;	/* {0,1} attribute xs:string */
  struct zx_attr_s* ctlpt;	/* {0,1} attribute xs:string */
  struct zx_attr_s* id;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* ref;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* Id;	/* {0,1} attribute xs:ID */
  struct zx_attr_s* actor;	/* {0,1} attribute xs:anyURI */
  struct zx_attr_s* mustUnderstand;	/* {0,1} attribute xs:boolean */
};

#define zx_NEW_tas3_Status(c, father) (struct zx_tas3_Status_s*)zx_new_elem((c),(father),zx_tas3_Status_ELEM)
int zx_DEC_ATTR_tas3_Status(struct zx_ctx* c, struct zx_tas3_Status_s* x);
int zx_DEC_ELEM_tas3_Status(struct zx_ctx* c, struct zx_tas3_Status_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_Status_s* zx_DEEP_CLONE_tas3_Status(struct zx_ctx* c, struct zx_tas3_Status_s* x, int dup_strs);
void zx_DUP_STRS_tas3_Status(struct zx_ctx* c, struct zx_tas3_Status_s* x);
int zx_WALK_SO_tas3_Status(struct zx_ctx* c, struct zx_tas3_Status_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_Status(struct zx_ctx* c, struct zx_tas3_Status_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_tas3_Status_GET_code(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_comment(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_ctlpt(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_id(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_ref(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_Id(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_actor(struct zx_tas3_Status_s* x);
struct zx_attr_s* zx_tas3_Status_GET_mustUnderstand(struct zx_tas3_Status_s* x);

struct zx_lu_Status_s* zx_tas3_Status_GET_Status(struct zx_tas3_Status_s* x, int n);

int zx_tas3_Status_NUM_Status(struct zx_tas3_Status_s* x);

struct zx_lu_Status_s* zx_tas3_Status_POP_Status(struct zx_tas3_Status_s* x);

void zx_tas3_Status_PUSH_Status(struct zx_tas3_Status_s* x, struct zx_lu_Status_s* y);

void zx_tas3_Status_PUT_code(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_comment(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_ctlpt(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_id(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_ref(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_Id(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_actor(struct zx_tas3_Status_s* x, struct zx_attr_s* y);
void zx_tas3_Status_PUT_mustUnderstand(struct zx_tas3_Status_s* x, struct zx_attr_s* y);

void zx_tas3_Status_PUT_Status(struct zx_tas3_Status_s* x, int n, struct zx_lu_Status_s* y);

void zx_tas3_Status_ADD_Status(struct zx_tas3_Status_s* x, int n, struct zx_lu_Status_s* z);

void zx_tas3_Status_DEL_Status(struct zx_tas3_Status_s* x, int n);

void zx_tas3_Status_REV_Status(struct zx_tas3_Status_s* x);

#endif
/* -------------------------- tas3_Trust -------------------------- */
/* refby( zx_a_Metadata_s ) */
#ifndef zx_tas3_Trust_EXT
#define zx_tas3_Trust_EXT
#endif
struct zx_tas3_Trust_s {
  ZX_ELEM_EXT
  zx_tas3_Trust_EXT
  struct zx_tas3_TrustRanking_s* TrustRanking;	/* {0,-1} nada */
  struct zx_attr_s* vers;	/* {1,1} attribute xs:string */
};

#define zx_NEW_tas3_Trust(c, father) (struct zx_tas3_Trust_s*)zx_new_elem((c),(father),zx_tas3_Trust_ELEM)
int zx_DEC_ATTR_tas3_Trust(struct zx_ctx* c, struct zx_tas3_Trust_s* x);
int zx_DEC_ELEM_tas3_Trust(struct zx_ctx* c, struct zx_tas3_Trust_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_Trust_s* zx_DEEP_CLONE_tas3_Trust(struct zx_ctx* c, struct zx_tas3_Trust_s* x, int dup_strs);
void zx_DUP_STRS_tas3_Trust(struct zx_ctx* c, struct zx_tas3_Trust_s* x);
int zx_WALK_SO_tas3_Trust(struct zx_ctx* c, struct zx_tas3_Trust_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_Trust(struct zx_ctx* c, struct zx_tas3_Trust_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_tas3_Trust_GET_vers(struct zx_tas3_Trust_s* x);

struct zx_tas3_TrustRanking_s* zx_tas3_Trust_GET_TrustRanking(struct zx_tas3_Trust_s* x, int n);

int zx_tas3_Trust_NUM_TrustRanking(struct zx_tas3_Trust_s* x);

struct zx_tas3_TrustRanking_s* zx_tas3_Trust_POP_TrustRanking(struct zx_tas3_Trust_s* x);

void zx_tas3_Trust_PUSH_TrustRanking(struct zx_tas3_Trust_s* x, struct zx_tas3_TrustRanking_s* y);

void zx_tas3_Trust_PUT_vers(struct zx_tas3_Trust_s* x, struct zx_attr_s* y);

void zx_tas3_Trust_PUT_TrustRanking(struct zx_tas3_Trust_s* x, int n, struct zx_tas3_TrustRanking_s* y);

void zx_tas3_Trust_ADD_TrustRanking(struct zx_tas3_Trust_s* x, int n, struct zx_tas3_TrustRanking_s* z);

void zx_tas3_Trust_DEL_TrustRanking(struct zx_tas3_Trust_s* x, int n);

void zx_tas3_Trust_REV_TrustRanking(struct zx_tas3_Trust_s* x);

#endif
/* -------------------------- tas3_TrustRanking -------------------------- */
/* refby( zx_tas3_Trust_s ) */
#ifndef zx_tas3_TrustRanking_EXT
#define zx_tas3_TrustRanking_EXT
#endif
struct zx_tas3_TrustRanking_s {
  ZX_ELEM_EXT
  zx_tas3_TrustRanking_EXT
  struct zx_attr_s* metric;	/* {1,1} attribute xs:string */
  struct zx_attr_s* val;	/* {1,1} attribute xs:string */
};

#define zx_NEW_tas3_TrustRanking(c, father) (struct zx_tas3_TrustRanking_s*)zx_new_elem((c),(father),zx_tas3_TrustRanking_ELEM)
int zx_DEC_ATTR_tas3_TrustRanking(struct zx_ctx* c, struct zx_tas3_TrustRanking_s* x);
int zx_DEC_ELEM_tas3_TrustRanking(struct zx_ctx* c, struct zx_tas3_TrustRanking_s* x);

#ifdef ZX_ENA_AUX
struct zx_tas3_TrustRanking_s* zx_DEEP_CLONE_tas3_TrustRanking(struct zx_ctx* c, struct zx_tas3_TrustRanking_s* x, int dup_strs);
void zx_DUP_STRS_tas3_TrustRanking(struct zx_ctx* c, struct zx_tas3_TrustRanking_s* x);
int zx_WALK_SO_tas3_TrustRanking(struct zx_ctx* c, struct zx_tas3_TrustRanking_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_tas3_TrustRanking(struct zx_ctx* c, struct zx_tas3_TrustRanking_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_tas3_TrustRanking_GET_metric(struct zx_tas3_TrustRanking_s* x);
struct zx_attr_s* zx_tas3_TrustRanking_GET_val(struct zx_tas3_TrustRanking_s* x);





void zx_tas3_TrustRanking_PUT_metric(struct zx_tas3_TrustRanking_s* x, struct zx_attr_s* y);
void zx_tas3_TrustRanking_PUT_val(struct zx_tas3_TrustRanking_s* x, struct zx_attr_s* y);





#endif

#endif
