1 /* c/zx-xa-dec.c - WARNING: This file was auto generated by xsd2sg.pl. DO NOT EDIT!
2 * $Id$ */
3 /* Code generation design Copyright (c) 2006 Sampo Kellomaki (sampo@iki.fi),
4 * All Rights Reserved. NO WARRANTY. See file COPYING for terms and conditions
5 * of use. Some aspects of code generation were driven by schema
6 * descriptions that were used as input and may be subject to their own copyright.
7 * Code generation uses a template, whose copyright statement follows. */
8
9 /** dec-templ.c - XML decoder template, used in code generation
10 ** Copyright (c) 2010 Sampo Kellomaki (sampo@iki.fi), All Rights Reserved.
11 ** Copyright (c) 2006-2007 Symlabs (symlabs@symlabs.com), All Rights Reserved.
12 ** Author: Sampo Kellomaki (sampo@iki.fi)
13 ** This is confidential unpublished proprietary source code of the author.
14 ** NO WARRANTY, not even implied warranties. Contains trade secrets.
15 ** Distribution prohibited unless authorized in writing.
16 ** Licensed under Apache License 2.0, see file COPYING.
17 ** Id: dec-templ.c,v 1.30 2008-10-04 23:42:14 sampo Exp $
18 **
19 ** 28.5.2006, created, Sampo Kellomaki (sampo@iki.fi)
20 ** 8.8.2006, reworked namespace handling --Sampo
21 ** 12.8.2006, added special scanning of xmlns to avoid backtracking elem recognition --Sampo
22 ** 23.9.2006, added collection of WO information --Sampo
23 ** 21.6.2007, improved handling of undeclared namespace prefixes --Sampo
24 ** 27.10.2010, CSE refactoring, re-engineered namespace handling --Sampo
25 ** 21.11.2010, re-engineered to extract most code to zx_DEC_elem, leaving just switches --Sampo
26 **
27 ** N.B: This template is meant to be processed by pd/xsd2sg.pl. Beware
28 ** of special markers that xsd2sg.pl expects to find and understand.
29 **/
30
31 #include "errmac.h"
32 #include "zx.h"
33 #include "c/zx-const.h"
34 #include "c/zx-data.h"
35 #include "c/zx-xa-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38
39
40
zx_DEC_ATTR_xa_Action(struct zx_ctx * c,struct zx_xa_Action_s * x)41 int zx_DEC_ATTR_xa_Action(struct zx_ctx* c, struct zx_xa_Action_s* x)
42 {
43 switch (x->gg.attr->g.tok) {
44
45 default: return 0;
46 }
47 }
48
zx_DEC_ELEM_xa_Action(struct zx_ctx * c,struct zx_xa_Action_s * x)49 int zx_DEC_ELEM_xa_Action(struct zx_ctx* c, struct zx_xa_Action_s* x)
50 {
51 struct zx_elem_s* el = x->gg.kids;
52 switch (el->g.tok) {
53 case zx_xa_ActionMatch_ELEM:
54 if (!x->ActionMatch)
55 x->ActionMatch = (struct zx_xa_ActionMatch_s*)el;
56 return 1;
57
58 default: return 0;
59 }
60 }
61
62
63
64
zx_DEC_ATTR_xa_ActionAttributeDesignator(struct zx_ctx * c,struct zx_xa_ActionAttributeDesignator_s * x)65 int zx_DEC_ATTR_xa_ActionAttributeDesignator(struct zx_ctx* c, struct zx_xa_ActionAttributeDesignator_s* x)
66 {
67 switch (x->gg.attr->g.tok) {
68 case zx_AttributeId_ATTR: x->AttributeId = x->gg.attr; return 1;
69 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
70 case zx_Issuer_ATTR: x->Issuer = x->gg.attr; return 1;
71 case zx_MustBePresent_ATTR: x->MustBePresent = x->gg.attr; return 1;
72
73 default: return 0;
74 }
75 }
76
zx_DEC_ELEM_xa_ActionAttributeDesignator(struct zx_ctx * c,struct zx_xa_ActionAttributeDesignator_s * x)77 int zx_DEC_ELEM_xa_ActionAttributeDesignator(struct zx_ctx* c, struct zx_xa_ActionAttributeDesignator_s* x)
78 {
79 struct zx_elem_s* el = x->gg.kids;
80 switch (el->g.tok) {
81
82 default: return 0;
83 }
84 }
85
86
87
88
zx_DEC_ATTR_xa_ActionMatch(struct zx_ctx * c,struct zx_xa_ActionMatch_s * x)89 int zx_DEC_ATTR_xa_ActionMatch(struct zx_ctx* c, struct zx_xa_ActionMatch_s* x)
90 {
91 switch (x->gg.attr->g.tok) {
92 case zx_MatchId_ATTR: x->MatchId = x->gg.attr; return 1;
93
94 default: return 0;
95 }
96 }
97
zx_DEC_ELEM_xa_ActionMatch(struct zx_ctx * c,struct zx_xa_ActionMatch_s * x)98 int zx_DEC_ELEM_xa_ActionMatch(struct zx_ctx* c, struct zx_xa_ActionMatch_s* x)
99 {
100 struct zx_elem_s* el = x->gg.kids;
101 switch (el->g.tok) {
102 case zx_xa_AttributeValue_ELEM:
103 if (!x->AttributeValue)
104 x->AttributeValue = (struct zx_xa_AttributeValue_s*)el;
105 return 1;
106 case zx_xa_ActionAttributeDesignator_ELEM:
107 if (!x->ActionAttributeDesignator)
108 x->ActionAttributeDesignator = (struct zx_xa_ActionAttributeDesignator_s*)el;
109 return 1;
110 case zx_xa_AttributeSelector_ELEM:
111 if (!x->AttributeSelector)
112 x->AttributeSelector = (struct zx_xa_AttributeSelector_s*)el;
113 return 1;
114
115 default: return 0;
116 }
117 }
118
119
120
121
zx_DEC_ATTR_xa_Actions(struct zx_ctx * c,struct zx_xa_Actions_s * x)122 int zx_DEC_ATTR_xa_Actions(struct zx_ctx* c, struct zx_xa_Actions_s* x)
123 {
124 switch (x->gg.attr->g.tok) {
125
126 default: return 0;
127 }
128 }
129
zx_DEC_ELEM_xa_Actions(struct zx_ctx * c,struct zx_xa_Actions_s * x)130 int zx_DEC_ELEM_xa_Actions(struct zx_ctx* c, struct zx_xa_Actions_s* x)
131 {
132 struct zx_elem_s* el = x->gg.kids;
133 switch (el->g.tok) {
134 case zx_xa_Action_ELEM:
135 if (!x->Action)
136 x->Action = (struct zx_xa_Action_s*)el;
137 return 1;
138
139 default: return 0;
140 }
141 }
142
143
144
145
zx_DEC_ATTR_xa_Apply(struct zx_ctx * c,struct zx_xa_Apply_s * x)146 int zx_DEC_ATTR_xa_Apply(struct zx_ctx* c, struct zx_xa_Apply_s* x)
147 {
148 switch (x->gg.attr->g.tok) {
149 case zx_FunctionId_ATTR: x->FunctionId = x->gg.attr; return 1;
150
151 default: return 0;
152 }
153 }
154
zx_DEC_ELEM_xa_Apply(struct zx_ctx * c,struct zx_xa_Apply_s * x)155 int zx_DEC_ELEM_xa_Apply(struct zx_ctx* c, struct zx_xa_Apply_s* x)
156 {
157 struct zx_elem_s* el = x->gg.kids;
158 switch (el->g.tok) {
159 case zx_xa_Expression_ELEM:
160 if (!x->Expression)
161 x->Expression = el;
162 return 1;
163
164 default: return 0;
165 }
166 }
167
168
169
170
zx_DEC_ATTR_xa_AttributeAssignment(struct zx_ctx * c,struct zx_xa_AttributeAssignment_s * x)171 int zx_DEC_ATTR_xa_AttributeAssignment(struct zx_ctx* c, struct zx_xa_AttributeAssignment_s* x)
172 {
173 switch (x->gg.attr->g.tok) {
174 case zx_AttributeId_ATTR: x->AttributeId = x->gg.attr; return 1;
175 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
176
177 default: return 0;
178 }
179 }
180
zx_DEC_ELEM_xa_AttributeAssignment(struct zx_ctx * c,struct zx_xa_AttributeAssignment_s * x)181 int zx_DEC_ELEM_xa_AttributeAssignment(struct zx_ctx* c, struct zx_xa_AttributeAssignment_s* x)
182 {
183 struct zx_elem_s* el = x->gg.kids;
184 switch (el->g.tok) {
185
186 default: return 0;
187 }
188 }
189
190
191
192
zx_DEC_ATTR_xa_AttributeSelector(struct zx_ctx * c,struct zx_xa_AttributeSelector_s * x)193 int zx_DEC_ATTR_xa_AttributeSelector(struct zx_ctx* c, struct zx_xa_AttributeSelector_s* x)
194 {
195 switch (x->gg.attr->g.tok) {
196 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
197 case zx_MustBePresent_ATTR: x->MustBePresent = x->gg.attr; return 1;
198 case zx_RequestContextPath_ATTR: x->RequestContextPath = x->gg.attr; return 1;
199
200 default: return 0;
201 }
202 }
203
zx_DEC_ELEM_xa_AttributeSelector(struct zx_ctx * c,struct zx_xa_AttributeSelector_s * x)204 int zx_DEC_ELEM_xa_AttributeSelector(struct zx_ctx* c, struct zx_xa_AttributeSelector_s* x)
205 {
206 struct zx_elem_s* el = x->gg.kids;
207 switch (el->g.tok) {
208
209 default: return 0;
210 }
211 }
212
213
214
215
zx_DEC_ATTR_xa_AttributeValue(struct zx_ctx * c,struct zx_xa_AttributeValue_s * x)216 int zx_DEC_ATTR_xa_AttributeValue(struct zx_ctx* c, struct zx_xa_AttributeValue_s* x)
217 {
218 switch (x->gg.attr->g.tok) {
219 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
220
221 default: return 0;
222 }
223 }
224
zx_DEC_ELEM_xa_AttributeValue(struct zx_ctx * c,struct zx_xa_AttributeValue_s * x)225 int zx_DEC_ELEM_xa_AttributeValue(struct zx_ctx* c, struct zx_xa_AttributeValue_s* x)
226 {
227 struct zx_elem_s* el = x->gg.kids;
228 switch (el->g.tok) {
229
230 default: return 0;
231 }
232 }
233
234
235
236
zx_DEC_ATTR_xa_CombinerParameter(struct zx_ctx * c,struct zx_xa_CombinerParameter_s * x)237 int zx_DEC_ATTR_xa_CombinerParameter(struct zx_ctx* c, struct zx_xa_CombinerParameter_s* x)
238 {
239 switch (x->gg.attr->g.tok) {
240 case zx_ParameterName_ATTR: x->ParameterName = x->gg.attr; return 1;
241
242 default: return 0;
243 }
244 }
245
zx_DEC_ELEM_xa_CombinerParameter(struct zx_ctx * c,struct zx_xa_CombinerParameter_s * x)246 int zx_DEC_ELEM_xa_CombinerParameter(struct zx_ctx* c, struct zx_xa_CombinerParameter_s* x)
247 {
248 struct zx_elem_s* el = x->gg.kids;
249 switch (el->g.tok) {
250 case zx_xa_AttributeValue_ELEM:
251 if (!x->AttributeValue)
252 x->AttributeValue = (struct zx_xa_AttributeValue_s*)el;
253 return 1;
254
255 default: return 0;
256 }
257 }
258
259
260
261
zx_DEC_ATTR_xa_CombinerParameters(struct zx_ctx * c,struct zx_xa_CombinerParameters_s * x)262 int zx_DEC_ATTR_xa_CombinerParameters(struct zx_ctx* c, struct zx_xa_CombinerParameters_s* x)
263 {
264 switch (x->gg.attr->g.tok) {
265
266 default: return 0;
267 }
268 }
269
zx_DEC_ELEM_xa_CombinerParameters(struct zx_ctx * c,struct zx_xa_CombinerParameters_s * x)270 int zx_DEC_ELEM_xa_CombinerParameters(struct zx_ctx* c, struct zx_xa_CombinerParameters_s* x)
271 {
272 struct zx_elem_s* el = x->gg.kids;
273 switch (el->g.tok) {
274 case zx_xa_CombinerParameter_ELEM:
275 if (!x->CombinerParameter)
276 x->CombinerParameter = (struct zx_xa_CombinerParameter_s*)el;
277 return 1;
278
279 default: return 0;
280 }
281 }
282
283
284
285
zx_DEC_ATTR_xa_Condition(struct zx_ctx * c,struct zx_xa_Condition_s * x)286 int zx_DEC_ATTR_xa_Condition(struct zx_ctx* c, struct zx_xa_Condition_s* x)
287 {
288 switch (x->gg.attr->g.tok) {
289
290 default: return 0;
291 }
292 }
293
zx_DEC_ELEM_xa_Condition(struct zx_ctx * c,struct zx_xa_Condition_s * x)294 int zx_DEC_ELEM_xa_Condition(struct zx_ctx* c, struct zx_xa_Condition_s* x)
295 {
296 struct zx_elem_s* el = x->gg.kids;
297 switch (el->g.tok) {
298 case zx_xa_Expression_ELEM:
299 if (!x->Expression)
300 x->Expression = el;
301 return 1;
302
303 default: return 0;
304 }
305 }
306
307
308
309
zx_DEC_ATTR_xa_Environment(struct zx_ctx * c,struct zx_xa_Environment_s * x)310 int zx_DEC_ATTR_xa_Environment(struct zx_ctx* c, struct zx_xa_Environment_s* x)
311 {
312 switch (x->gg.attr->g.tok) {
313
314 default: return 0;
315 }
316 }
317
zx_DEC_ELEM_xa_Environment(struct zx_ctx * c,struct zx_xa_Environment_s * x)318 int zx_DEC_ELEM_xa_Environment(struct zx_ctx* c, struct zx_xa_Environment_s* x)
319 {
320 struct zx_elem_s* el = x->gg.kids;
321 switch (el->g.tok) {
322 case zx_xa_EnvironmentMatch_ELEM:
323 if (!x->EnvironmentMatch)
324 x->EnvironmentMatch = (struct zx_xa_EnvironmentMatch_s*)el;
325 return 1;
326
327 default: return 0;
328 }
329 }
330
331
332
333
zx_DEC_ATTR_xa_EnvironmentAttributeDesignator(struct zx_ctx * c,struct zx_xa_EnvironmentAttributeDesignator_s * x)334 int zx_DEC_ATTR_xa_EnvironmentAttributeDesignator(struct zx_ctx* c, struct zx_xa_EnvironmentAttributeDesignator_s* x)
335 {
336 switch (x->gg.attr->g.tok) {
337 case zx_AttributeId_ATTR: x->AttributeId = x->gg.attr; return 1;
338 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
339 case zx_Issuer_ATTR: x->Issuer = x->gg.attr; return 1;
340 case zx_MustBePresent_ATTR: x->MustBePresent = x->gg.attr; return 1;
341
342 default: return 0;
343 }
344 }
345
zx_DEC_ELEM_xa_EnvironmentAttributeDesignator(struct zx_ctx * c,struct zx_xa_EnvironmentAttributeDesignator_s * x)346 int zx_DEC_ELEM_xa_EnvironmentAttributeDesignator(struct zx_ctx* c, struct zx_xa_EnvironmentAttributeDesignator_s* x)
347 {
348 struct zx_elem_s* el = x->gg.kids;
349 switch (el->g.tok) {
350
351 default: return 0;
352 }
353 }
354
355
356
357
zx_DEC_ATTR_xa_EnvironmentMatch(struct zx_ctx * c,struct zx_xa_EnvironmentMatch_s * x)358 int zx_DEC_ATTR_xa_EnvironmentMatch(struct zx_ctx* c, struct zx_xa_EnvironmentMatch_s* x)
359 {
360 switch (x->gg.attr->g.tok) {
361 case zx_MatchId_ATTR: x->MatchId = x->gg.attr; return 1;
362
363 default: return 0;
364 }
365 }
366
zx_DEC_ELEM_xa_EnvironmentMatch(struct zx_ctx * c,struct zx_xa_EnvironmentMatch_s * x)367 int zx_DEC_ELEM_xa_EnvironmentMatch(struct zx_ctx* c, struct zx_xa_EnvironmentMatch_s* x)
368 {
369 struct zx_elem_s* el = x->gg.kids;
370 switch (el->g.tok) {
371 case zx_xa_AttributeValue_ELEM:
372 if (!x->AttributeValue)
373 x->AttributeValue = (struct zx_xa_AttributeValue_s*)el;
374 return 1;
375 case zx_xa_EnvironmentAttributeDesignator_ELEM:
376 if (!x->EnvironmentAttributeDesignator)
377 x->EnvironmentAttributeDesignator = (struct zx_xa_EnvironmentAttributeDesignator_s*)el;
378 return 1;
379 case zx_xa_AttributeSelector_ELEM:
380 if (!x->AttributeSelector)
381 x->AttributeSelector = (struct zx_xa_AttributeSelector_s*)el;
382 return 1;
383
384 default: return 0;
385 }
386 }
387
388
389
390
zx_DEC_ATTR_xa_Environments(struct zx_ctx * c,struct zx_xa_Environments_s * x)391 int zx_DEC_ATTR_xa_Environments(struct zx_ctx* c, struct zx_xa_Environments_s* x)
392 {
393 switch (x->gg.attr->g.tok) {
394
395 default: return 0;
396 }
397 }
398
zx_DEC_ELEM_xa_Environments(struct zx_ctx * c,struct zx_xa_Environments_s * x)399 int zx_DEC_ELEM_xa_Environments(struct zx_ctx* c, struct zx_xa_Environments_s* x)
400 {
401 struct zx_elem_s* el = x->gg.kids;
402 switch (el->g.tok) {
403 case zx_xa_Environment_ELEM:
404 if (!x->Environment)
405 x->Environment = (struct zx_xa_Environment_s*)el;
406 return 1;
407
408 default: return 0;
409 }
410 }
411
412
413
414
zx_DEC_ATTR_xa_Function(struct zx_ctx * c,struct zx_xa_Function_s * x)415 int zx_DEC_ATTR_xa_Function(struct zx_ctx* c, struct zx_xa_Function_s* x)
416 {
417 switch (x->gg.attr->g.tok) {
418 case zx_FunctionId_ATTR: x->FunctionId = x->gg.attr; return 1;
419
420 default: return 0;
421 }
422 }
423
zx_DEC_ELEM_xa_Function(struct zx_ctx * c,struct zx_xa_Function_s * x)424 int zx_DEC_ELEM_xa_Function(struct zx_ctx* c, struct zx_xa_Function_s* x)
425 {
426 struct zx_elem_s* el = x->gg.kids;
427 switch (el->g.tok) {
428
429 default: return 0;
430 }
431 }
432
433
434
435
zx_DEC_ATTR_xa_Obligation(struct zx_ctx * c,struct zx_xa_Obligation_s * x)436 int zx_DEC_ATTR_xa_Obligation(struct zx_ctx* c, struct zx_xa_Obligation_s* x)
437 {
438 switch (x->gg.attr->g.tok) {
439 case zx_FulfillOn_ATTR: x->FulfillOn = x->gg.attr; return 1;
440 case zx_ObligationId_ATTR: x->ObligationId = x->gg.attr; return 1;
441
442 default: return 0;
443 }
444 }
445
zx_DEC_ELEM_xa_Obligation(struct zx_ctx * c,struct zx_xa_Obligation_s * x)446 int zx_DEC_ELEM_xa_Obligation(struct zx_ctx* c, struct zx_xa_Obligation_s* x)
447 {
448 struct zx_elem_s* el = x->gg.kids;
449 switch (el->g.tok) {
450 case zx_xa_AttributeAssignment_ELEM:
451 if (!x->AttributeAssignment)
452 x->AttributeAssignment = (struct zx_xa_AttributeAssignment_s*)el;
453 return 1;
454
455 default: return 0;
456 }
457 }
458
459
460
461
zx_DEC_ATTR_xa_Obligations(struct zx_ctx * c,struct zx_xa_Obligations_s * x)462 int zx_DEC_ATTR_xa_Obligations(struct zx_ctx* c, struct zx_xa_Obligations_s* x)
463 {
464 switch (x->gg.attr->g.tok) {
465
466 default: return 0;
467 }
468 }
469
zx_DEC_ELEM_xa_Obligations(struct zx_ctx * c,struct zx_xa_Obligations_s * x)470 int zx_DEC_ELEM_xa_Obligations(struct zx_ctx* c, struct zx_xa_Obligations_s* x)
471 {
472 struct zx_elem_s* el = x->gg.kids;
473 switch (el->g.tok) {
474 case zx_xa_Obligation_ELEM:
475 if (!x->Obligation)
476 x->Obligation = (struct zx_xa_Obligation_s*)el;
477 return 1;
478
479 default: return 0;
480 }
481 }
482
483
484
485
zx_DEC_ATTR_xa_Policy(struct zx_ctx * c,struct zx_xa_Policy_s * x)486 int zx_DEC_ATTR_xa_Policy(struct zx_ctx* c, struct zx_xa_Policy_s* x)
487 {
488 switch (x->gg.attr->g.tok) {
489 case zx_PolicyId_ATTR: x->PolicyId = x->gg.attr; return 1;
490 case zx_RuleCombiningAlgId_ATTR: x->RuleCombiningAlgId = x->gg.attr; return 1;
491 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
492
493 default: return 0;
494 }
495 }
496
zx_DEC_ELEM_xa_Policy(struct zx_ctx * c,struct zx_xa_Policy_s * x)497 int zx_DEC_ELEM_xa_Policy(struct zx_ctx* c, struct zx_xa_Policy_s* x)
498 {
499 struct zx_elem_s* el = x->gg.kids;
500 switch (el->g.tok) {
501 case zx_xa_Description_ELEM:
502 if (!x->Description)
503 x->Description = el;
504 return 1;
505 case zx_xa_PolicyDefaults_ELEM:
506 if (!x->PolicyDefaults)
507 x->PolicyDefaults = (struct zx_xa_PolicyDefaults_s*)el;
508 return 1;
509 case zx_xa_Target_ELEM:
510 if (!x->Target)
511 x->Target = (struct zx_xa_Target_s*)el;
512 return 1;
513 case zx_xa_CombinerParameters_ELEM:
514 if (!x->CombinerParameters)
515 x->CombinerParameters = (struct zx_xa_CombinerParameters_s*)el;
516 return 1;
517 case zx_xa_RuleCombinerParameters_ELEM:
518 if (!x->RuleCombinerParameters)
519 x->RuleCombinerParameters = (struct zx_xa_RuleCombinerParameters_s*)el;
520 return 1;
521 case zx_xa_VariableDefinition_ELEM:
522 if (!x->VariableDefinition)
523 x->VariableDefinition = (struct zx_xa_VariableDefinition_s*)el;
524 return 1;
525 case zx_xa_Rule_ELEM:
526 if (!x->Rule)
527 x->Rule = (struct zx_xa_Rule_s*)el;
528 return 1;
529 case zx_xa_Obligations_ELEM:
530 if (!x->Obligations)
531 x->Obligations = (struct zx_xa_Obligations_s*)el;
532 return 1;
533
534 default: return 0;
535 }
536 }
537
538
539
540
zx_DEC_ATTR_xa_PolicyCombinerParameters(struct zx_ctx * c,struct zx_xa_PolicyCombinerParameters_s * x)541 int zx_DEC_ATTR_xa_PolicyCombinerParameters(struct zx_ctx* c, struct zx_xa_PolicyCombinerParameters_s* x)
542 {
543 switch (x->gg.attr->g.tok) {
544 case zx_PolicyIdRef_ATTR: x->PolicyIdRef = x->gg.attr; return 1;
545
546 default: return 0;
547 }
548 }
549
zx_DEC_ELEM_xa_PolicyCombinerParameters(struct zx_ctx * c,struct zx_xa_PolicyCombinerParameters_s * x)550 int zx_DEC_ELEM_xa_PolicyCombinerParameters(struct zx_ctx* c, struct zx_xa_PolicyCombinerParameters_s* x)
551 {
552 struct zx_elem_s* el = x->gg.kids;
553 switch (el->g.tok) {
554 case zx_xa_CombinerParameter_ELEM:
555 if (!x->CombinerParameter)
556 x->CombinerParameter = (struct zx_xa_CombinerParameter_s*)el;
557 return 1;
558
559 default: return 0;
560 }
561 }
562
563
564
565
zx_DEC_ATTR_xa_PolicyDefaults(struct zx_ctx * c,struct zx_xa_PolicyDefaults_s * x)566 int zx_DEC_ATTR_xa_PolicyDefaults(struct zx_ctx* c, struct zx_xa_PolicyDefaults_s* x)
567 {
568 switch (x->gg.attr->g.tok) {
569
570 default: return 0;
571 }
572 }
573
zx_DEC_ELEM_xa_PolicyDefaults(struct zx_ctx * c,struct zx_xa_PolicyDefaults_s * x)574 int zx_DEC_ELEM_xa_PolicyDefaults(struct zx_ctx* c, struct zx_xa_PolicyDefaults_s* x)
575 {
576 struct zx_elem_s* el = x->gg.kids;
577 switch (el->g.tok) {
578 case zx_xa_XPathVersion_ELEM:
579 if (!x->XPathVersion)
580 x->XPathVersion = el;
581 return 1;
582
583 default: return 0;
584 }
585 }
586
587
588
589
zx_DEC_ATTR_xa_PolicyIdReference(struct zx_ctx * c,struct zx_xa_PolicyIdReference_s * x)590 int zx_DEC_ATTR_xa_PolicyIdReference(struct zx_ctx* c, struct zx_xa_PolicyIdReference_s* x)
591 {
592 switch (x->gg.attr->g.tok) {
593 case zx_EarliestVersion_ATTR: x->EarliestVersion = x->gg.attr; return 1;
594 case zx_LatestVersion_ATTR: x->LatestVersion = x->gg.attr; return 1;
595 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
596
597 default: return 0;
598 }
599 }
600
zx_DEC_ELEM_xa_PolicyIdReference(struct zx_ctx * c,struct zx_xa_PolicyIdReference_s * x)601 int zx_DEC_ELEM_xa_PolicyIdReference(struct zx_ctx* c, struct zx_xa_PolicyIdReference_s* x)
602 {
603 struct zx_elem_s* el = x->gg.kids;
604 switch (el->g.tok) {
605
606 default: return 0;
607 }
608 }
609
610
611
612
zx_DEC_ATTR_xa_PolicySet(struct zx_ctx * c,struct zx_xa_PolicySet_s * x)613 int zx_DEC_ATTR_xa_PolicySet(struct zx_ctx* c, struct zx_xa_PolicySet_s* x)
614 {
615 switch (x->gg.attr->g.tok) {
616 case zx_PolicyCombiningAlgId_ATTR: x->PolicyCombiningAlgId = x->gg.attr; return 1;
617 case zx_PolicySetId_ATTR: x->PolicySetId = x->gg.attr; return 1;
618 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
619
620 default: return 0;
621 }
622 }
623
zx_DEC_ELEM_xa_PolicySet(struct zx_ctx * c,struct zx_xa_PolicySet_s * x)624 int zx_DEC_ELEM_xa_PolicySet(struct zx_ctx* c, struct zx_xa_PolicySet_s* x)
625 {
626 struct zx_elem_s* el = x->gg.kids;
627 switch (el->g.tok) {
628 case zx_xa_Description_ELEM:
629 if (!x->Description)
630 x->Description = el;
631 return 1;
632 case zx_xa_PolicySetDefaults_ELEM:
633 if (!x->PolicySetDefaults)
634 x->PolicySetDefaults = (struct zx_xa_PolicySetDefaults_s*)el;
635 return 1;
636 case zx_xa_Target_ELEM:
637 if (!x->Target)
638 x->Target = (struct zx_xa_Target_s*)el;
639 return 1;
640 case zx_xa_PolicySet_ELEM:
641 if (!x->PolicySet)
642 x->PolicySet = (struct zx_xa_PolicySet_s*)el;
643 return 1;
644 case zx_xa_Policy_ELEM:
645 if (!x->Policy)
646 x->Policy = (struct zx_xa_Policy_s*)el;
647 return 1;
648 case zx_xa_PolicySetIdReference_ELEM:
649 if (!x->PolicySetIdReference)
650 x->PolicySetIdReference = (struct zx_xa_PolicySetIdReference_s*)el;
651 return 1;
652 case zx_xa_PolicyIdReference_ELEM:
653 if (!x->PolicyIdReference)
654 x->PolicyIdReference = (struct zx_xa_PolicyIdReference_s*)el;
655 return 1;
656 case zx_xa_CombinerParameters_ELEM:
657 if (!x->CombinerParameters)
658 x->CombinerParameters = (struct zx_xa_CombinerParameters_s*)el;
659 return 1;
660 case zx_xa_PolicyCombinerParameters_ELEM:
661 if (!x->PolicyCombinerParameters)
662 x->PolicyCombinerParameters = (struct zx_xa_PolicyCombinerParameters_s*)el;
663 return 1;
664 case zx_xa_PolicySetCombinerParameters_ELEM:
665 if (!x->PolicySetCombinerParameters)
666 x->PolicySetCombinerParameters = (struct zx_xa_PolicySetCombinerParameters_s*)el;
667 return 1;
668 case zx_xa_Obligations_ELEM:
669 if (!x->Obligations)
670 x->Obligations = (struct zx_xa_Obligations_s*)el;
671 return 1;
672
673 default: return 0;
674 }
675 }
676
677
678
679
zx_DEC_ATTR_xa_PolicySetCombinerParameters(struct zx_ctx * c,struct zx_xa_PolicySetCombinerParameters_s * x)680 int zx_DEC_ATTR_xa_PolicySetCombinerParameters(struct zx_ctx* c, struct zx_xa_PolicySetCombinerParameters_s* x)
681 {
682 switch (x->gg.attr->g.tok) {
683 case zx_PolicySetIdRef_ATTR: x->PolicySetIdRef = x->gg.attr; return 1;
684
685 default: return 0;
686 }
687 }
688
zx_DEC_ELEM_xa_PolicySetCombinerParameters(struct zx_ctx * c,struct zx_xa_PolicySetCombinerParameters_s * x)689 int zx_DEC_ELEM_xa_PolicySetCombinerParameters(struct zx_ctx* c, struct zx_xa_PolicySetCombinerParameters_s* x)
690 {
691 struct zx_elem_s* el = x->gg.kids;
692 switch (el->g.tok) {
693 case zx_xa_CombinerParameter_ELEM:
694 if (!x->CombinerParameter)
695 x->CombinerParameter = (struct zx_xa_CombinerParameter_s*)el;
696 return 1;
697
698 default: return 0;
699 }
700 }
701
702
703
704
zx_DEC_ATTR_xa_PolicySetDefaults(struct zx_ctx * c,struct zx_xa_PolicySetDefaults_s * x)705 int zx_DEC_ATTR_xa_PolicySetDefaults(struct zx_ctx* c, struct zx_xa_PolicySetDefaults_s* x)
706 {
707 switch (x->gg.attr->g.tok) {
708
709 default: return 0;
710 }
711 }
712
zx_DEC_ELEM_xa_PolicySetDefaults(struct zx_ctx * c,struct zx_xa_PolicySetDefaults_s * x)713 int zx_DEC_ELEM_xa_PolicySetDefaults(struct zx_ctx* c, struct zx_xa_PolicySetDefaults_s* x)
714 {
715 struct zx_elem_s* el = x->gg.kids;
716 switch (el->g.tok) {
717 case zx_xa_XPathVersion_ELEM:
718 if (!x->XPathVersion)
719 x->XPathVersion = el;
720 return 1;
721
722 default: return 0;
723 }
724 }
725
726
727
728
zx_DEC_ATTR_xa_PolicySetIdReference(struct zx_ctx * c,struct zx_xa_PolicySetIdReference_s * x)729 int zx_DEC_ATTR_xa_PolicySetIdReference(struct zx_ctx* c, struct zx_xa_PolicySetIdReference_s* x)
730 {
731 switch (x->gg.attr->g.tok) {
732 case zx_EarliestVersion_ATTR: x->EarliestVersion = x->gg.attr; return 1;
733 case zx_LatestVersion_ATTR: x->LatestVersion = x->gg.attr; return 1;
734 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
735
736 default: return 0;
737 }
738 }
739
zx_DEC_ELEM_xa_PolicySetIdReference(struct zx_ctx * c,struct zx_xa_PolicySetIdReference_s * x)740 int zx_DEC_ELEM_xa_PolicySetIdReference(struct zx_ctx* c, struct zx_xa_PolicySetIdReference_s* x)
741 {
742 struct zx_elem_s* el = x->gg.kids;
743 switch (el->g.tok) {
744
745 default: return 0;
746 }
747 }
748
749
750
751
zx_DEC_ATTR_xa_Resource(struct zx_ctx * c,struct zx_xa_Resource_s * x)752 int zx_DEC_ATTR_xa_Resource(struct zx_ctx* c, struct zx_xa_Resource_s* x)
753 {
754 switch (x->gg.attr->g.tok) {
755
756 default: return 0;
757 }
758 }
759
zx_DEC_ELEM_xa_Resource(struct zx_ctx * c,struct zx_xa_Resource_s * x)760 int zx_DEC_ELEM_xa_Resource(struct zx_ctx* c, struct zx_xa_Resource_s* x)
761 {
762 struct zx_elem_s* el = x->gg.kids;
763 switch (el->g.tok) {
764 case zx_xa_ResourceMatch_ELEM:
765 if (!x->ResourceMatch)
766 x->ResourceMatch = (struct zx_xa_ResourceMatch_s*)el;
767 return 1;
768
769 default: return 0;
770 }
771 }
772
773
774
775
zx_DEC_ATTR_xa_ResourceAttributeDesignator(struct zx_ctx * c,struct zx_xa_ResourceAttributeDesignator_s * x)776 int zx_DEC_ATTR_xa_ResourceAttributeDesignator(struct zx_ctx* c, struct zx_xa_ResourceAttributeDesignator_s* x)
777 {
778 switch (x->gg.attr->g.tok) {
779 case zx_AttributeId_ATTR: x->AttributeId = x->gg.attr; return 1;
780 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
781 case zx_Issuer_ATTR: x->Issuer = x->gg.attr; return 1;
782 case zx_MustBePresent_ATTR: x->MustBePresent = x->gg.attr; return 1;
783
784 default: return 0;
785 }
786 }
787
zx_DEC_ELEM_xa_ResourceAttributeDesignator(struct zx_ctx * c,struct zx_xa_ResourceAttributeDesignator_s * x)788 int zx_DEC_ELEM_xa_ResourceAttributeDesignator(struct zx_ctx* c, struct zx_xa_ResourceAttributeDesignator_s* x)
789 {
790 struct zx_elem_s* el = x->gg.kids;
791 switch (el->g.tok) {
792
793 default: return 0;
794 }
795 }
796
797
798
799
zx_DEC_ATTR_xa_ResourceMatch(struct zx_ctx * c,struct zx_xa_ResourceMatch_s * x)800 int zx_DEC_ATTR_xa_ResourceMatch(struct zx_ctx* c, struct zx_xa_ResourceMatch_s* x)
801 {
802 switch (x->gg.attr->g.tok) {
803 case zx_MatchId_ATTR: x->MatchId = x->gg.attr; return 1;
804
805 default: return 0;
806 }
807 }
808
zx_DEC_ELEM_xa_ResourceMatch(struct zx_ctx * c,struct zx_xa_ResourceMatch_s * x)809 int zx_DEC_ELEM_xa_ResourceMatch(struct zx_ctx* c, struct zx_xa_ResourceMatch_s* x)
810 {
811 struct zx_elem_s* el = x->gg.kids;
812 switch (el->g.tok) {
813 case zx_xa_AttributeValue_ELEM:
814 if (!x->AttributeValue)
815 x->AttributeValue = (struct zx_xa_AttributeValue_s*)el;
816 return 1;
817 case zx_xa_ResourceAttributeDesignator_ELEM:
818 if (!x->ResourceAttributeDesignator)
819 x->ResourceAttributeDesignator = (struct zx_xa_ResourceAttributeDesignator_s*)el;
820 return 1;
821 case zx_xa_AttributeSelector_ELEM:
822 if (!x->AttributeSelector)
823 x->AttributeSelector = (struct zx_xa_AttributeSelector_s*)el;
824 return 1;
825
826 default: return 0;
827 }
828 }
829
830
831
832
zx_DEC_ATTR_xa_Resources(struct zx_ctx * c,struct zx_xa_Resources_s * x)833 int zx_DEC_ATTR_xa_Resources(struct zx_ctx* c, struct zx_xa_Resources_s* x)
834 {
835 switch (x->gg.attr->g.tok) {
836
837 default: return 0;
838 }
839 }
840
zx_DEC_ELEM_xa_Resources(struct zx_ctx * c,struct zx_xa_Resources_s * x)841 int zx_DEC_ELEM_xa_Resources(struct zx_ctx* c, struct zx_xa_Resources_s* x)
842 {
843 struct zx_elem_s* el = x->gg.kids;
844 switch (el->g.tok) {
845 case zx_xa_Resource_ELEM:
846 if (!x->Resource)
847 x->Resource = (struct zx_xa_Resource_s*)el;
848 return 1;
849
850 default: return 0;
851 }
852 }
853
854
855
856
zx_DEC_ATTR_xa_Rule(struct zx_ctx * c,struct zx_xa_Rule_s * x)857 int zx_DEC_ATTR_xa_Rule(struct zx_ctx* c, struct zx_xa_Rule_s* x)
858 {
859 switch (x->gg.attr->g.tok) {
860 case zx_Effect_ATTR: x->Effect = x->gg.attr; return 1;
861 case zx_RuleId_ATTR: x->RuleId = x->gg.attr; return 1;
862
863 default: return 0;
864 }
865 }
866
zx_DEC_ELEM_xa_Rule(struct zx_ctx * c,struct zx_xa_Rule_s * x)867 int zx_DEC_ELEM_xa_Rule(struct zx_ctx* c, struct zx_xa_Rule_s* x)
868 {
869 struct zx_elem_s* el = x->gg.kids;
870 switch (el->g.tok) {
871 case zx_xa_Description_ELEM:
872 if (!x->Description)
873 x->Description = el;
874 return 1;
875 case zx_xa_Target_ELEM:
876 if (!x->Target)
877 x->Target = (struct zx_xa_Target_s*)el;
878 return 1;
879 case zx_xa_Condition_ELEM:
880 if (!x->Condition)
881 x->Condition = (struct zx_xa_Condition_s*)el;
882 return 1;
883
884 default: return 0;
885 }
886 }
887
888
889
890
zx_DEC_ATTR_xa_RuleCombinerParameters(struct zx_ctx * c,struct zx_xa_RuleCombinerParameters_s * x)891 int zx_DEC_ATTR_xa_RuleCombinerParameters(struct zx_ctx* c, struct zx_xa_RuleCombinerParameters_s* x)
892 {
893 switch (x->gg.attr->g.tok) {
894 case zx_RuleIdRef_ATTR: x->RuleIdRef = x->gg.attr; return 1;
895
896 default: return 0;
897 }
898 }
899
zx_DEC_ELEM_xa_RuleCombinerParameters(struct zx_ctx * c,struct zx_xa_RuleCombinerParameters_s * x)900 int zx_DEC_ELEM_xa_RuleCombinerParameters(struct zx_ctx* c, struct zx_xa_RuleCombinerParameters_s* x)
901 {
902 struct zx_elem_s* el = x->gg.kids;
903 switch (el->g.tok) {
904 case zx_xa_CombinerParameter_ELEM:
905 if (!x->CombinerParameter)
906 x->CombinerParameter = (struct zx_xa_CombinerParameter_s*)el;
907 return 1;
908
909 default: return 0;
910 }
911 }
912
913
914
915
zx_DEC_ATTR_xa_Subject(struct zx_ctx * c,struct zx_xa_Subject_s * x)916 int zx_DEC_ATTR_xa_Subject(struct zx_ctx* c, struct zx_xa_Subject_s* x)
917 {
918 switch (x->gg.attr->g.tok) {
919
920 default: return 0;
921 }
922 }
923
zx_DEC_ELEM_xa_Subject(struct zx_ctx * c,struct zx_xa_Subject_s * x)924 int zx_DEC_ELEM_xa_Subject(struct zx_ctx* c, struct zx_xa_Subject_s* x)
925 {
926 struct zx_elem_s* el = x->gg.kids;
927 switch (el->g.tok) {
928 case zx_xa_SubjectMatch_ELEM:
929 if (!x->SubjectMatch)
930 x->SubjectMatch = (struct zx_xa_SubjectMatch_s*)el;
931 return 1;
932
933 default: return 0;
934 }
935 }
936
937
938
939
zx_DEC_ATTR_xa_SubjectAttributeDesignator(struct zx_ctx * c,struct zx_xa_SubjectAttributeDesignator_s * x)940 int zx_DEC_ATTR_xa_SubjectAttributeDesignator(struct zx_ctx* c, struct zx_xa_SubjectAttributeDesignator_s* x)
941 {
942 switch (x->gg.attr->g.tok) {
943 case zx_AttributeId_ATTR: x->AttributeId = x->gg.attr; return 1;
944 case zx_DataType_ATTR: x->DataType = x->gg.attr; return 1;
945 case zx_Issuer_ATTR: x->Issuer = x->gg.attr; return 1;
946 case zx_MustBePresent_ATTR: x->MustBePresent = x->gg.attr; return 1;
947 case zx_SubjectCategory_ATTR: x->SubjectCategory = x->gg.attr; return 1;
948
949 default: return 0;
950 }
951 }
952
zx_DEC_ELEM_xa_SubjectAttributeDesignator(struct zx_ctx * c,struct zx_xa_SubjectAttributeDesignator_s * x)953 int zx_DEC_ELEM_xa_SubjectAttributeDesignator(struct zx_ctx* c, struct zx_xa_SubjectAttributeDesignator_s* x)
954 {
955 struct zx_elem_s* el = x->gg.kids;
956 switch (el->g.tok) {
957
958 default: return 0;
959 }
960 }
961
962
963
964
zx_DEC_ATTR_xa_SubjectMatch(struct zx_ctx * c,struct zx_xa_SubjectMatch_s * x)965 int zx_DEC_ATTR_xa_SubjectMatch(struct zx_ctx* c, struct zx_xa_SubjectMatch_s* x)
966 {
967 switch (x->gg.attr->g.tok) {
968 case zx_MatchId_ATTR: x->MatchId = x->gg.attr; return 1;
969
970 default: return 0;
971 }
972 }
973
zx_DEC_ELEM_xa_SubjectMatch(struct zx_ctx * c,struct zx_xa_SubjectMatch_s * x)974 int zx_DEC_ELEM_xa_SubjectMatch(struct zx_ctx* c, struct zx_xa_SubjectMatch_s* x)
975 {
976 struct zx_elem_s* el = x->gg.kids;
977 switch (el->g.tok) {
978 case zx_xa_AttributeValue_ELEM:
979 if (!x->AttributeValue)
980 x->AttributeValue = (struct zx_xa_AttributeValue_s*)el;
981 return 1;
982 case zx_xa_SubjectAttributeDesignator_ELEM:
983 if (!x->SubjectAttributeDesignator)
984 x->SubjectAttributeDesignator = (struct zx_xa_SubjectAttributeDesignator_s*)el;
985 return 1;
986 case zx_xa_AttributeSelector_ELEM:
987 if (!x->AttributeSelector)
988 x->AttributeSelector = (struct zx_xa_AttributeSelector_s*)el;
989 return 1;
990
991 default: return 0;
992 }
993 }
994
995
996
997
zx_DEC_ATTR_xa_Subjects(struct zx_ctx * c,struct zx_xa_Subjects_s * x)998 int zx_DEC_ATTR_xa_Subjects(struct zx_ctx* c, struct zx_xa_Subjects_s* x)
999 {
1000 switch (x->gg.attr->g.tok) {
1001
1002 default: return 0;
1003 }
1004 }
1005
zx_DEC_ELEM_xa_Subjects(struct zx_ctx * c,struct zx_xa_Subjects_s * x)1006 int zx_DEC_ELEM_xa_Subjects(struct zx_ctx* c, struct zx_xa_Subjects_s* x)
1007 {
1008 struct zx_elem_s* el = x->gg.kids;
1009 switch (el->g.tok) {
1010 case zx_xa_Subject_ELEM:
1011 if (!x->Subject)
1012 x->Subject = (struct zx_xa_Subject_s*)el;
1013 return 1;
1014
1015 default: return 0;
1016 }
1017 }
1018
1019
1020
1021
zx_DEC_ATTR_xa_Target(struct zx_ctx * c,struct zx_xa_Target_s * x)1022 int zx_DEC_ATTR_xa_Target(struct zx_ctx* c, struct zx_xa_Target_s* x)
1023 {
1024 switch (x->gg.attr->g.tok) {
1025
1026 default: return 0;
1027 }
1028 }
1029
zx_DEC_ELEM_xa_Target(struct zx_ctx * c,struct zx_xa_Target_s * x)1030 int zx_DEC_ELEM_xa_Target(struct zx_ctx* c, struct zx_xa_Target_s* x)
1031 {
1032 struct zx_elem_s* el = x->gg.kids;
1033 switch (el->g.tok) {
1034 case zx_xa_Subjects_ELEM:
1035 if (!x->Subjects)
1036 x->Subjects = (struct zx_xa_Subjects_s*)el;
1037 return 1;
1038 case zx_xa_Resources_ELEM:
1039 if (!x->Resources)
1040 x->Resources = (struct zx_xa_Resources_s*)el;
1041 return 1;
1042 case zx_xa_Actions_ELEM:
1043 if (!x->Actions)
1044 x->Actions = (struct zx_xa_Actions_s*)el;
1045 return 1;
1046 case zx_xa_Environments_ELEM:
1047 if (!x->Environments)
1048 x->Environments = (struct zx_xa_Environments_s*)el;
1049 return 1;
1050
1051 default: return 0;
1052 }
1053 }
1054
1055
1056
1057
zx_DEC_ATTR_xa_VariableDefinition(struct zx_ctx * c,struct zx_xa_VariableDefinition_s * x)1058 int zx_DEC_ATTR_xa_VariableDefinition(struct zx_ctx* c, struct zx_xa_VariableDefinition_s* x)
1059 {
1060 switch (x->gg.attr->g.tok) {
1061 case zx_VariableId_ATTR: x->VariableId = x->gg.attr; return 1;
1062
1063 default: return 0;
1064 }
1065 }
1066
zx_DEC_ELEM_xa_VariableDefinition(struct zx_ctx * c,struct zx_xa_VariableDefinition_s * x)1067 int zx_DEC_ELEM_xa_VariableDefinition(struct zx_ctx* c, struct zx_xa_VariableDefinition_s* x)
1068 {
1069 struct zx_elem_s* el = x->gg.kids;
1070 switch (el->g.tok) {
1071 case zx_xa_Expression_ELEM:
1072 if (!x->Expression)
1073 x->Expression = el;
1074 return 1;
1075
1076 default: return 0;
1077 }
1078 }
1079
1080
1081
1082
zx_DEC_ATTR_xa_VariableReference(struct zx_ctx * c,struct zx_xa_VariableReference_s * x)1083 int zx_DEC_ATTR_xa_VariableReference(struct zx_ctx* c, struct zx_xa_VariableReference_s* x)
1084 {
1085 switch (x->gg.attr->g.tok) {
1086 case zx_VariableId_ATTR: x->VariableId = x->gg.attr; return 1;
1087
1088 default: return 0;
1089 }
1090 }
1091
zx_DEC_ELEM_xa_VariableReference(struct zx_ctx * c,struct zx_xa_VariableReference_s * x)1092 int zx_DEC_ELEM_xa_VariableReference(struct zx_ctx* c, struct zx_xa_VariableReference_s* x)
1093 {
1094 struct zx_elem_s* el = x->gg.kids;
1095 switch (el->g.tok) {
1096
1097 default: return 0;
1098 }
1099 }
1100
1101
1102 /* EOF -- c/zx-xa-dec.c */
1103