028c4b3fd4b8a538cb94475b0aecdd89f443337e
[shibboleth/cpp-xmltooling.git] / xmltooling / util / XMLConstants.h
1 /*\r
2  *  Copyright 2001-2006 Internet2\r
3  * \r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 /**\r
18  * @file XMLConstants.h\r
19  * \r
20  * Fundamental XML namespace constants \r
21  */\r
22 \r
23 #if !defined(__xmltooling_xmlconstants_h__)\r
24 #define __xmltooling_xmlconstants_h__\r
25 \r
26 #include <xmltooling/unicode.h>\r
27 \r
28 namespace xmltooling {\r
29     \r
30     /**\r
31      * XML related constants.\r
32      */\r
33     struct XMLTOOL_API XMLConstants\r
34     {\r
35         /**  XML core namespace ("http://www.w3.org/XML/1998/namespace") */\r
36         static const XMLCh XML_NS[]; \r
37 \r
38         /** XML namespace prefix for special xml attributes ("xml") */\r
39         static const XMLCh XML_PREFIX[];\r
40     \r
41         /**  XML namespace for xmlns attributes ("http://www.w3.org/2000/xmlns/") */\r
42         static const XMLCh XMLNS_NS[];\r
43         \r
44         /** XML namespace prefix for xmlns attributes ("xmlns") */\r
45         static const XMLCh XMLNS_PREFIX[];\r
46     \r
47         /**  XML Schema namespace ("http://www.w3.org/2001/XMLSchema") */\r
48         static const XMLCh XSD_NS[];\r
49         \r
50         /**  XML Schema QName prefix ("xs") */\r
51         static const XMLCh XSD_PREFIX[];\r
52     \r
53         /**  XML Schema Instance namespace ("http://www.w3.org/2001/XMLSchema-instance") */\r
54         static const XMLCh XSI_NS[];\r
55         \r
56         /**  XML Schema Instance QName prefix ("xsi") */\r
57         static const XMLCh XSI_PREFIX[];\r
58         \r
59         /**  XML Signature namespace ("http://www.w3.org/2000/09/xmldsig#") */\r
60         static const XMLCh XMLSIG_NS[];\r
61         \r
62         /**  XML Signature QName prefix ("ds") */\r
63         static const XMLCh XMLSIG_PREFIX[];\r
64         \r
65         /**  XML Encryption namespace ("http://www.w3.org/2001/04/xmlenc#") */\r
66         static const XMLCh XMLENC_NS[];\r
67         \r
68         /**  XML Encryption QName prefix ("xenc") */\r
69         static const XMLCh XMLENC_PREFIX[];\r
70         \r
71         /**  XML Tooling namespace ("http://www.opensaml.org/xmltooling") */\r
72         static const XMLCh XMLTOOLING_NS[];\r
73 \r
74         /**  XML "true" boolean constant */\r
75         static const XMLCh XML_TRUE[];\r
76 \r
77         /**  XML "false" boolean constant */\r
78         static const XMLCh XML_FALSE[];\r
79 \r
80         /**  XML "1" boolean constant */\r
81         static const XMLCh XML_ONE[];\r
82 \r
83         /**  XML "0" boolean constant */\r
84         static const XMLCh XML_ZERO[];\r
85         \r
86         /** Enumerations of the different values of a boolean attribute or element */\r
87         enum xmltooling_bool_t {\r
88             XML_BOOL_NULL,\r
89             XML_BOOL_TRUE,\r
90             XML_BOOL_FALSE,\r
91             XML_BOOL_ONE,\r
92             XML_BOOL_ZERO\r
93         };\r
94     };\r
95 \r
96 };\r
97 \r
98 #endif /* __xmltooling_xmlconstants_h__ */\r