1 /* c/zx-is12-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-is12-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38
39
40
zx_DEC_ATTR_is12_Confirm(struct zx_ctx * c,struct zx_is12_Confirm_s * x)41 int zx_DEC_ATTR_is12_Confirm(struct zx_ctx* c, struct zx_is12_Confirm_s* x)
42 {
43 switch (x->gg.attr->g.tok) {
44 case zx_name_ATTR: x->name = x->gg.attr; return 1;
45
46 default: return 0;
47 }
48 }
49
zx_DEC_ELEM_is12_Confirm(struct zx_ctx * c,struct zx_is12_Confirm_s * x)50 int zx_DEC_ELEM_is12_Confirm(struct zx_ctx* c, struct zx_is12_Confirm_s* x)
51 {
52 struct zx_elem_s* el = x->gg.kids;
53 switch (el->g.tok) {
54 case zx_is12_Help_ELEM:
55 if (!x->Help)
56 x->Help = (struct zx_is12_Help_s*)el;
57 return 1;
58 case zx_is12_Hint_ELEM:
59 if (!x->Hint)
60 x->Hint = el;
61 return 1;
62 case zx_is12_Label_ELEM:
63 if (!x->Label)
64 x->Label = el;
65 return 1;
66 case zx_is12_Value_ELEM:
67 if (!x->Value)
68 x->Value = el;
69 return 1;
70
71 default: return 0;
72 }
73 }
74
75
76
77
zx_DEC_ATTR_is12_EncryptedResourceID(struct zx_ctx * c,struct zx_is12_EncryptedResourceID_s * x)78 int zx_DEC_ATTR_is12_EncryptedResourceID(struct zx_ctx* c, struct zx_is12_EncryptedResourceID_s* x)
79 {
80 switch (x->gg.attr->g.tok) {
81
82 default: return 0;
83 }
84 }
85
zx_DEC_ELEM_is12_EncryptedResourceID(struct zx_ctx * c,struct zx_is12_EncryptedResourceID_s * x)86 int zx_DEC_ELEM_is12_EncryptedResourceID(struct zx_ctx* c, struct zx_is12_EncryptedResourceID_s* x)
87 {
88 struct zx_elem_s* el = x->gg.kids;
89 switch (el->g.tok) {
90 case zx_xenc_EncryptedData_ELEM:
91 if (!x->EncryptedData)
92 x->EncryptedData = (struct zx_xenc_EncryptedData_s*)el;
93 return 1;
94 case zx_xenc_EncryptedKey_ELEM:
95 if (!x->EncryptedKey)
96 x->EncryptedKey = (struct zx_xenc_EncryptedKey_s*)el;
97 return 1;
98
99 default: return 0;
100 }
101 }
102
103
104
105
zx_DEC_ATTR_is12_Extension(struct zx_ctx * c,struct zx_is12_Extension_s * x)106 int zx_DEC_ATTR_is12_Extension(struct zx_ctx* c, struct zx_is12_Extension_s* x)
107 {
108 switch (x->gg.attr->g.tok) {
109
110 default: return 0;
111 }
112 }
113
zx_DEC_ELEM_is12_Extension(struct zx_ctx * c,struct zx_is12_Extension_s * x)114 int zx_DEC_ELEM_is12_Extension(struct zx_ctx* c, struct zx_is12_Extension_s* x)
115 {
116 struct zx_elem_s* el = x->gg.kids;
117 switch (el->g.tok) {
118
119 default: return 0;
120 }
121 }
122
123
124
125
zx_DEC_ATTR_is12_Help(struct zx_ctx * c,struct zx_is12_Help_s * x)126 int zx_DEC_ATTR_is12_Help(struct zx_ctx* c, struct zx_is12_Help_s* x)
127 {
128 switch (x->gg.attr->g.tok) {
129 case zx_label_ATTR: x->label = x->gg.attr; return 1;
130 case zx_link_ATTR: x->link = x->gg.attr; return 1;
131 case zx_moreLink_ATTR: x->moreLink = x->gg.attr; return 1;
132
133 default: return 0;
134 }
135 }
136
zx_DEC_ELEM_is12_Help(struct zx_ctx * c,struct zx_is12_Help_s * x)137 int zx_DEC_ELEM_is12_Help(struct zx_ctx* c, struct zx_is12_Help_s* x)
138 {
139 struct zx_elem_s* el = x->gg.kids;
140 switch (el->g.tok) {
141
142 default: return 0;
143 }
144 }
145
146
147
148
zx_DEC_ATTR_is12_Inquiry(struct zx_ctx * c,struct zx_is12_Inquiry_s * x)149 int zx_DEC_ATTR_is12_Inquiry(struct zx_ctx* c, struct zx_is12_Inquiry_s* x)
150 {
151 switch (x->gg.attr->g.tok) {
152 case zx_id_ATTR: x->id = x->gg.attr; return 1;
153 case zx_title_ATTR: x->title = x->gg.attr; return 1;
154
155 default: return 0;
156 }
157 }
158
zx_DEC_ELEM_is12_Inquiry(struct zx_ctx * c,struct zx_is12_Inquiry_s * x)159 int zx_DEC_ELEM_is12_Inquiry(struct zx_ctx* c, struct zx_is12_Inquiry_s* x)
160 {
161 struct zx_elem_s* el = x->gg.kids;
162 switch (el->g.tok) {
163 case zx_is12_Help_ELEM:
164 if (!x->Help)
165 x->Help = (struct zx_is12_Help_s*)el;
166 return 1;
167 case zx_is12_Select_ELEM:
168 if (!x->Select)
169 x->Select = (struct zx_is12_Select_s*)el;
170 return 1;
171 case zx_is12_Confirm_ELEM:
172 if (!x->Confirm)
173 x->Confirm = (struct zx_is12_Confirm_s*)el;
174 return 1;
175 case zx_is12_Text_ELEM:
176 if (!x->Text)
177 x->Text = (struct zx_is12_Text_s*)el;
178 return 1;
179
180 default: return 0;
181 }
182 }
183
184
185
186
zx_DEC_ATTR_is12_InteractionRequest(struct zx_ctx * c,struct zx_is12_InteractionRequest_s * x)187 int zx_DEC_ATTR_is12_InteractionRequest(struct zx_ctx* c, struct zx_is12_InteractionRequest_s* x)
188 {
189 switch (x->gg.attr->g.tok) {
190 case zx_id_ATTR: x->id = x->gg.attr; return 1;
191 case zx_language_ATTR: x->language = x->gg.attr; return 1;
192 case zx_maxInteractTime_ATTR: x->maxInteractTime = x->gg.attr; return 1;
193 case zx_signed_ATTR: x->signed_is_c_keyword = x->gg.attr; return 1;
194
195 default: return 0;
196 }
197 }
198
zx_DEC_ELEM_is12_InteractionRequest(struct zx_ctx * c,struct zx_is12_InteractionRequest_s * x)199 int zx_DEC_ELEM_is12_InteractionRequest(struct zx_ctx* c, struct zx_is12_InteractionRequest_s* x)
200 {
201 struct zx_elem_s* el = x->gg.kids;
202 switch (el->g.tok) {
203 case zx_is12_Inquiry_ELEM:
204 if (!x->Inquiry)
205 x->Inquiry = (struct zx_is12_Inquiry_s*)el;
206 return 1;
207 case zx_ds_KeyInfo_ELEM:
208 if (!x->KeyInfo)
209 x->KeyInfo = (struct zx_ds_KeyInfo_s*)el;
210 return 1;
211
212 default: return 0;
213 }
214 }
215
216
217
218
zx_DEC_ATTR_is12_InteractionResponse(struct zx_ctx * c,struct zx_is12_InteractionResponse_s * x)219 int zx_DEC_ATTR_is12_InteractionResponse(struct zx_ctx* c, struct zx_is12_InteractionResponse_s* x)
220 {
221 switch (x->gg.attr->g.tok) {
222
223 default: return 0;
224 }
225 }
226
zx_DEC_ELEM_is12_InteractionResponse(struct zx_ctx * c,struct zx_is12_InteractionResponse_s * x)227 int zx_DEC_ELEM_is12_InteractionResponse(struct zx_ctx* c, struct zx_is12_InteractionResponse_s* x)
228 {
229 struct zx_elem_s* el = x->gg.kids;
230 switch (el->g.tok) {
231 case zx_is12_Status_ELEM:
232 if (!x->Status)
233 x->Status = (struct zx_is12_Status_s*)el;
234 return 1;
235 case zx_is12_InteractionStatement_ELEM:
236 if (!x->InteractionStatement)
237 x->InteractionStatement = (struct zx_is12_InteractionStatement_s*)el;
238 return 1;
239 case zx_is12_Parameter_ELEM:
240 if (!x->Parameter)
241 x->Parameter = (struct zx_is12_Parameter_s*)el;
242 return 1;
243
244 default: return 0;
245 }
246 }
247
248
249
250
zx_DEC_ATTR_is12_InteractionService(struct zx_ctx * c,struct zx_is12_InteractionService_s * x)251 int zx_DEC_ATTR_is12_InteractionService(struct zx_ctx* c, struct zx_is12_InteractionService_s* x)
252 {
253 switch (x->gg.attr->g.tok) {
254 case zx_entryID_ATTR: x->entryID = x->gg.attr; return 1;
255
256 default: return 0;
257 }
258 }
259
zx_DEC_ELEM_is12_InteractionService(struct zx_ctx * c,struct zx_is12_InteractionService_s * x)260 int zx_DEC_ELEM_is12_InteractionService(struct zx_ctx* c, struct zx_is12_InteractionService_s* x)
261 {
262 struct zx_elem_s* el = x->gg.kids;
263 switch (el->g.tok) {
264 case zx_di12_ResourceID_ELEM:
265 if (!x->ResourceID)
266 x->ResourceID = (struct zx_di12_ResourceID_s*)el;
267 return 1;
268 case zx_di12_EncryptedResourceID_ELEM:
269 if (!x->EncryptedResourceID)
270 x->EncryptedResourceID = (struct zx_di12_EncryptedResourceID_s*)el;
271 return 1;
272 case zx_di12_ServiceInstance_ELEM:
273 if (!x->ServiceInstance)
274 x->ServiceInstance = (struct zx_di12_ServiceInstance_s*)el;
275 return 1;
276 case zx_di12_Options_ELEM:
277 if (!x->Options)
278 x->Options = (struct zx_di12_Options_s*)el;
279 return 1;
280 case zx_di12_Abstract_ELEM:
281 if (!x->Abstract)
282 x->Abstract = el;
283 return 1;
284
285 default: return 0;
286 }
287 }
288
289
290
291
zx_DEC_ATTR_is12_InteractionStatement(struct zx_ctx * c,struct zx_is12_InteractionStatement_s * x)292 int zx_DEC_ATTR_is12_InteractionStatement(struct zx_ctx* c, struct zx_is12_InteractionStatement_s* x)
293 {
294 switch (x->gg.attr->g.tok) {
295
296 default: return 0;
297 }
298 }
299
zx_DEC_ELEM_is12_InteractionStatement(struct zx_ctx * c,struct zx_is12_InteractionStatement_s * x)300 int zx_DEC_ELEM_is12_InteractionStatement(struct zx_ctx* c, struct zx_is12_InteractionStatement_s* x)
301 {
302 struct zx_elem_s* el = x->gg.kids;
303 switch (el->g.tok) {
304 case zx_is12_Inquiry_ELEM:
305 if (!x->Inquiry)
306 x->Inquiry = (struct zx_is12_Inquiry_s*)el;
307 return 1;
308 case zx_ds_Signature_ELEM:
309 if (!x->Signature)
310 x->Signature = (struct zx_ds_Signature_s*)el;
311 return 1;
312
313 default: return 0;
314 }
315 }
316
317
318
319
zx_DEC_ATTR_is12_Item(struct zx_ctx * c,struct zx_is12_Item_s * x)320 int zx_DEC_ATTR_is12_Item(struct zx_ctx* c, struct zx_is12_Item_s* x)
321 {
322 switch (x->gg.attr->g.tok) {
323 case zx_label_ATTR: x->label = x->gg.attr; return 1;
324 case zx_value_ATTR: x->value = x->gg.attr; return 1;
325
326 default: return 0;
327 }
328 }
329
zx_DEC_ELEM_is12_Item(struct zx_ctx * c,struct zx_is12_Item_s * x)330 int zx_DEC_ELEM_is12_Item(struct zx_ctx* c, struct zx_is12_Item_s* x)
331 {
332 struct zx_elem_s* el = x->gg.kids;
333 switch (el->g.tok) {
334 case zx_is12_Hint_ELEM:
335 if (!x->Hint)
336 x->Hint = el;
337 return 1;
338
339 default: return 0;
340 }
341 }
342
343
344
345
zx_DEC_ATTR_is12_Parameter(struct zx_ctx * c,struct zx_is12_Parameter_s * x)346 int zx_DEC_ATTR_is12_Parameter(struct zx_ctx* c, struct zx_is12_Parameter_s* x)
347 {
348 switch (x->gg.attr->g.tok) {
349 case zx_name_ATTR: x->name = x->gg.attr; return 1;
350 case zx_value_ATTR: x->value = x->gg.attr; return 1;
351
352 default: return 0;
353 }
354 }
355
zx_DEC_ELEM_is12_Parameter(struct zx_ctx * c,struct zx_is12_Parameter_s * x)356 int zx_DEC_ELEM_is12_Parameter(struct zx_ctx* c, struct zx_is12_Parameter_s* x)
357 {
358 struct zx_elem_s* el = x->gg.kids;
359 switch (el->g.tok) {
360
361 default: return 0;
362 }
363 }
364
365
366
367
zx_DEC_ATTR_is12_RedirectRequest(struct zx_ctx * c,struct zx_is12_RedirectRequest_s * x)368 int zx_DEC_ATTR_is12_RedirectRequest(struct zx_ctx* c, struct zx_is12_RedirectRequest_s* x)
369 {
370 switch (x->gg.attr->g.tok) {
371 case zx_redirectURL_ATTR: x->redirectURL = x->gg.attr; return 1;
372
373 default: return 0;
374 }
375 }
376
zx_DEC_ELEM_is12_RedirectRequest(struct zx_ctx * c,struct zx_is12_RedirectRequest_s * x)377 int zx_DEC_ELEM_is12_RedirectRequest(struct zx_ctx* c, struct zx_is12_RedirectRequest_s* x)
378 {
379 struct zx_elem_s* el = x->gg.kids;
380 switch (el->g.tok) {
381
382 default: return 0;
383 }
384 }
385
386
387
388
zx_DEC_ATTR_is12_ResourceID(struct zx_ctx * c,struct zx_is12_ResourceID_s * x)389 int zx_DEC_ATTR_is12_ResourceID(struct zx_ctx* c, struct zx_is12_ResourceID_s* x)
390 {
391 switch (x->gg.attr->g.tok) {
392 case zx_id_ATTR: x->id = x->gg.attr; return 1;
393
394 default: return 0;
395 }
396 }
397
zx_DEC_ELEM_is12_ResourceID(struct zx_ctx * c,struct zx_is12_ResourceID_s * x)398 int zx_DEC_ELEM_is12_ResourceID(struct zx_ctx* c, struct zx_is12_ResourceID_s* x)
399 {
400 struct zx_elem_s* el = x->gg.kids;
401 switch (el->g.tok) {
402
403 default: return 0;
404 }
405 }
406
407
408
409
zx_DEC_ATTR_is12_Select(struct zx_ctx * c,struct zx_is12_Select_s * x)410 int zx_DEC_ATTR_is12_Select(struct zx_ctx* c, struct zx_is12_Select_s* x)
411 {
412 switch (x->gg.attr->g.tok) {
413 case zx_multiple_ATTR: x->multiple = x->gg.attr; return 1;
414 case zx_name_ATTR: x->name = x->gg.attr; return 1;
415
416 default: return 0;
417 }
418 }
419
zx_DEC_ELEM_is12_Select(struct zx_ctx * c,struct zx_is12_Select_s * x)420 int zx_DEC_ELEM_is12_Select(struct zx_ctx* c, struct zx_is12_Select_s* x)
421 {
422 struct zx_elem_s* el = x->gg.kids;
423 switch (el->g.tok) {
424 case zx_is12_Help_ELEM:
425 if (!x->Help)
426 x->Help = (struct zx_is12_Help_s*)el;
427 return 1;
428 case zx_is12_Hint_ELEM:
429 if (!x->Hint)
430 x->Hint = el;
431 return 1;
432 case zx_is12_Label_ELEM:
433 if (!x->Label)
434 x->Label = el;
435 return 1;
436 case zx_is12_Value_ELEM:
437 if (!x->Value)
438 x->Value = el;
439 return 1;
440 case zx_is12_Item_ELEM:
441 if (!x->Item)
442 x->Item = (struct zx_is12_Item_s*)el;
443 return 1;
444
445 default: return 0;
446 }
447 }
448
449
450
451
zx_DEC_ATTR_is12_Status(struct zx_ctx * c,struct zx_is12_Status_s * x)452 int zx_DEC_ATTR_is12_Status(struct zx_ctx* c, struct zx_is12_Status_s* x)
453 {
454 switch (x->gg.attr->g.tok) {
455 case zx_code_ATTR: x->code = x->gg.attr; return 1;
456 case zx_comment_ATTR: x->comment = x->gg.attr; return 1;
457 case zx_ref_ATTR: x->ref = x->gg.attr; return 1;
458
459 default: return 0;
460 }
461 }
462
zx_DEC_ELEM_is12_Status(struct zx_ctx * c,struct zx_is12_Status_s * x)463 int zx_DEC_ELEM_is12_Status(struct zx_ctx* c, struct zx_is12_Status_s* x)
464 {
465 struct zx_elem_s* el = x->gg.kids;
466 switch (el->g.tok) {
467 case zx_is12_Status_ELEM:
468 if (!x->Status)
469 x->Status = (struct zx_is12_Status_s*)el;
470 return 1;
471
472 default: return 0;
473 }
474 }
475
476
477
478
zx_DEC_ATTR_is12_Text(struct zx_ctx * c,struct zx_is12_Text_s * x)479 int zx_DEC_ATTR_is12_Text(struct zx_ctx* c, struct zx_is12_Text_s* x)
480 {
481 switch (x->gg.attr->g.tok) {
482 case zx_format_ATTR: x->format = x->gg.attr; return 1;
483 case zx_maxChars_ATTR: x->maxChars = x->gg.attr; return 1;
484 case zx_minChars_ATTR: x->minChars = x->gg.attr; return 1;
485 case zx_name_ATTR: x->name = x->gg.attr; return 1;
486
487 default: return 0;
488 }
489 }
490
zx_DEC_ELEM_is12_Text(struct zx_ctx * c,struct zx_is12_Text_s * x)491 int zx_DEC_ELEM_is12_Text(struct zx_ctx* c, struct zx_is12_Text_s* x)
492 {
493 struct zx_elem_s* el = x->gg.kids;
494 switch (el->g.tok) {
495 case zx_is12_Help_ELEM:
496 if (!x->Help)
497 x->Help = (struct zx_is12_Help_s*)el;
498 return 1;
499 case zx_is12_Hint_ELEM:
500 if (!x->Hint)
501 x->Hint = el;
502 return 1;
503 case zx_is12_Label_ELEM:
504 if (!x->Label)
505 x->Label = el;
506 return 1;
507 case zx_is12_Value_ELEM:
508 if (!x->Value)
509 x->Value = el;
510 return 1;
511
512 default: return 0;
513 }
514 }
515
516
517
518
zx_DEC_ATTR_is12_UserInteraction(struct zx_ctx * c,struct zx_is12_UserInteraction_s * x)519 int zx_DEC_ATTR_is12_UserInteraction(struct zx_ctx* c, struct zx_is12_UserInteraction_s* x)
520 {
521 switch (x->gg.attr->g.tok) {
522 case zx_id_ATTR: x->id = x->gg.attr; return 1;
523 case zx_interact_ATTR: x->interact = x->gg.attr; return 1;
524 case zx_language_ATTR: x->language = x->gg.attr; return 1;
525 case zx_maxInteractTime_ATTR: x->maxInteractTime = x->gg.attr; return 1;
526 case zx_redirect_ATTR: x->redirect = x->gg.attr; return 1;
527 case zx_actor_ATTR|zx_e_NS: x->actor = x->gg.attr; return 1;
528 case zx_mustUnderstand_ATTR|zx_e_NS: x->mustUnderstand = x->gg.attr; return 1;
529
530 default: return 0;
531 }
532 }
533
zx_DEC_ELEM_is12_UserInteraction(struct zx_ctx * c,struct zx_is12_UserInteraction_s * x)534 int zx_DEC_ELEM_is12_UserInteraction(struct zx_ctx* c, struct zx_is12_UserInteraction_s* x)
535 {
536 struct zx_elem_s* el = x->gg.kids;
537 switch (el->g.tok) {
538 case zx_is12_InteractionService_ELEM:
539 if (!x->InteractionService)
540 x->InteractionService = (struct zx_is12_InteractionService_s*)el;
541 return 1;
542
543 default: return 0;
544 }
545 }
546
547
548 /* EOF -- c/zx-is12-dec.c */
549