MCPcopy Create free account
hub / github.com/MapServer/MapServer / msOWSCommonServiceIdentification

Function msOWSCommonServiceIdentification

mapowscommon.c:65–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63 */
64
65xmlNodePtr msOWSCommonServiceIdentification(xmlNsPtr psNsOws, mapObj *map, const char *servicetype, const char *version, const char *namespaces) {
66 const char *value = NULL;
67
68 xmlNodePtr psRootNode = NULL;
69 xmlNodePtr psNode = NULL;
70
71 if (_validateNamespace(psNsOws) == MS_FAILURE)
72 psNsOws = xmlNewNs(psRootNode, BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_URI, BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_PREFIX);
73
74 /* create element name */
75 psRootNode = xmlNewNode(psNsOws, BAD_CAST "ServiceIdentification");
76
77 /* add child elements */
78
79 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "title");
80
81 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "Title", BAD_CAST value);
82
83 if (!value) {
84 xmlAddSibling(psNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_title\" missing for ows:Title"));
85 }
86
87 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "abstract");
88
89 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "Abstract", BAD_CAST value);
90
91 if (!value) {
92 xmlAddSibling(psNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_abstract\" was missing for ows:Abstract"));
93 }
94
95 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "keywordlist");
96
97 if (value) {
98 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "Keywords", NULL);
99 msLibXml2GenerateList(psNode, psNsOws, "Keyword", value, ',');
100 }
101
102 else {
103 xmlAddSibling(psNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_keywordlist\" was missing for ows:KeywordList"));
104 }
105
106 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "ServiceType", BAD_CAST servicetype);
107
108 xmlNewProp(psNode, BAD_CAST "codeSpace", BAD_CAST MS_OWSCOMMON_OGC_CODESPACE);
109
110 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "ServiceTypeVersion", BAD_CAST version);
111
112 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "fees");
113
114 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "Fees", BAD_CAST value);
115
116 if (!value) {
117 xmlAddSibling(psNode, xmlNewComment(BAD_CAST "WARNING: Optional metadata \"ows_fees\" was missing for ows:Fees"));
118 }
119
120 value = msOWSLookupMetadata(&(map->web.metadata), namespaces, "accessconstraints");
121
122 psNode = xmlNewChild(psRootNode, psNsOws, BAD_CAST "AccessConstraints", BAD_CAST value);

Callers 4

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

Calls 3

_validateNamespaceFunction · 0.85
msOWSLookupMetadataFunction · 0.85
msLibXml2GenerateListFunction · 0.85

Tested by

no test coverage detected