1
/**************************************************************************
2
*** COPYRIGHT (c) 2002 by TransNexus, Inc. ***
4
*** This software is property of TransNexus, Inc. ***
5
*** This software is freely available under license from TransNexus. ***
6
*** The license terms and conditions for free use of this software by ***
7
*** third parties are defined in the OSP Toolkit Software License ***
8
*** Agreement (LICENSE.txt). Any use of this software by third ***
9
*** parties, which does not comply with the terms and conditions of the ***
10
*** OSP Toolkit Software License Agreement is prohibited without ***
11
*** the prior, express, written consent of TransNexus, Inc. ***
13
*** Thank you for using the OSP ToolKit(TM). Please report any bugs, ***
14
*** suggestions or feedback to support@transnexus.com ***
16
**************************************************************************/
26
* ospxmltype.c - Data variables and functions for XML character
27
* types. These are more or less a duplication of the
28
* ANSI ctype.h functions. It is necessary to write
29
* them from scratch, though, in order to ensure
30
* strict XML compliance.
32
* Note that the implementation treats each XML character
33
* as a C char, which is mostly likely 8 bits. The XML
34
* decoding routines still accept 16-bit characters
35
* though. Since the OSP uses only ASCII characters,
36
* any 16-bit encoding can be safely converted to 8-bit
42
#include "osp/ospxmltype.h"
45
* the XML ctype-like array; this is not a static array so we can
46
* use macros to access it
49
const unsigned char OSPVXMLCType[] =
51
/* 00 */ OSPC_XMLTYPE_NONE ,
52
/* 01 */ OSPC_XMLTYPE_NONE ,
53
/* 02 */ OSPC_XMLTYPE_NONE ,
54
/* 03 */ OSPC_XMLTYPE_NONE ,
55
/* 04 */ OSPC_XMLTYPE_NONE ,
56
/* 05 */ OSPC_XMLTYPE_NONE ,
57
/* 06 */ OSPC_XMLTYPE_NONE ,
58
/* 07 */ OSPC_XMLTYPE_NONE ,
59
/* 08 */ OSPC_XMLTYPE_NONE ,
60
/* 09 \t */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_SPACE ,
61
/* 0A \r */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_SPACE ,
62
/* 0B */ OSPC_XMLTYPE_NONE ,
63
/* 0C */ OSPC_XMLTYPE_NONE ,
64
/* 0D \n */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_SPACE ,
65
/* 0E */ OSPC_XMLTYPE_NONE ,
66
/* 0F */ OSPC_XMLTYPE_NONE ,
67
/* 10 */ OSPC_XMLTYPE_NONE ,
68
/* 11 */ OSPC_XMLTYPE_NONE ,
69
/* 12 */ OSPC_XMLTYPE_NONE ,
70
/* 13 */ OSPC_XMLTYPE_NONE ,
71
/* 14 */ OSPC_XMLTYPE_NONE ,
72
/* 15 */ OSPC_XMLTYPE_NONE ,
73
/* 16 */ OSPC_XMLTYPE_NONE ,
74
/* 17 */ OSPC_XMLTYPE_NONE ,
75
/* 18 */ OSPC_XMLTYPE_NONE ,
76
/* 19 */ OSPC_XMLTYPE_NONE ,
77
/* 1A */ OSPC_XMLTYPE_NONE ,
78
/* 1B */ OSPC_XMLTYPE_NONE ,
79
/* 1C */ OSPC_XMLTYPE_NONE ,
80
/* 1D */ OSPC_XMLTYPE_NONE ,
81
/* 1E */ OSPC_XMLTYPE_NONE ,
82
/* 1F */ OSPC_XMLTYPE_NONE ,
83
/* 20 ' ' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_SPACE ,
84
/* 21 '!' */ OSPC_XMLTYPE_CHAR ,
85
/* 22 '"' */ OSPC_XMLTYPE_CHAR ,
86
/* 23 '#' */ OSPC_XMLTYPE_CHAR ,
87
/* 24 '$' */ OSPC_XMLTYPE_CHAR ,
88
/* 25 '%' */ OSPC_XMLTYPE_CHAR ,
89
/* 26 '&' */ OSPC_XMLTYPE_CHAR ,
90
/* 27 ''' */ OSPC_XMLTYPE_CHAR ,
91
/* 28 '(' */ OSPC_XMLTYPE_CHAR ,
92
/* 29 ')' */ OSPC_XMLTYPE_CHAR ,
93
/* 2A '*' */ OSPC_XMLTYPE_CHAR ,
94
/* 2B '+' */ OSPC_XMLTYPE_CHAR ,
95
/* 2C ',' */ OSPC_XMLTYPE_CHAR ,
96
/* 2D '-' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_NAME ,
97
/* 2E '.' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_NAME ,
98
/* 2F '/' */ OSPC_XMLTYPE_CHAR ,
99
/* 30 '0' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
100
/* 31 '1' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
101
/* 32 '2' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
102
/* 33 '3' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
103
/* 34 '4' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
104
/* 35 '5' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
105
/* 36 '6' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
106
/* 37 '7' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
107
/* 38 '8' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
108
/* 39 '9' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_DIGIT | OSPC_XMLTYPE_NAME ,
109
/* 3A ':' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
110
/* 3B ';' */ OSPC_XMLTYPE_CHAR ,
111
/* 3C '<' */ OSPC_XMLTYPE_CHAR ,
112
/* 3D '=' */ OSPC_XMLTYPE_CHAR ,
113
/* 3E '>' */ OSPC_XMLTYPE_CHAR ,
114
/* 3F '?' */ OSPC_XMLTYPE_CHAR ,
115
/* 40 '@' */ OSPC_XMLTYPE_CHAR ,
116
/* 41 'A' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
117
/* 42 'B' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
118
/* 43 'C' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
119
/* 44 'D' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
120
/* 45 'E' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
121
/* 46 'F' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
122
/* 47 'G' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
123
/* 48 'H' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
124
/* 49 'I' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
125
/* 4A 'J' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
126
/* 4B 'K' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
127
/* 4C 'L' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
128
/* 4D 'M' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
129
/* 4E 'N' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
130
/* 4F 'O' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
131
/* 50 'P' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
132
/* 51 'Q' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
133
/* 52 'R' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
134
/* 53 'S' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
135
/* 54 'T' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
136
/* 55 'U' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
137
/* 56 'V' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
138
/* 57 'W' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
139
/* 58 'X' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
140
/* 59 'Y' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
141
/* 5A 'Z' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
142
/* 5B '[' */ OSPC_XMLTYPE_CHAR ,
143
/* 5C '\' */ OSPC_XMLTYPE_CHAR ,
144
/* 5D ']' */ OSPC_XMLTYPE_CHAR ,
145
/* 5E '^' */ OSPC_XMLTYPE_CHAR ,
146
/* 5F '_' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
147
/* 60 '`' */ OSPC_XMLTYPE_CHAR ,
148
/* 61 'a' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
149
/* 62 'b' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
150
/* 63 'c' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
151
/* 64 'd' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
152
/* 65 'e' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
153
/* 66 'f' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
154
/* 67 'g' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
155
/* 68 'h' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
156
/* 69 'i' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
157
/* 6A 'j' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
158
/* 6B 'k' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
159
/* 6C 'l' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
160
/* 6D 'm' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
161
/* 6E 'n' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
162
/* 6F 'o' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
163
/* 70 'p' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
164
/* 71 'q' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
165
/* 72 'r' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
166
/* 73 's' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
167
/* 74 't' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
168
/* 75 'u' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
169
/* 76 'v' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
170
/* 77 'w' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
171
/* 78 'x' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
172
/* 79 'y' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
173
/* 7A 'z' */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
174
/* 7B '{' */ OSPC_XMLTYPE_CHAR ,
175
/* 7C '|' */ OSPC_XMLTYPE_CHAR ,
176
/* 7D '}' */ OSPC_XMLTYPE_CHAR ,
177
/* 7E '~' */ OSPC_XMLTYPE_CHAR ,
178
/* 7F */ OSPC_XMLTYPE_CHAR ,
179
/* 80 */ OSPC_XMLTYPE_CHAR ,
180
/* 81 */ OSPC_XMLTYPE_CHAR ,
181
/* 82 */ OSPC_XMLTYPE_CHAR ,
182
/* 83 */ OSPC_XMLTYPE_CHAR ,
183
/* 84 */ OSPC_XMLTYPE_CHAR ,
184
/* 85 */ OSPC_XMLTYPE_CHAR ,
185
/* 86 */ OSPC_XMLTYPE_CHAR ,
186
/* 87 */ OSPC_XMLTYPE_CHAR ,
187
/* 88 */ OSPC_XMLTYPE_CHAR ,
188
/* 89 */ OSPC_XMLTYPE_CHAR ,
189
/* 8A */ OSPC_XMLTYPE_CHAR ,
190
/* 8B */ OSPC_XMLTYPE_CHAR ,
191
/* 8C */ OSPC_XMLTYPE_CHAR ,
192
/* 8D */ OSPC_XMLTYPE_CHAR ,
193
/* 8E */ OSPC_XMLTYPE_CHAR ,
194
/* 8F */ OSPC_XMLTYPE_CHAR ,
195
/* 90 */ OSPC_XMLTYPE_CHAR ,
196
/* 91 */ OSPC_XMLTYPE_CHAR ,
197
/* 92 */ OSPC_XMLTYPE_CHAR ,
198
/* 93 */ OSPC_XMLTYPE_CHAR ,
199
/* 94 */ OSPC_XMLTYPE_CHAR ,
200
/* 95 */ OSPC_XMLTYPE_CHAR ,
201
/* 96 */ OSPC_XMLTYPE_CHAR ,
202
/* 97 */ OSPC_XMLTYPE_CHAR ,
203
/* 98 */ OSPC_XMLTYPE_CHAR ,
204
/* 99 */ OSPC_XMLTYPE_CHAR ,
205
/* 9A */ OSPC_XMLTYPE_CHAR ,
206
/* 9B */ OSPC_XMLTYPE_CHAR ,
207
/* 9C */ OSPC_XMLTYPE_CHAR ,
208
/* 9D */ OSPC_XMLTYPE_CHAR ,
209
/* 9E */ OSPC_XMLTYPE_CHAR ,
210
/* 9F */ OSPC_XMLTYPE_CHAR ,
211
/* A0 */ OSPC_XMLTYPE_CHAR ,
212
/* A1 */ OSPC_XMLTYPE_CHAR ,
213
/* A2 */ OSPC_XMLTYPE_CHAR ,
214
/* A3 */ OSPC_XMLTYPE_CHAR ,
215
/* A4 */ OSPC_XMLTYPE_CHAR ,
216
/* A5 */ OSPC_XMLTYPE_CHAR ,
217
/* A6 */ OSPC_XMLTYPE_CHAR ,
218
/* A7 */ OSPC_XMLTYPE_CHAR ,
219
/* A8 */ OSPC_XMLTYPE_CHAR ,
220
/* A9 */ OSPC_XMLTYPE_CHAR ,
221
/* AA */ OSPC_XMLTYPE_CHAR ,
222
/* AB */ OSPC_XMLTYPE_CHAR ,
223
/* AC */ OSPC_XMLTYPE_CHAR ,
224
/* AD */ OSPC_XMLTYPE_CHAR ,
225
/* AE */ OSPC_XMLTYPE_CHAR ,
226
/* AF */ OSPC_XMLTYPE_CHAR ,
227
/* B0 */ OSPC_XMLTYPE_CHAR ,
228
/* B1 */ OSPC_XMLTYPE_CHAR ,
229
/* B2 */ OSPC_XMLTYPE_CHAR ,
230
/* B3 */ OSPC_XMLTYPE_CHAR ,
231
/* B4 */ OSPC_XMLTYPE_CHAR ,
232
/* B5 */ OSPC_XMLTYPE_CHAR ,
233
/* B6 */ OSPC_XMLTYPE_CHAR ,
234
/* B7 */ OSPC_XMLTYPE_CHAR ,
235
/* B8 */ OSPC_XMLTYPE_CHAR ,
236
/* B9 */ OSPC_XMLTYPE_CHAR ,
237
/* BA */ OSPC_XMLTYPE_CHAR ,
238
/* BB */ OSPC_XMLTYPE_CHAR ,
239
/* BC */ OSPC_XMLTYPE_CHAR ,
240
/* BD */ OSPC_XMLTYPE_CHAR ,
241
/* BE */ OSPC_XMLTYPE_CHAR ,
242
/* BF */ OSPC_XMLTYPE_CHAR ,
243
/* C0 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
244
/* C1 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
245
/* C2 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
246
/* C3 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
247
/* C4 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
248
/* C5 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
249
/* C6 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
250
/* C7 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
251
/* C8 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
252
/* C9 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
253
/* CA */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
254
/* CB */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
255
/* CC */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
256
/* CD */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
257
/* CE */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
258
/* CF */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
259
/* D0 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
260
/* D1 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
261
/* D2 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
262
/* D3 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
263
/* D4 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
264
/* D5 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
265
/* D6 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
266
/* D7 */ OSPC_XMLTYPE_CHAR ,
267
/* D8 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
268
/* D9 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
269
/* DA */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
270
/* DB */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
271
/* DC */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
272
/* DD */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
273
/* DE */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
274
/* DF */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
275
/* E0 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
276
/* E1 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
277
/* E2 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
278
/* E3 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
279
/* E4 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
280
/* E5 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
281
/* E6 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
282
/* E7 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
283
/* E8 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
284
/* E9 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
285
/* EA */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
286
/* EB */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
287
/* EC */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
288
/* ED */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
289
/* EE */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
290
/* EF */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
291
/* F0 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
292
/* F1 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
293
/* F2 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
294
/* F3 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
295
/* F4 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
296
/* F5 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
297
/* F6 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
298
/* F7 */ OSPC_XMLTYPE_CHAR ,
299
/* F8 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
300
/* F9 */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
301
/* FA */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
302
/* FB */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
303
/* FC */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
304
/* FD */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
305
/* FE */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
306
/* FF */ OSPC_XMLTYPE_CHAR | OSPC_XMLTYPE_LETTER | OSPC_XMLTYPE_NAME | OSPC_XMLTYPE_NAME1 ,
309
#define OSPC_XML_CTYPESIZE (sizeof(OSPVXMLCType)/sizeof(unsigned char))
312
/*-----------------------------------------------------------------------*
313
* OSPPXMLIsChar() - is a byte a valid XML character
314
*-----------------------------------------------------------------------*/
316
unsigned /* returns non-zero if true */
318
unsigned char ospvChar
321
unsigned ospvIs = OSPC_FALSE;
323
ospvIs = OSPVXMLCType[ospvChar] & OSPC_XMLTYPE_CHAR;
328
/*-----------------------------------------------------------------------*
329
* OSPPXMLIsSpace() - is a byte a valid XML space character
330
*-----------------------------------------------------------------------*/
332
unsigned /* returns non-zero if true */
334
unsigned char ospvChar
337
unsigned ospvIs = OSPC_FALSE;
339
ospvIs = OSPVXMLCType[ospvChar] & OSPC_XMLTYPE_SPACE;
344
/*-----------------------------------------------------------------------*
345
* OSPPXMLIsLetter() - is a byte a valid XML letter character
346
*-----------------------------------------------------------------------*/
348
unsigned /* returns non-zero if true */
350
unsigned char ospvChar
353
unsigned ospvIs = OSPC_FALSE;
355
ospvIs = OSPVXMLCType[ospvChar] & OSPC_XMLTYPE_LETTER;
360
/*-----------------------------------------------------------------------*
361
* OSPPXMLIsDigit() - is a byte a valid XML digit character
362
*-----------------------------------------------------------------------*/
364
unsigned /* returns non-zero if true */
366
unsigned char ospvChar
369
unsigned ospvIs = OSPC_FALSE;
371
ospvIs = OSPVXMLCType[ospvChar] & OSPC_XMLTYPE_DIGIT;
376
/*-----------------------------------------------------------------------*
377
* OSPPXMLIsName() - is a byte a valid XML name character
378
*-----------------------------------------------------------------------*/
380
unsigned /* returns non-zero if true */
382
unsigned char ospvChar
385
unsigned ospvIs = OSPC_FALSE;
387
ospvIs = OSPVXMLCType[ospvChar] & OSPC_XMLTYPE_NAME;
392
/*-----------------------------------------------------------------------*
393
* OSPPXMLIsName1() - is byte valid as first character in XML name
394
*-----------------------------------------------------------------------*/
396
unsigned /* returns non-zero if true */
398
unsigned char ospvChar
401
unsigned ospvIs = OSPC_FALSE;
403
ospvIs = OSPVXMLCType[ospvChar] & OSPC_XMLTYPE_NAME1;