libdap Updated for version 3.18.1
DapXmlNamespaces.h
1/*
2 * DapXmlNamspaces.h
3 *
4 * Created on: Feb 19, 2014
5 * Author: ndp
6 */
7
8#ifndef DAPXMLNAMSPACES_H_
9#define DAPXMLNAMSPACES_H_
10
11
12namespace libdap {
13
14enum DAPVersion { DAP_2_0, DAP_3_2, DAP_4_0 };
15
17private:
18
19 string c_xml_xsi;
20
21 string c_xml_namespace;
22
23 string grddl_transformation_dap32;
24
25 string c_default_dap20_schema_location;
26 string c_default_dap32_schema_location;
27 string c_default_dap40_schema_location;
28
29 string c_dap20_namespace;
30 string c_dap32_namespace;
31 string c_dap40_namespace;
32
33public:
34
36 c_xml_xsi = "http://www.w3.org/2001/XMLSchema-instance";
37 c_xml_namespace = "http://www.w3.org/XML/1998/namespace";
38
39 grddl_transformation_dap32 = "http://xml.opendap.org/transforms/ddxToRdfTriples.xsl";
40
41 c_default_dap20_schema_location = "http://xml.opendap.org/dap/dap2.xsd";
42 c_default_dap32_schema_location = "http://xml.opendap.org/dap/dap3.2.xsd";
43 c_default_dap40_schema_location = "http://xml.opendap.org/dap/dap4.0.xsd";
44
45 c_dap20_namespace = "http://xml.opendap.org/ns/DAP2";
46 c_dap32_namespace = "http://xml.opendap.org/ns/DAP/3.2#";
47 c_dap40_namespace = "http://xml.opendap.org/ns/DAP/4.0#";
48
49 };
50 virtual ~DapXmlNamspaces(){};
51
56 return c_xml_xsi;
57 }
58
63 return c_xml_namespace;
64 }
65
69 string getGrddlTransformation(DAPVersion version){
70 switch(version) {
71 case DAP_2_0:
72 throw InternalErr(__FILE__, __LINE__, "DapXmlNamspaces::getDapXmlNamespaceString() - GRDDL Transformation undefined for DAP 2.0");
73 break;
74
75 case DAP_3_2:
76 return grddl_transformation_dap32;
77 break;
78
79 case DAP_4_0:
80 throw InternalErr(__FILE__, __LINE__, "DapXmlNamspaces::getDapXmlNamespaceString() - GRDDL Transformation undefined for DAP 4.0");
81 break;
82
83 default:
84 throw InternalErr(__FILE__, __LINE__, "DapXmlNamspaces::getDapXmlNamespaceString() - Unrecognized namespace version.");
85 break;
86 }
87 return 0;
88 }
89
90
91
95 string getDapNamespaceString(DAPVersion version){
96 switch(version) {
97 case DAP_2_0:
98 return c_dap20_namespace;
99 break;
100
101 case DAP_3_2:
102 return c_dap32_namespace;
103 break;
104
105 case DAP_4_0:
106 return c_dap40_namespace;
107 break;
108
109 default:
110 throw InternalErr(__FILE__, __LINE__, "DapXmlNamspaces::getDapXmlNamespaceString() - Unrecognized namespace version.");
111 break;
112 }
113 return 0;
114 }
115
119 string getSchemaLocationString(DAPVersion version){
120 switch(version) {
121 case DAP_2_0:
122 return c_default_dap20_schema_location;
123 break;
124
125 case DAP_3_2:
126 return c_default_dap32_schema_location;
127 break;
128
129 case DAP_4_0:
130 return c_default_dap40_schema_location;
131 break;
132
133 default:
134 throw InternalErr(__FILE__, __LINE__, "DapXmlNamspaces::getSchemaLocationString() - Unrecognized namespace version.");
135 break;
136 }
137 return 0;
138 }
139
140
141
146 string getSchemaLocationDeclarationString(DAPVersion version){
147 switch(version) {
148 case DAP_2_0:
149 return c_dap20_namespace + " " + c_default_dap20_schema_location;
150 break;
151
152 case DAP_3_2:
153 return c_dap32_namespace + " " + c_default_dap32_schema_location;
154 break;
155
156 case DAP_4_0:
157 return c_dap40_namespace + " " + c_default_dap40_schema_location;
158 break;
159
160 default:
161 throw InternalErr(__FILE__, __LINE__, "DapXmlNamspaces::getSchemaLocationDeclarationString() - Unrecognized namespace version.");
162 break;
163 }
164 return 0;
165 }
166
167};
168
169} /* namespace libdap */
170#endif /* DAPXMLNAMSPACES_H_ */
string getDapNamespaceString(DAPVersion version)
string getSchemaLocationDeclarationString(DAPVersion version)
string getGrddlTransformation(DAPVersion version)
string getSchemaLocationString(DAPVersion version)
A class for software fault reporting.
Definition: InternalErr.h:65