Merge branch '1.x' of ssh://authdev.it.ohio-state.edu/~scantor/git/cpp-xmltooling...
[shibboleth/cpp-xmltooling.git] / xmltooling / util / XMLConstants.h
1 /**
2  * Licensed to the University Corporation for Advanced Internet
3  * Development, Inc. (UCAID) under one or more contributor license
4  * agreements. See the NOTICE file distributed with this work for
5  * additional information regarding copyright ownership.
6  *
7  * UCAID licenses this file to you under the Apache License,
8  * Version 2.0 (the "License"); you may not use this file except
9  * in compliance with the License. You may obtain a copy of the
10  * License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
17  * either express or implied. See the License for the specific
18  * language governing permissions and limitations under the License.
19  */
20
21 /**
22  * @file xmltooling/util/XMLConstants.h
23  * 
24  * Fundamental XML namespace constants.
25  */
26
27 #ifndef __xmltooling_xmlconstants_h__
28 #define __xmltooling_xmlconstants_h__
29
30 #include <xmltooling/base.h>
31 #include <xercesc/util/XercesDefs.hpp>
32
33 /**
34  * XML related constants.
35  */
36 namespace xmlconstants {
37     
38     /**  XML core namespace ("http://www.w3.org/XML/1998/namespace") */
39     extern XMLTOOL_API const XMLCh XML_NS[];
40
41     /** XML namespace prefix for special xml attributes ("xml") */
42     extern XMLTOOL_API const XMLCh XML_PREFIX[];
43
44     /**  XML namespace for xmlns attributes ("http://www.w3.org/2000/xmlns/") */
45     extern XMLTOOL_API const XMLCh XMLNS_NS[];
46     
47     /** XML namespace prefix for xmlns attributes ("xmlns") */
48     extern XMLTOOL_API const XMLCh XMLNS_PREFIX[];
49
50     /**  XML Schema namespace ("http://www.w3.org/2001/XMLSchema") */
51     extern XMLTOOL_API const XMLCh XSD_NS[];
52     
53     /**  XML Schema QName prefix ("xs") */
54     extern XMLTOOL_API const XMLCh XSD_PREFIX[];
55
56     /**  XML Schema Instance namespace ("http://www.w3.org/2001/XMLSchema-instance") */
57     extern XMLTOOL_API const XMLCh XSI_NS[];
58     
59     /**  XML Schema Instance QName prefix ("xsi") */
60     extern XMLTOOL_API const XMLCh XSI_PREFIX[];
61     
62     /**  XML Signature namespace ("http://www.w3.org/2000/09/xmldsig#") */
63     extern XMLTOOL_API const XMLCh XMLSIG_NS[];
64     
65     /**  XML Signature QName prefix ("ds") */
66     extern XMLTOOL_API const XMLCh XMLSIG_PREFIX[];
67
68     /**  XML Signature namespace ("http://www.w3.org/2009/xmldsig11#") */
69     extern XMLTOOL_API const XMLCh XMLSIG11_NS[];
70
71     /**  XML Signature QName prefix ("ds11") */
72     extern XMLTOOL_API const XMLCh XMLSIG11_PREFIX[];
73     
74     /**  XML Encryption namespace ("http://www.w3.org/2001/04/xmlenc#") */
75     extern XMLTOOL_API const XMLCh XMLENC_NS[];
76     
77     /**  XML Encryption QName prefix ("xenc") */
78     extern XMLTOOL_API const XMLCh XMLENC_PREFIX[];
79     
80     /**  SOAP 1.1 Envelope XML namespace ("http://schemas.xmlsoap.org/soap/envelope/") */
81     extern XMLTOOL_API const XMLCh SOAP11ENV_NS[]; 
82
83     /**  SOAP 1.1 Envelope QName prefix ("S") */
84     extern XMLTOOL_API const XMLCh SOAP11ENV_PREFIX[];
85
86     /**  XML Tooling namespace ("http://www.opensaml.org/xmltooling") */
87     extern XMLTOOL_API const XMLCh XMLTOOLING_NS[];
88
89     /**  XML "true" boolean constant */
90     extern XMLTOOL_API const XMLCh XML_TRUE[];
91
92     /**  XML "false" boolean constant */
93     extern XMLTOOL_API const XMLCh XML_FALSE[];
94
95     /**  XML "1" boolean constant */
96     extern XMLTOOL_API const XMLCh XML_ONE[];
97
98     /**  XML "0" boolean constant */
99     extern XMLTOOL_API const XMLCh XML_ZERO[];
100     
101     /** Enumerations of the different values of a boolean attribute or element */
102     enum xmltooling_bool_t {
103         XML_BOOL_NULL,
104         XML_BOOL_TRUE,
105         XML_BOOL_FALSE,
106         XML_BOOL_ONE,
107         XML_BOOL_ZERO
108     };
109 };
110
111 #endif /* __xmltooling_xmlconstants_h__ */