Next integration phase, metadata and trust conversion.
[shibboleth/cpp-sp.git] / xmlproviders / XML.cpp
1 /*
2  *  Copyright 2001-2005 Internet2
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /* XML.cpp - XML constants
18
19    Scott Cantor
20    6/4/02
21
22    $History:$
23 */
24
25 #include "internal.h"
26
27 // Namespace and schema string literals
28
29 const XMLCh XML::SHIB_NS[] = // urn:mace:shibboleth:1.0
30 { chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_m, chLatin_a, chLatin_c, chLatin_e, chColon,
31   chLatin_s, chLatin_h, chLatin_i, chLatin_b, chLatin_b, chLatin_o, chLatin_l, chLatin_e, chLatin_t, chLatin_h, chColon,
32   chDigit_1, chPeriod, chDigit_0, chNull
33 };
34
35 const XMLCh XML::SHIB_SCHEMA_ID[] = // shibboleth.xsd
36 { chLatin_s, chLatin_h, chLatin_i, chLatin_b, chLatin_b, chLatin_o, chLatin_l, chLatin_e, chLatin_t, chLatin_h, 
37   chPeriod, chLatin_x, chLatin_s, chLatin_d, chNull
38 };
39
40 const XMLCh XML::CREDS_NS[] = // urn:mace:shibboleth:credentials:1.0
41 { chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_m, chLatin_a, chLatin_c, chLatin_e, chColon,
42   chLatin_s, chLatin_h, chLatin_i, chLatin_b, chLatin_b, chLatin_o, chLatin_l, chLatin_e, chLatin_t, chLatin_h, chColon,
43   chLatin_c, chLatin_r, chLatin_e, chLatin_d, chLatin_e, chLatin_n, chLatin_t, chLatin_i, chLatin_a, chLatin_l, chLatin_s, chColon,
44   chDigit_1, chPeriod, chDigit_0, chNull
45 };
46
47 const XMLCh XML::CREDS_SCHEMA_ID[] = // credentials.xsd
48 { chLatin_c, chLatin_r, chLatin_e, chLatin_d, chLatin_e, chLatin_n, chLatin_t, chLatin_i, chLatin_a, chLatin_l, chLatin_s,
49   chPeriod, chLatin_x, chLatin_s, chLatin_d, chNull
50 };
51
52 // Shibboleth vocabulary literals
53
54 const XMLCh XML::Literals::CAPath[] =
55 { chLatin_C, chLatin_A, chLatin_P, chLatin_a, chLatin_t, chLatin_h, chNull };
56
57 const XMLCh XML::Literals::Certificate[] =
58 { chLatin_C, chLatin_e, chLatin_r, chLatin_t, chLatin_i, chLatin_f, chLatin_i, chLatin_c, chLatin_a, chLatin_t, chLatin_e, chNull };
59
60 const XMLCh XML::Literals::Class[] =
61 { chLatin_c, chLatin_l, chLatin_a, chLatin_s, chLatin_s, chNull };
62
63 const XMLCh XML::Literals::Credentials[] =
64 { chLatin_C, chLatin_r, chLatin_e, chLatin_d, chLatin_e, chLatin_n, chLatin_t, chLatin_i, chLatin_a, chLatin_l, chLatin_s, chNull };
65
66 const XMLCh XML::Literals::CustomResolver[]=
67 { chLatin_C, chLatin_u, chLatin_s, chLatin_t, chLatin_o, chLatin_m,
68   chLatin_R, chLatin_e, chLatin_s, chLatin_o, chLatin_l, chLatin_v, chLatin_e, chLatin_r, chNull };
69
70 const XMLCh XML::Literals::FileResolver[]=
71 { chLatin_F, chLatin_i, chLatin_l, chLatin_e,
72   chLatin_R, chLatin_e, chLatin_s, chLatin_o, chLatin_l, chLatin_v, chLatin_e, chLatin_r, chNull };
73
74 const XMLCh XML::Literals::format[] =
75 { chLatin_f, chLatin_o, chLatin_r, chLatin_m, chLatin_a, chLatin_t, chNull };
76
77 const XMLCh XML::Literals::Id[] = { chLatin_I, chLatin_d, chNull };
78
79 const XMLCh XML::Literals::Key[] =
80 { chLatin_K, chLatin_e, chLatin_y, chNull };
81
82 const XMLCh XML::Literals::password[] =
83 { chLatin_p, chLatin_a, chLatin_s, chLatin_s, chLatin_w, chLatin_o, chLatin_r, chLatin_d, chNull };
84
85 const XMLCh XML::Literals::Path[] =
86 { chLatin_P, chLatin_a, chLatin_t, chLatin_h, chNull };
87
88 const XMLCh XML::Literals::Accept[]=
89 { chLatin_A, chLatin_c, chLatin_c, chLatin_e, chLatin_p, chLatin_t, chNull };
90
91 const XMLCh XML::Literals::Alias[]=
92 { chLatin_A, chLatin_l, chLatin_i, chLatin_a, chLatin_s, chNull };
93
94 const XMLCh XML::Literals::AnyAttribute[] =
95 { chLatin_A, chLatin_n, chLatin_y,
96   chLatin_A, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e, chNull
97 };
98
99 const XMLCh XML::Literals::AnySite[]=
100 { chLatin_A, chLatin_n, chLatin_y, chLatin_S, chLatin_i, chLatin_t, chLatin_e, chNull };
101
102 const XMLCh XML::Literals::AnyValue[]=
103 { chLatin_A, chLatin_n, chLatin_y, chLatin_V, chLatin_a, chLatin_l, chLatin_u, chLatin_e, chNull };
104
105 const XMLCh XML::Literals::AttributeAcceptancePolicy[] =
106 { chLatin_A, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e,
107   chLatin_A, chLatin_c, chLatin_c, chLatin_e, chLatin_p, chLatin_t, chLatin_a, chLatin_n, chLatin_c, chLatin_e,
108   chLatin_P, chLatin_o, chLatin_l, chLatin_i, chLatin_c, chLatin_y, chNull
109 };
110
111 const XMLCh XML::Literals::AttributeRule[] =
112 { chLatin_A, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e,
113   chLatin_R, chLatin_u, chLatin_l, chLatin_e, chNull
114 };
115
116 const XMLCh XML::Literals::CaseSensitive[] =
117 { chLatin_C, chLatin_a, chLatin_s, chLatin_e,
118   chLatin_S, chLatin_e, chLatin_n, chLatin_s, chLatin_i, chLatin_t, chLatin_i, chLatin_v, chLatin_e, chNull
119 };
120
121 const XMLCh XML::Literals::Factory[]=
122 { chLatin_F, chLatin_a, chLatin_c, chLatin_t, chLatin_o, chLatin_r, chLatin_y, chNull };
123
124 const XMLCh XML::Literals::Header[]=
125 { chLatin_H, chLatin_e, chLatin_a, chLatin_d, chLatin_e, chLatin_r, chNull };
126
127 const XMLCh XML::Literals::Name[]=
128 { chLatin_N, chLatin_a, chLatin_m, chLatin_e, chNull };
129
130 const XMLCh XML::Literals::Namespace[]=
131 { chLatin_N, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chLatin_p, chLatin_a, chLatin_c, chLatin_e, chNull };
132
133 const XMLCh XML::Literals::Scope[] = { chLatin_S, chLatin_c, chLatin_o, chLatin_p, chLatin_e, chNull };
134
135 const XMLCh XML::Literals::Scoped[] = { chLatin_S, chLatin_c, chLatin_o, chLatin_p, chLatin_e, chLatin_d, chNull };
136
137 const XMLCh XML::Literals::SiteRule[] =
138 { chLatin_S, chLatin_i, chLatin_t, chLatin_e, chLatin_R, chLatin_u, chLatin_l, chLatin_e, chNull };
139
140 const XMLCh XML::Literals::Type[]=
141 { chLatin_T, chLatin_y, chLatin_p, chLatin_e, chNull };
142
143 const XMLCh XML::Literals::Value[] =
144 { chLatin_V, chLatin_a, chLatin_l, chLatin_u, chLatin_e, chNull };
145
146 const XMLCh XML::Literals::literal[] =
147 { chLatin_l, chLatin_i, chLatin_t, chLatin_e, chLatin_r, chLatin_a, chLatin_l, chNull };
148
149 const XMLCh XML::Literals::regexp[] =
150 { chLatin_r, chLatin_e, chLatin_g, chLatin_e, chLatin_x, chLatin_p, chNull };
151
152 const XMLCh XML::Literals::xpath[] =
153 { chLatin_x, chLatin_p, chLatin_a, chLatin_t, chLatin_h, chNull };
154
155 const XMLCh XML::Literals::url[] = { chLatin_u, chLatin_r, chLatin_l, chNull };
156
157 const XMLCh XML::Literals::AccessControl[] =
158 { chLatin_A, chLatin_c, chLatin_c, chLatin_e, chLatin_s, chLatin_s,
159   chLatin_C, chLatin_o, chLatin_n, chLatin_t, chLatin_r, chLatin_o, chLatin_l, chNull
160 };
161
162 const XMLCh XML::Literals::AND[] =
163 { chLatin_A, chLatin_N, chLatin_D, chNull };
164
165 const XMLCh XML::Literals::NOT[] =
166 { chLatin_N, chLatin_O, chLatin_T, chNull };
167
168 const XMLCh XML::Literals::OR[] =
169 { chLatin_O, chLatin_R, chNull };
170
171 const XMLCh XML::Literals::require[] =
172 { chLatin_r, chLatin_e, chLatin_q, chLatin_u, chLatin_i, chLatin_r, chLatin_e, chNull };
173
174 const XMLCh XML::Literals::Rule[] =
175 { chLatin_R, chLatin_u, chLatin_l, chLatin_e, chNull };