MCPcopy Index your code
hub / github.com/MapServer/MapServer / msOWSCommonServiceProvider

Function msOWSCommonServiceProvider

mapowscommon.c:146–309  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144 */
145
146xmlNodePtr msOWSCommonServiceProvider(xmlNsPtr psNsOws, xmlNsPtr psNsXLink,
147 mapObj *map, const char *namespaces) {
148 const char *value = NULL;
149
150 xmlNodePtr psNode = NULL;
151 xmlNodePtr psRootNode = NULL;
152 xmlNodePtr psSubNode = NULL;
153 xmlNodePtr psSubSubNode = NULL;
154 xmlNodePtr psSubSubSubNode = NULL;
155
156 if (_validateNamespace(psNsOws) == MS_FAILURE)
157 psNsOws = xmlNewNs(psRootNode, BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_URI, BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_PREFIX);
158
159 psRootNode = xmlNewNode(psNsOws, BAD_CAST "ServiceProvider");
160
161 /* add child elements */
162
163 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "contactorganization");
164
165 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "ProviderName", BAD_CAST value);
166
167 if (!value) {
168 xmlAddSibling(psNode, xmlNewComment(BAD_CAST "WARNING: Mandatory metadata \"ows_contactorganization\" was missing for ows:ProviderName"));
169 }
170
171 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "ProviderSite", NULL);
172
173 xmlNewNsProp(psNode, psNsXLink, BAD_CAST "type", BAD_CAST "simple");
174
175 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "service_onlineresource");
176
177 xmlNewNsProp(psNode, psNsXLink, BAD_CAST "href", BAD_CAST value);
178
179 if (!value) {
180 xmlAddSibling(psNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_service_onlineresource\" was missing for ows:ProviderSite/@xlink:href"));
181 }
182
183 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "ServiceContact", NULL);
184
185 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "contactperson");
186
187 psSubNode = xmlNewChild(psNode, psNsOws, BAD_CAST "IndividualName", BAD_CAST value);
188
189 if (!value) {
190 xmlAddSibling(psSubNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_contactperson\" was missing for ows:IndividualName"));
191 }
192
193 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "contactposition");
194
195 psSubNode = xmlNewChild(psNode, psNsOws, BAD_CAST "PositionName", BAD_CAST value);
196
197 if (!value) {
198 xmlAddSibling(psSubNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_contactposition\" was missing for ows:PositionName"));
199 }
200
201 psSubNode = xmlNewChild(psNode, psNsOws, BAD_CAST "ContactInfo", NULL);
202
203 psSubSubNode = xmlNewChild(psSubNode, psNsOws, BAD_CAST "Phone", NULL);

Callers 4

msWCSGetCapabilities20Function · 0.85
msWFSGetCapabilities11Function · 0.85
msWCSGetCapabilities11Function · 0.85
msSOSGetCapabilitiesFunction · 0.85

Calls 2

_validateNamespaceFunction · 0.85
msOWSLookupMetadataFunction · 0.85

Tested by

no test coverage detected