1 /* c/zx-is-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-is-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38
39
40
zx_DEC_ATTR_is_Confirm(struct zx_ctx * c,struct zx_is_Confirm_s * x)41 int zx_DEC_ATTR_is_Confirm(struct zx_ctx* c, struct zx_is_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_is_Confirm(struct zx_ctx * c,struct zx_is_Confirm_s * x)50 int zx_DEC_ELEM_is_Confirm(struct zx_ctx* c, struct zx_is_Confirm_s* x)
51 {
52 struct zx_elem_s* el = x->gg.kids;
53 switch (el->g.tok) {
54 case zx_is_Help_ELEM:
55 if (!x->Help)
56 x->Help = (struct zx_is_Help_s*)el;
57 return 1;
58 case zx_is_Hint_ELEM:
59 if (!x->Hint)
60 x->Hint = el;
61 return 1;
62 case zx_is_Label_ELEM:
63 if (!x->Label)
64 x->Label = el;
65 return 1;
66 case zx_is_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_is_Help(struct zx_ctx * c,struct zx_is_Help_s * x)78 int zx_DEC_ATTR_is_Help(struct zx_ctx* c, struct zx_is_Help_s* x)
79 {
80 switch (x->gg.attr->g.tok) {
81 case zx_label_ATTR: x->label = x->gg.attr; return 1;
82 case zx_link_ATTR: x->link = x->gg.attr; return 1;
83 case zx_moreLink_ATTR: x->moreLink = x->gg.attr; return 1;
84
85 default: return 0;
86 }
87 }
88
zx_DEC_ELEM_is_Help(struct zx_ctx * c,struct zx_is_Help_s * x)89 int zx_DEC_ELEM_is_Help(struct zx_ctx* c, struct zx_is_Help_s* x)
90 {
91 struct zx_elem_s* el = x->gg.kids;
92 switch (el->g.tok) {
93
94 default: return 0;
95 }
96 }
97
98
99
100
zx_DEC_ATTR_is_Inquiry(struct zx_ctx * c,struct zx_is_Inquiry_s * x)101 int zx_DEC_ATTR_is_Inquiry(struct zx_ctx* c, struct zx_is_Inquiry_s* x)
102 {
103 switch (x->gg.attr->g.tok) {
104 case zx_id_ATTR: x->id = x->gg.attr; return 1;
105 case zx_title_ATTR: x->title = x->gg.attr; return 1;
106
107 default: return 0;
108 }
109 }
110
zx_DEC_ELEM_is_Inquiry(struct zx_ctx * c,struct zx_is_Inquiry_s * x)111 int zx_DEC_ELEM_is_Inquiry(struct zx_ctx* c, struct zx_is_Inquiry_s* x)
112 {
113 struct zx_elem_s* el = x->gg.kids;
114 switch (el->g.tok) {
115 case zx_is_Help_ELEM:
116 if (!x->Help)
117 x->Help = (struct zx_is_Help_s*)el;
118 return 1;
119 case zx_is_Select_ELEM:
120 if (!x->Select)
121 x->Select = (struct zx_is_Select_s*)el;
122 return 1;
123 case zx_is_Confirm_ELEM:
124 if (!x->Confirm)
125 x->Confirm = (struct zx_is_Confirm_s*)el;
126 return 1;
127 case zx_is_Text_ELEM:
128 if (!x->Text)
129 x->Text = (struct zx_is_Text_s*)el;
130 return 1;
131
132 default: return 0;
133 }
134 }
135
136
137
138
zx_DEC_ATTR_is_InteractionRequest(struct zx_ctx * c,struct zx_is_InteractionRequest_s * x)139 int zx_DEC_ATTR_is_InteractionRequest(struct zx_ctx* c, struct zx_is_InteractionRequest_s* x)
140 {
141 switch (x->gg.attr->g.tok) {
142 case zx_id_ATTR: x->id = x->gg.attr; return 1;
143 case zx_language_ATTR: x->language = x->gg.attr; return 1;
144 case zx_maxInteractTime_ATTR: x->maxInteractTime = x->gg.attr; return 1;
145 case zx_signed_ATTR: x->signed_is_c_keyword = x->gg.attr; return 1;
146
147 default: return 0;
148 }
149 }
150
zx_DEC_ELEM_is_InteractionRequest(struct zx_ctx * c,struct zx_is_InteractionRequest_s * x)151 int zx_DEC_ELEM_is_InteractionRequest(struct zx_ctx* c, struct zx_is_InteractionRequest_s* x)
152 {
153 struct zx_elem_s* el = x->gg.kids;
154 switch (el->g.tok) {
155 case zx_is_Inquiry_ELEM:
156 if (!x->Inquiry)
157 x->Inquiry = (struct zx_is_Inquiry_s*)el;
158 return 1;
159 case zx_ds_KeyInfo_ELEM:
160 if (!x->KeyInfo)
161 x->KeyInfo = (struct zx_ds_KeyInfo_s*)el;
162 return 1;
163
164 default: return 0;
165 }
166 }
167
168
169
170
zx_DEC_ATTR_is_InteractionResponse(struct zx_ctx * c,struct zx_is_InteractionResponse_s * x)171 int zx_DEC_ATTR_is_InteractionResponse(struct zx_ctx* c, struct zx_is_InteractionResponse_s* x)
172 {
173 switch (x->gg.attr->g.tok) {
174
175 default: return 0;
176 }
177 }
178
zx_DEC_ELEM_is_InteractionResponse(struct zx_ctx * c,struct zx_is_InteractionResponse_s * x)179 int zx_DEC_ELEM_is_InteractionResponse(struct zx_ctx* c, struct zx_is_InteractionResponse_s* x)
180 {
181 struct zx_elem_s* el = x->gg.kids;
182 switch (el->g.tok) {
183 case zx_lu_Status_ELEM:
184 if (!x->Status)
185 x->Status = (struct zx_lu_Status_s*)el;
186 return 1;
187 case zx_is_InteractionStatement_ELEM:
188 if (!x->InteractionStatement)
189 x->InteractionStatement = (struct zx_is_InteractionStatement_s*)el;
190 return 1;
191 case zx_is_Parameter_ELEM:
192 if (!x->Parameter)
193 x->Parameter = (struct zx_is_Parameter_s*)el;
194 return 1;
195
196 default: return 0;
197 }
198 }
199
200
201
202
zx_DEC_ATTR_is_InteractionStatement(struct zx_ctx * c,struct zx_is_InteractionStatement_s * x)203 int zx_DEC_ATTR_is_InteractionStatement(struct zx_ctx* c, struct zx_is_InteractionStatement_s* x)
204 {
205 switch (x->gg.attr->g.tok) {
206
207 default: return 0;
208 }
209 }
210
zx_DEC_ELEM_is_InteractionStatement(struct zx_ctx * c,struct zx_is_InteractionStatement_s * x)211 int zx_DEC_ELEM_is_InteractionStatement(struct zx_ctx* c, struct zx_is_InteractionStatement_s* x)
212 {
213 struct zx_elem_s* el = x->gg.kids;
214 switch (el->g.tok) {
215 case zx_is_Inquiry_ELEM:
216 if (!x->Inquiry)
217 x->Inquiry = (struct zx_is_Inquiry_s*)el;
218 return 1;
219 case zx_ds_Signature_ELEM:
220 if (!x->Signature)
221 x->Signature = (struct zx_ds_Signature_s*)el;
222 return 1;
223
224 default: return 0;
225 }
226 }
227
228
229
230
zx_DEC_ATTR_is_Item(struct zx_ctx * c,struct zx_is_Item_s * x)231 int zx_DEC_ATTR_is_Item(struct zx_ctx* c, struct zx_is_Item_s* x)
232 {
233 switch (x->gg.attr->g.tok) {
234 case zx_label_ATTR: x->label = x->gg.attr; return 1;
235 case zx_value_ATTR: x->value = x->gg.attr; return 1;
236
237 default: return 0;
238 }
239 }
240
zx_DEC_ELEM_is_Item(struct zx_ctx * c,struct zx_is_Item_s * x)241 int zx_DEC_ELEM_is_Item(struct zx_ctx* c, struct zx_is_Item_s* x)
242 {
243 struct zx_elem_s* el = x->gg.kids;
244 switch (el->g.tok) {
245 case zx_is_Hint_ELEM:
246 if (!x->Hint)
247 x->Hint = el;
248 return 1;
249
250 default: return 0;
251 }
252 }
253
254
255
256
zx_DEC_ATTR_is_Parameter(struct zx_ctx * c,struct zx_is_Parameter_s * x)257 int zx_DEC_ATTR_is_Parameter(struct zx_ctx* c, struct zx_is_Parameter_s* x)
258 {
259 switch (x->gg.attr->g.tok) {
260 case zx_name_ATTR: x->name = x->gg.attr; return 1;
261 case zx_value_ATTR: x->value = x->gg.attr; return 1;
262
263 default: return 0;
264 }
265 }
266
zx_DEC_ELEM_is_Parameter(struct zx_ctx * c,struct zx_is_Parameter_s * x)267 int zx_DEC_ELEM_is_Parameter(struct zx_ctx* c, struct zx_is_Parameter_s* x)
268 {
269 struct zx_elem_s* el = x->gg.kids;
270 switch (el->g.tok) {
271
272 default: return 0;
273 }
274 }
275
276
277
278
zx_DEC_ATTR_is_Select(struct zx_ctx * c,struct zx_is_Select_s * x)279 int zx_DEC_ATTR_is_Select(struct zx_ctx* c, struct zx_is_Select_s* x)
280 {
281 switch (x->gg.attr->g.tok) {
282 case zx_multiple_ATTR: x->multiple = x->gg.attr; return 1;
283 case zx_name_ATTR: x->name = x->gg.attr; return 1;
284
285 default: return 0;
286 }
287 }
288
zx_DEC_ELEM_is_Select(struct zx_ctx * c,struct zx_is_Select_s * x)289 int zx_DEC_ELEM_is_Select(struct zx_ctx* c, struct zx_is_Select_s* x)
290 {
291 struct zx_elem_s* el = x->gg.kids;
292 switch (el->g.tok) {
293 case zx_is_Help_ELEM:
294 if (!x->Help)
295 x->Help = (struct zx_is_Help_s*)el;
296 return 1;
297 case zx_is_Hint_ELEM:
298 if (!x->Hint)
299 x->Hint = el;
300 return 1;
301 case zx_is_Label_ELEM:
302 if (!x->Label)
303 x->Label = el;
304 return 1;
305 case zx_is_Value_ELEM:
306 if (!x->Value)
307 x->Value = el;
308 return 1;
309 case zx_is_Item_ELEM:
310 if (!x->Item)
311 x->Item = (struct zx_is_Item_s*)el;
312 return 1;
313
314 default: return 0;
315 }
316 }
317
318
319
320
zx_DEC_ATTR_is_Text(struct zx_ctx * c,struct zx_is_Text_s * x)321 int zx_DEC_ATTR_is_Text(struct zx_ctx* c, struct zx_is_Text_s* x)
322 {
323 switch (x->gg.attr->g.tok) {
324 case zx_format_ATTR: x->format = x->gg.attr; return 1;
325 case zx_maxChars_ATTR: x->maxChars = x->gg.attr; return 1;
326 case zx_minChars_ATTR: x->minChars = x->gg.attr; return 1;
327 case zx_name_ATTR: x->name = x->gg.attr; return 1;
328
329 default: return 0;
330 }
331 }
332
zx_DEC_ELEM_is_Text(struct zx_ctx * c,struct zx_is_Text_s * x)333 int zx_DEC_ELEM_is_Text(struct zx_ctx* c, struct zx_is_Text_s* x)
334 {
335 struct zx_elem_s* el = x->gg.kids;
336 switch (el->g.tok) {
337 case zx_is_Help_ELEM:
338 if (!x->Help)
339 x->Help = (struct zx_is_Help_s*)el;
340 return 1;
341 case zx_is_Hint_ELEM:
342 if (!x->Hint)
343 x->Hint = el;
344 return 1;
345 case zx_is_Label_ELEM:
346 if (!x->Label)
347 x->Label = el;
348 return 1;
349 case zx_is_Value_ELEM:
350 if (!x->Value)
351 x->Value = el;
352 return 1;
353
354 default: return 0;
355 }
356 }
357
358
359 /* EOF -- c/zx-is-dec.c */
360