private void ParseCapabilities(XmlDocument doc)
{
if (doc.DocumentElement.Attributes["version"] != null)
{
_WmsVersion = doc.DocumentElement.Attributes["version"].Value;
if (_WmsVersion != "1.0.0" && _WmsVersion != "1.1.0" && _WmsVersion != "1.1.1" && _WmsVersion != "1.3.0")
throw new ApplicationException("WMS Version " + _WmsVersion + " not supported");
nsmgr.AddNamespace(String.Empty, "http://www.opengis.net/wms");
if (_WmsVersion == "1.3.0")
{
nsmgr.AddNamespace("sm", "http://www.opengis.net/wms");
}
else
nsmgr.AddNamespace("sm", "");
nsmgr.AddNamespace("xlink", "http://www.w3.org/1999/xlink");
nsmgr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
}
else
throw (new ApplicationException("No service version number found!"));
XmlNode xnService = doc.DocumentElement.SelectSingleNode("sm:Service", nsmgr);
XmlNode xnCapability = doc.DocumentElement.SelectSingleNode("sm:Capability", nsmgr);
if (xnService != null)
ParseServiceDescription(xnService);
else
throw (new ApplicationException("No service tag found!"));
if (xnCapability != null)
ParseCapability(xnCapability);
else
throw (new ApplicationException("No capability tag found!"));
}