07122098710587572e1d3b216da0252560e98bf8
[shibboleth/cpp-xmltooling.git] / xmltooling / util / XMLConstants.h
1 /*
2  *  Copyright 2001-2009 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 /**
18  * @file xmltooling/util/XMLConstants.h
19  * 
20  * Fundamental XML namespace constants.
21  */
22
23 #ifndef __xmltooling_xmlconstants_h__
24 #define __xmltooling_xmlconstants_h__
25
26 #include <xmltooling/base.h>
27 #include <xercesc/util/XercesDefs.hpp>
28
29 /**
30  * XML related constants.
31  */
32 namespace xmlconstants {
33     
34     /**  XML core namespace ("http://www.w3.org/XML/1998/namespace") */
35     extern XMLTOOL_API const XMLCh XML_NS[];
36
37     /** XML namespace prefix for special xml attributes ("xml") */
38     extern XMLTOOL_API const XMLCh XML_PREFIX[];
39
40     /**  XML namespace for xmlns attributes ("http://www.w3.org/2000/xmlns/") */
41     extern XMLTOOL_API const XMLCh XMLNS_NS[];
42     
43     /** XML namespace prefix for xmlns attributes ("xmlns") */
44     extern XMLTOOL_API const XMLCh XMLNS_PREFIX[];
45
46     /**  XML Schema namespace ("http://www.w3.org/2001/XMLSchema") */
47     extern XMLTOOL_API const XMLCh XSD_NS[];
48     
49     /**  XML Schema QName prefix ("xs") */
50     extern XMLTOOL_API const XMLCh XSD_PREFIX[];
51
52     /**  XML Schema Instance namespace ("http://www.w3.org/2001/XMLSchema-instance") */
53     extern XMLTOOL_API const XMLCh XSI_NS[];
54     
55     /**  XML Schema Instance QName prefix ("xsi") */
56     extern XMLTOOL_API const XMLCh XSI_PREFIX[];
57     
58     /**  XML Signature namespace ("http://www.w3.org/2000/09/xmldsig#") */
59     extern XMLTOOL_API const XMLCh XMLSIG_NS[];
60     
61     /**  XML Signature QName prefix ("ds") */
62     extern XMLTOOL_API const XMLCh XMLSIG_PREFIX[];
63
64     /**  XML Signature namespace ("http://www.w3.org/2009/xmldsig11#") */
65     extern XMLTOOL_API const XMLCh XMLSIG11_NS[];
66
67     /**  XML Signature QName prefix ("ds11") */
68     extern XMLTOOL_API const XMLCh XMLSIG11_PREFIX[];
69     
70     /**  XML Encryption namespace ("http://www.w3.org/2001/04/xmlenc#") */
71     extern XMLTOOL_API const XMLCh XMLENC_NS[];
72     
73     /**  XML Encryption QName prefix ("xenc") */
74     extern XMLTOOL_API const XMLCh XMLENC_PREFIX[];
75     
76     /**  SOAP 1.1 Envelope XML namespace ("http://schemas.xmlsoap.org/soap/envelope/") */
77     extern XMLTOOL_API const XMLCh SOAP11ENV_NS[]; 
78
79     /**  SOAP 1.1 Envelope QName prefix ("S") */
80     extern XMLTOOL_API const XMLCh SOAP11ENV_PREFIX[];
81
82     /**  XML Tooling namespace ("http://www.opensaml.org/xmltooling") */
83     extern XMLTOOL_API const XMLCh XMLTOOLING_NS[];
84
85     /**  XML "true" boolean constant */
86     extern XMLTOOL_API const XMLCh XML_TRUE[];
87
88     /**  XML "false" boolean constant */
89     extern XMLTOOL_API const XMLCh XML_FALSE[];
90
91     /**  XML "1" boolean constant */
92     extern XMLTOOL_API const XMLCh XML_ONE[];
93
94     /**  XML "0" boolean constant */
95     extern XMLTOOL_API const XMLCh XML_ZERO[];
96     
97     /** Enumerations of the different values of a boolean attribute or element */
98     enum xmltooling_bool_t {
99         XML_BOOL_NULL,
100         XML_BOOL_TRUE,
101         XML_BOOL_FALSE,
102         XML_BOOL_ONE,
103         XML_BOOL_ZERO
104     };
105 };
106
107 #endif /* __xmltooling_xmlconstants_h__ */