// All the following use XPath search strings to find various bits of information in the // server's WMS capabilities description. internal static UriAndFormatType[] GetUriAndFormatInstances(System.Xml.XPath.XPathNavigator node, string pattern) { System.Xml.XPath.XPathNodeIterator iter = node.Select(Capabilities.ExpandPattern(pattern)); UriAndFormatType[] retVal = new UriAndFormatType[iter.Count]; while (iter.MoveNext()) { int i = iter.CurrentPosition - 1; retVal[i] = new UriAndFormatType(); retVal[i].Format = Capabilities.GetStringInstance(iter.Current, @"./Format"); retVal[i].Uri = Capabilities.GetOnlineResourceInstance(iter.Current, @"./OnlineResource"); } return(retVal); }
private static LogoOrLegendUriType GetLogoOrLegendUriInstance(System.Xml.XPath.XPathNavigator node, string pattern) { System.Xml.XPath.XPathNodeIterator iter = node.Select(Capabilities.ExpandPattern(pattern)); LogoOrLegendUriType retVal = new LogoOrLegendUriType(); if (iter.MoveNext()) { UriAndFormatType[] t = GetUriAndFormatInstances(iter.Current, @"."); if (t.Length > 0) { retVal.Uri = t[0]; } retVal.Width = double.Parse(Capabilities.GetStringInstance(iter.Current, @"./@Width")); retVal.Height = double.Parse(Capabilities.GetStringInstance(iter.Current, @"./@Height")); } return(retVal); }