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