annotate GEMBASSY-1.0.3/gsoap/wsdl/schema.h @ 0:8300eb051bea draft

Initial upload
author ktnyt
date Fri, 26 Jun 2015 05:19:29 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1 /*
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2 schema.h
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
4 XSD binding schema interface
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
6 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
7 gSOAP XML Web services tools
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
8 Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
9 This software is released under one of the following licenses:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
10 GPL or Genivia's license for commercial use.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
11 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
12 GPL license.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
13
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
14 This program is free software; you can redistribute it and/or modify it under
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
15 the terms of the GNU General Public License as published by the Free Software
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
16 Foundation; either version 2 of the License, or (at your option) any later
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
17 version.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
18
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
19 This program is distributed in the hope that it will be useful, but WITHOUT ANY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
20 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
21 PARTICULAR PURPOSE. See the GNU General Public License for more details.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
22
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
23 You should have received a copy of the GNU General Public License along with
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
24 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
25 Place, Suite 330, Boston, MA 02111-1307 USA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
26
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
27 Author contact information:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
28 engelen@genivia.com / engelen@acm.org
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
29 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
30 A commercial use license is available from Genivia, Inc., contact@genivia.com
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
31 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
33 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
34
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
35 //gsoap xs schema documentation: XSD binding schema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
36 //gsoap xs schema namespace: http://www.w3.org/2001/XMLSchema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
37 //gsoap xs schema elementForm: qualified
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
38 //gsoap xs schema attributeForm: unqualified
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
39
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
40 /* For the wsdl:arrayType attribute to support old style SOAP arrays: */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
41 //gsoap wsdl schema namespace: http://schemas.xmlsoap.org/wsdl/
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
42
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
43 #import "imports.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
44
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
45 class xs__schema; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
46 class xs__simpleType; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
47 class xs__complexType; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
48 class xs__extension; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
49 class xs__restriction; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
50 class xs__seqchoice; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
51 class xs__group; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
52 class xs__list; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
53 class xs__union; // forward declaration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
54
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
55 class xs__annotation
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
56 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
57 char *documentation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
58 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
59
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
60 enum xs__formChoice { unqualified, qualified };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
61
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
62 class xs__element
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
63 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
64 // @xsd__ID id;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
65 @xsd__NCName name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
66 @xsd__QName ref;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
67 @xsd__QName type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
68 @xsd__string default_;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
69 @xsd__QName default__; // also get QName value if element type is QName
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
70 @xsd__string fixed;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
71 @xsd__QName fixed_; // also get QName value if element type is QName
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
72 @enum xs__formChoice *form;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
73 @xsd__boolean nillable = false;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
74 @xsd__boolean abstract = false;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
75 @xsd__QName substitutionGroup;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
76 @xsd__string minOccurs; // xsd:nonNegativeInteger
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
77 @xsd__string maxOccurs; // xsd:nonNegativeInteger|unbounded
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
78 @xsd__string xmime__expectedContentTypes;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
79 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
80 xs__simpleType *simpleType; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
81 xs__complexType *complexType; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
82 xsd__string unique; // dummy, not used
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
83 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
84 xs__schema *schemaRef; // schema to which this belongs
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
85 xs__element *elementRef; // traverse() finds ref
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
86 xs__simpleType *simpleTypeRef; // traverse() finds type or = simpleType above
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
87 xs__complexType *complexTypeRef; // traverse() finds type or = complexType above
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
88 std::vector<xs__element*> substitutions; // traverse() finds substitutionGroup elements for this abstract element
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
89 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
90 xs__element();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
91 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
92 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
93 void elementPtr(xs__element*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
94 void simpleTypePtr(xs__simpleType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
95 void complexTypePtr(xs__complexType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
96 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
97 xs__element *elementPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
98 xs__simpleType *simpleTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
99 xs__complexType *complexTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
100 const std::vector<xs__element*> *substitutionsPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
101 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
102
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
103 enum xs__attribute_use { optional, prohibited, required, default_, fixed_ };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
104
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
105 class xs__attribute
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
106 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
107 @xsd__NCName name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
108 @xsd__QName ref;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
109 @xsd__QName type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
110 @enum xs__attribute_use use = optional;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
111 @xsd__string default_;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
112 @xsd__QName default__; // also get QName value if attribute type is QName
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
113 @xsd__string fixed;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
114 @xsd__QName fixed_; // also get QName value if attribute type is QName
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
115 @enum xs__formChoice *form;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
116 @xsd__QName wsdl__arrayType; // extensibility attribute added to simplify WSDL parsing
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
117 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
118 xs__simpleType *simpleType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
119 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
120 xs__schema *schemaRef; // schema to which this belongs
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
121 xs__attribute *attributeRef; // traverse() finds ref
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
122 xs__simpleType *simpleTypeRef; // traverse() finds type or = simpleType above
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
123 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
124 xs__attribute();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
125 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
126 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
127 void attributePtr(xs__attribute*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
128 void simpleTypePtr(xs__simpleType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
129 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
130 xs__attribute *attributePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
131 xs__simpleType *simpleTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
132 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
133
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
134 class xs__all
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
135 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
136 std::vector<xs__element> element;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
137 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
138 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
139 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
140
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
141 enum xs__processContents { strict, skip, lax };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
142
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
143 typedef char *xs__namespaceList; // "##any" or "##other" or list of URI, "##targetNamespace", "##local"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
144
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
145 class xs__any
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
146 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
147 @xs__namespaceList namespace_ = "##any";
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
148 @enum xs__processContents processContents = strict;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
149 @xsd__string minOccurs; // xsd:nonNegativeInteger
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
150 @xsd__string maxOccurs; // xsd:nonNegativeInteger|unbounded
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
151 std::vector<xs__element> element;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
152 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
153 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
154 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
155
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
156 class xs__contents
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
157 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
158 $int __union;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
159 union xs__union_content
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
160 { xs__element *element;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
161 xs__group *group;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
162 xs__seqchoice *choice;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
163 xs__seqchoice *sequence;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
164 xs__any *any;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
165 } __content;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
166 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
167 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
168 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
169
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
170 class xs__seqchoice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
171 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
172 @xsd__string minOccurs; // xsd:nonNegativeInteger
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
173 @xsd__string maxOccurs; // xsd:nonNegativeInteger|unbounded
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
174 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
175 std::vector<xs__contents> __contents;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
176 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
177 xs__schema *schemaRef; // schema to which this belongs
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
178 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
179 xs__seqchoice();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
180 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
181 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
182 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
183 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
184
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
185 class xs__group
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
186 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
187 @xsd__NCName name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
188 @xsd__QName ref;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
189 @xsd__string minOccurs; // xsd:nonNegativeInteger
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
190 @xsd__string maxOccurs; // xsd:nonNegativeInteger|unbounded
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
191 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
192 xs__all *all;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
193 xs__seqchoice *choice;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
194 xs__seqchoice *sequence;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
195 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
196 xs__schema *schemaRef; // schema to which this belongs
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
197 xs__group *groupRef; // traverse() finds ref
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
198 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
199 xs__group();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
200 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
201 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
202 void groupPtr(xs__group*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
203 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
204 xs__group *groupPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
205 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
206
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
207 class xs__anyAttribute
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
208 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
209 @xs__namespaceList namespace_ = "##any";
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
210 @enum xs__processContents processContents = strict;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
211 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
212
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
213 class xs__attributeGroup
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
214 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
215 @xsd__NCName name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
216 @xsd__QName ref;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
217 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
218 std::vector<xs__attribute> attribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
219 std::vector<xs__attributeGroup> attributeGroup;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
220 xs__anyAttribute *anyAttribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
221 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
222 xs__schema *schemaRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
223 xs__attributeGroup *attributeGroupRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
224 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
225 xs__attributeGroup();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
226 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
227 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
228 void attributeGroupPtr(xs__attributeGroup*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
229 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
230 xs__attributeGroup *attributeGroupPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
231 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
232
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
233 class xs__enumeration
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
234 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
235 @xsd__string value;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
236 @xsd__QName value_; // also get QName value if base type is QName
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
237 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
238 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
239 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
240 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
241
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
242 class xs__pattern
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
243 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
244 @xsd__string value;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
245 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
246 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
247 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
248
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
249 class xs__simpleContent
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
250 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
251 xs__extension *extension; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
252 xs__restriction *restriction; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
253 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
254 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
255 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
256
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
257 class xs__simpleType
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
258 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
259 @xsd__NMTOKEN name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
260 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
261 xs__restriction *restriction; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
262 xs__list *list; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
263 xs__union *union_; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
264 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
265 xs__schema *schemaRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
266 int level;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
267 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
268 xs__simpleType();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
269 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
270 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
271 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
272 int baseLevel();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
273 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
274
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
275 class xs__extension
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
276 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
277 @xsd__QName base;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
278 xs__group *group;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
279 xs__all *all;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
280 xs__seqchoice *choice;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
281 xs__seqchoice *sequence;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
282 std::vector<xs__attribute> attribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
283 std::vector<xs__attributeGroup> attributeGroup;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
284 xs__anyAttribute *anyAttribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
285 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
286 xs__simpleType *simpleTypeRef; // traverse() finds type
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
287 xs__complexType *complexTypeRef; // traverse() finds type
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
288 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
289 xs__extension();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
290 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
291 void simpleTypePtr(xs__simpleType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
292 void complexTypePtr(xs__complexType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
293 xs__simpleType *simpleTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
294 xs__complexType *complexTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
295 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
296
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
297 class xs__length
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
298 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
299 @xsd__string value;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
300 @xsd__boolean fixed;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
301 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
302 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
303
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
304 class xs__whiteSpace
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
305 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
306 @xsd__string value;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
307 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
308
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
309 class xs__restriction
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
310 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
311 @xsd__QName base;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
312 xs__simpleType *simpleType; // used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
313 xs__attributeGroup *attributeGroup;// not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
314 xs__group *group; // not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
315 xs__all *all; // not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
316 xs__seqchoice *choice; // not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
317 xs__seqchoice *sequence; // not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
318 std::vector<xs__attribute> attribute; // not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
319 xs__anyAttribute *anyAttribute; // not used in <simpleType><restriction>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
320 std::vector<xs__enumeration> enumeration;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
321 std::vector<xs__pattern> pattern;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
322 xs__whiteSpace *whiteSpace;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
323 xs__length *length;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
324 xs__length *minLength;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
325 xs__length *maxLength;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
326 xs__length *precision; // 2000 schema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
327 xs__length *scale; // 2000 schema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
328 xs__length *totalDigits; // 2001 schema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
329 xs__length *fractionDigits; // 2001 schema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
330 xs__length *minInclusive;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
331 xs__length *maxInclusive;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
332 xs__length *minExclusive;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
333 xs__length *maxExclusive;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
334 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
335 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
336 xs__simpleType *simpleTypeRef; // traverse() finds type
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
337 xs__complexType *complexTypeRef; // traverse() finds type
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
338 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
339 xs__restriction();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
340 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
341 void simpleTypePtr(xs__simpleType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
342 void complexTypePtr(xs__complexType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
343 xs__simpleType *simpleTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
344 xs__complexType *complexTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
345 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
346
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
347 class xs__list
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
348 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
349 @xsd__QName itemType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
350 xs__restriction *restriction; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
351 std::vector<xs__simpleType> simpleType; // choice
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
352 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
353 xs__simpleType *itemTypeRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
354 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
355 xs__list();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
356 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
357 void itemTypePtr(xs__simpleType*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
358 xs__simpleType *itemTypePtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
359 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
360
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
361 class xs__union
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
362 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
363 @xsd__NMTOKENS memberTypes; // check if NMTOKENS is ok???
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
364 std::vector<xs__simpleType> simpleType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
365 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
366 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
367 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
368
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
369 class xs__complexContent
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
370 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
371 @xsd__boolean mixed = false;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
372 xs__extension *extension;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
373 xs__restriction *restriction;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
374 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
375 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
376 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
377
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
378 class xs__complexType
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
379 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
380 @xsd__NMTOKEN name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
381 @xsd__boolean abstract = false;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
382 @xsd__boolean mixed = false;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
383 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
384 xs__simpleContent *simpleContent;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
385 xs__complexContent *complexContent;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
386 xs__all *all;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
387 xs__seqchoice *choice;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
388 xs__seqchoice *sequence;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
389 xs__any *any;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
390 std::vector<xs__attribute> attribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
391 std::vector<xs__attributeGroup> attributeGroup;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
392 xs__anyAttribute *anyAttribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
393 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
394 xs__schema *schemaRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
395 int level;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
396 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
397 xs__complexType();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
398 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
399 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
400 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
401 int baseLevel();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
402 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
403
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
404 class xs__import
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
405 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
406 @xsd__anyURI namespace_;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
407 @xsd__anyURI schemaLocation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
408 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
409 xs__schema *schemaRef; // set by WSDL parser or via schemaLocation
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
410 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
411 xs__import();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
412 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
413 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
414 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
415 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
416
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
417 class xs__include
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
418 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
419 @xsd__anyURI schemaLocation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
420 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
421 xs__schema *schemaRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
422 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
423 xs__include();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
424 int preprocess(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
425 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
426 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
427 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
428 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
429
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
430 class xs__redefine
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
431 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
432 @xsd__anyURI schemaLocation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
433 std::vector<xs__group> group;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
434 std::vector<xs__attributeGroup> attributeGroup;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
435 std::vector<xs__simpleType> simpleType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
436 std::vector<xs__complexType> complexType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
437 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
438 xs__schema *schemaRef;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
439 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
440 xs__redefine();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
441 int preprocess(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
442 int traverse(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
443 void schemaPtr(xs__schema*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
444 xs__schema *schemaPtr() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
445 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
446
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
447 class xs__schema
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
448 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
449 @xsd__anyURI targetNamespace = "";
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
450 @xsd__string version;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
451 @enum xs__formChoice attributeFormDefault = unqualified;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
452 @enum xs__formChoice elementFormDefault = unqualified;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
453 xs__annotation *annotation;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
454 std::vector<xs__include> include;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
455 std::vector<xs__redefine> redefine;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
456 std::vector<xs__import> import;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
457 std::vector<xs__attribute> attribute;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
458 std::vector<xs__element> element;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
459 std::vector<xs__group> group;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
460 std::vector<xs__attributeGroup> attributeGroup;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
461 std::vector<xs__simpleType> simpleType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
462 std::vector<xs__complexType> complexType;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
463 struct soap *soap;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
464 private:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
465 bool updated;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
466 char* location;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
467 int redirs;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
468 SetOfString builtinTypeSet;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
469 SetOfString builtinElementSet;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
470 SetOfString builtinAttributeSet;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
471 public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
472 xs__schema();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
473 xs__schema(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
474 xs__schema(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
475 virtual ~xs__schema();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
476 int get(struct soap*); // gSOAP getter is triggered after parsing
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
477 int preprocess();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
478 int insert(xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
479 int traverse();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
480 int read(const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
481 void sourceLocation(const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
482 const char* sourceLocation();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
483 int error();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
484 void print_fault();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
485 void builtinType(const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
486 void builtinElement(const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
487 void builtinAttribute(const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
488 const SetOfString& builtinTypes() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
489 const SetOfString& builtinElements() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
490 const SetOfString& builtinAttributes() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
491 bool empty() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
492 friend ostream& operator<<(ostream&, const xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
493 friend istream& operator>>(istream&, xs__schema&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
494 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
495
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
496 extern ostream &operator<<(ostream &o, const xs__schema &e);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
497 extern istream &operator>>(istream &i, xs__schema &e);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
498