protected DCPTypeElement(string name, XElement node, string @namespace) : this(name) { var element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) OnlineResource = new OnlineResource(element, @namespace); }
public override void ReadXml(XmlReader reader) { if (CheckEmptyNode(reader, "DataURL", Namespace)) return; while (!reader.EOF) { if (reader.IsStartElement()) { switch (reader.LocalName) { case "Format": Format = reader.ReadElementContentAsString(); break; case "OnlineResource": OnlineResource = new OnlineResource(); OnlineResource.ReadXml(reader); break; default: reader.Skip(); break; } } else { reader.Read(); } } }
public override XElement ToXElement(string @namespace) { return(new XElement(XName.Get("StyleURL", @namespace), new XAttribute(XName.Get("type"), Type), new XElement(XName.Get("Format", @namespace), Format), OnlineResource.ToXElement(@namespace))); }
public override void ReadXml(XmlReader reader) { reader.MoveToContent(); if (reader.IsEmptyElement) { reader.Read(); return; } while (!reader.EOF) { if (reader.IsStartElement()) { switch (reader.LocalName) { case "Format": Format = reader.ReadElementContentAsString(); break; case "OnlineResource": OnlineResource = new OnlineResource(); OnlineResource.ReadXml(reader); break; default: reader.Skip(); break; } } else { reader.Read(); } } }
public override XElement ToXElement(string @namespace) { return(new XElement(XName.Get("Attribution", @namespace), new XElement(XName.Get("Title", @namespace), Title), OnlineResource.ToXElement(@namespace), LogoURL.ToXElement(@namespace))); }
public LogoURL(XElement node, string nameSpace) { var widthAttribute = node.Attribute(XName.Get("width")); if (widthAttribute == null) { throw new System.Exception("Width node is null in xml"); } Width = int.Parse(widthAttribute.Value, NumberFormatInfo.InvariantInfo); var heightAttribute = node.Attribute(XName.Get("height")); if (heightAttribute == null) { throw new System.Exception("Height node is null in xml"); } Height = int.Parse(heightAttribute.Value, NumberFormatInfo.InvariantInfo); var element = node.Element(XName.Get("Format", nameSpace)); Format = element?.Value ?? "png"; element = node.Element(XName.Get("OnlineResource", nameSpace)); if (element != null) { OnlineResource = new OnlineResource(element, nameSpace); } }
public override void ReadXml(XmlReader reader) { if (CheckEmptyNode(reader, _name, Namespace)) OnlineResource = new OnlineResource(); OnlineResource.ReadXml(reader); reader.ReadEndElement(); }
private static ITileSource ParseTileSetNode(XElement xTileSet, OnlineResource onlineResource) { var styles = xTileSet.Elements("Styles").Select(xStyle => xStyle.Value).ToList(); var layers = xTileSet.Elements("Layers").Select(xLayer => xLayer.Value).ToList(); var schema = ToTileSchema(xTileSet, CreateDefaultName(layers)); var wmscRequest = new WmscRequest(new Uri(onlineResource.Href), schema, layers, styles); return new WmscTileSource(schema, new HttpTileProvider(wmscRequest)); }
public override XElement ToXElement(string @namespace) { return(new XElement(XName.Get("LegendURL", @namespace), new XAttribute(XName.Get("width"), Width.ToString(NumberFormatInfo.InvariantInfo)), new XAttribute(XName.Get("height"), Height.ToString(NumberFormatInfo.InvariantInfo)), new XElement(XName.Get("Format", @namespace), Format), OnlineResource.ToXElement(@namespace))); }
public StyleSheetURL(XElement node, string @namespace) { var element = node.Element(XName.Get("Format", @namespace)); Format = element == null ? "png" : element.Value; element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) OnlineResource = new OnlineResource(element, @namespace); }
protected DCPTypeElement(string name, XElement node, string @namespace) : this(name) { var element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) { OnlineResource = new OnlineResource(element, @namespace); } }
public override void ReadXml(XmlReader reader) { if (CheckEmptyNode(reader, _name, Namespace)) { OnlineResource = new OnlineResource(); } OnlineResource.ReadXml(reader); reader.ReadEndElement(); }
public Service(XElement node, string @namespace) { XElement element; if (ParseName) { element = node.Element(XName.Get("Name", @namespace)); if (element == null) throw WmsParsingException.ElementNotFound("Name"); var value = element.Value; if (!value.ToLower().StartsWith("ogc:wms")) Debug.WriteLine("Warning: Invalid service name: '{0}'. Must be 'OGC:WMS'", value); Name = ServiceName.WMS; } element = node.Element(XName.Get("Title", @namespace)); if (element == null) throw WmsParsingException.ElementNotFound("Title"); Title = element.Value; element = node.Element(XName.Get("Abstract", @namespace)); Abstract = element != null ? element.Value : string.Empty; element = node.Element(XName.Get("KeywordList", @namespace)); if (element != null) KeywordList = new KeywordList(element, @namespace); element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) OnlineResource = new OnlineResource(element, @namespace); element = node.Element(XName.Get("ContactInformation", @namespace)); if (element != null) ContactInformation = new ContactInformation(element, @namespace); element = node.Element(XName.Get("Fees", @namespace)); Fees = element != null ? element.Value : string.Empty; element = node.Element(XName.Get("AccessConstraints", @namespace)); AccessConstraints = element != null ? element.Value : string.Empty; element = node.Element(XName.Get("LayerLimit", @namespace)); if (element == null) LayerLimit = null; else LayerLimit = int.Parse(element.Value, NumberFormatInfo.InvariantInfo); element = node.Element(XName.Get("MaxWidth", @namespace)); if (element == null) MaxWidth = null; else MaxWidth = int.Parse(element.Value, NumberFormatInfo.InvariantInfo); element = node.Element(XName.Get("MaxHeight", @namespace)); if (element == null) MaxHeight = null; else MaxHeight = int.Parse(element.Value, NumberFormatInfo.InvariantInfo); }
public override void WriteXml(XmlWriter writer) { writer.WriteElementString("Title", Namespace, Title); writer.WriteStartElement("OnlineResource", Namespace); OnlineResource.WriteXml(writer); writer.WriteEndElement(); writer.WriteStartElement("LogoURL", Namespace); LogoURL.WriteXml(writer); writer.WriteEndElement(); }
public AuthorityURL(XElement node, string @namespace) { var att = node.Attribute("name"); if (att == null) throw WmsParsingException.AttributeNotFound("name"); Name = att.Value; var element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) OnlineResource = new OnlineResource(element, @namespace); }
public Attribution(XElement node, string @namespace) : this() { var element = node.Element(XName.Get("Title", @namespace)); if (element != null) Title = element.Value; element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) OnlineResource = new OnlineResource(element, @namespace); element = node.Element(XName.Get("LogoURL", @namespace)); if (element != null) LogoURL = new LogoURL(element, @namespace); }
public StyleURL(XElement node, string @namespace) { var element = node.Element(XName.Get("Format", @namespace)); Format = element == null ? "png" : element.Value; element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) { OnlineResource = new OnlineResource(element, @namespace); } }
public DataURL(XElement node, string ns) { var element = node.Element(XName.Get("Format", ns)); if (element == null) throw WmsParsingException.ElementNotFound("Format"); Format = element.Value; element = node.Element(XName.Get("OnlineResource", ns)); if (element == null) throw WmsParsingException.ElementNotFound("OnlineResource"); OnlineResource = new OnlineResource(element, ns); }
public LogoURL(XElement node, string nameSpace) { var att = node.Attribute(XName.Get("width")); Width = int.Parse(att.Value, NumberFormatInfo.InvariantInfo); att = node.Attribute(XName.Get("height")); Height = int.Parse(att.Value, NumberFormatInfo.InvariantInfo); var element = node.Element(XName.Get("Format", nameSpace)); Format = element == null ? "png" : element.Value; element = node.Element(XName.Get("OnlineResource", nameSpace)); if (element != null) OnlineResource = new OnlineResource(element, nameSpace); }
public override void WriteXml(XmlWriter writer) { writer.WriteElementString("Name", Namespace, Name.ToString()); writer.WriteElementString("Title", Namespace, Title); if (!string.IsNullOrEmpty(Abstract)) { writer.WriteElementString("Abstract", Namespace, Abstract); } if (_keywordListField != null && _keywordListField.Keyword.Count > 0) { writer.WriteStartElement("KeywordList", Namespace); KeywordList.WriteXml(writer); writer.WriteEndElement(); } writer.WriteStartElement("OnlineResource", Namespace); OnlineResource.WriteXml(writer); writer.WriteEndElement(); if (_contactInformationField != null) { writer.WriteStartElement("ContactInformation", Namespace); _contactInformationField.WriteXml(writer); writer.WriteEndElement(); } if (!string.IsNullOrEmpty(Fees)) { writer.WriteElementString("Fees", Namespace, Fees); } if (!string.IsNullOrEmpty(AccessConstraints)) { writer.WriteElementString("AccessConstraints", Namespace, AccessConstraints); } if (LayerLimit.HasValue) { writer.WriteElementString("LayerLimit", Namespace, LayerLimit.Value.ToString()); } if (MaxWidth.HasValue) { writer.WriteElementString("MaxWidth", Namespace, MaxWidth.Value.ToString()); } if (MaxHeight.HasValue) { writer.WriteElementString("MaxHeight", Namespace, MaxHeight.Value.ToString()); } }
public MetadataURL(XElement node, string @namespace) { var att = node.Attribute("type"); if (att == null) throw WmsParsingException.AttributeNotFound("type"); Type = att.Value; var element = node.Element(XName.Get("Format", @namespace)); Format = element == null ? "png" : element.Value; element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) OnlineResource = new OnlineResource(element, @namespace); }
public override void ReadXml(XmlReader reader) { reader.MoveToContent(); var isEmpty = reader.IsEmptyElement; reader.ReadStartElement(); if (!isEmpty) { reader.ReadStartElement("Title"); Title = reader.ReadContentAsString(); reader.ReadEndElement(); OnlineResource.ReadXml(reader); LogoURL.ReadXml(reader); reader.ReadEndElement(); } }
public FeatureListURL(XElement node, string ns) { var element = node.Element(XName.Get("Format", ns)); if (element == null) { throw WmsParsingException.ElementNotFound("Format"); } Format = element.Value; element = node.Element(XName.Get("OnlineResource", ns)); if (element == null) { throw WmsParsingException.ElementNotFound("OnlineResource"); } OnlineResource = new OnlineResource(element, ns); }
public AuthorityURL(XElement node, string @namespace) { var att = node.Attribute("name"); if (att == null) { throw WmsParsingException.AttributeNotFound("name"); } Name = att.Value; var element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) { OnlineResource = new OnlineResource(element, @namespace); } }
public LegendURL(XElement node, string nameSpace) { var att = node.Attribute(XName.Get("width")); Width = int.Parse(att.Value, NumberFormatInfo.InvariantInfo); att = node.Attribute(XName.Get("height")); Height = int.Parse(att.Value, NumberFormatInfo.InvariantInfo); var element = node.Element(XName.Get("Format", nameSpace)); Format = element?.Value ?? "png"; element = node.Element(XName.Get("OnlineResource", nameSpace)); if (element != null) { OnlineResource = new OnlineResource(element, nameSpace); } }
public MetadataURL(XElement node, string @namespace) { var att = node.Attribute("type"); if (att == null) { throw WmsParsingException.AttributeNotFound("type"); } Type = att.Value; var element = node.Element(XName.Get("Format", @namespace)); Format = element == null ? "png" : element.Value; element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) { OnlineResource = new OnlineResource(element, @namespace); } }
public Attribution(XElement node, string @namespace) : this() { var element = node.Element(XName.Get("Title", @namespace)); if (element != null) { Title = element.Value; } element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) { OnlineResource = new OnlineResource(element, @namespace); } element = node.Element(XName.Get("LogoURL", @namespace)); if (element != null) { LogoURL = new LogoURL(element, @namespace); } }
public override void ReadXml(XmlReader reader) { if (CheckEmptyNode(reader, "Service", string.Empty)) { throw WmsParsingException.ElementNotFound("Service"); } while (!reader.EOF) { if (reader.IsStartElement()) { switch (reader.LocalName) { case "Name": string name = reader.ReadElementContentAsString(); const string prefix = "ogc:"; if (name.ToLower().StartsWith(prefix)) { name = name.Substring(prefix.Length); } Name = (ServiceName)Enum.Parse(typeof(ServiceName), name, true); break; case "Title": Title = reader.ReadElementContentAsString(); break; case "Abstact": Abstract = reader.ReadElementContentAsString(); break; case "KeywordList": KeywordList = new KeywordList(); KeywordList.ReadXml(reader); break; case "OnlineResource": OnlineResource = new OnlineResource(); OnlineResource.ReadXml(reader); break; case "ContactInformation": ContactInformation = new ContactInformation(); ContactInformation.ReadXml(reader); break; case "Fees": Fees = reader.ReadElementContentAsString(); break; case "AccessConstraints": AccessConstraints = reader.ReadElementContentAsString(); break; case "LayerLimit": LayerLimit = reader.ReadElementContentAsInt(); break; case "MaxWidth": MaxWidth = reader.ReadElementContentAsInt(); break; case "MaxHeight": MaxHeight = reader.ReadElementContentAsInt(); break; default: reader.Skip(); break; } } else { reader.Read(); } } }
public Service(XElement node, string @namespace) { XElement element; if (ParseName) { element = node.Element(XName.Get("Name", @namespace)); if (element == null) { throw WmsParsingException.ElementNotFound("Name"); } var value = element.Value; if (!value.ToLower().StartsWith("ogc:wms")) { Debug.WriteLine("Warning: Invalid service name: '{0}'. Must be 'OGC:WMS'", value); } Name = ServiceName.WMS; } element = node.Element(XName.Get("Title", @namespace)); if (element == null) { throw WmsParsingException.ElementNotFound("Title"); } Title = element.Value; element = node.Element(XName.Get("Abstract", @namespace)); Abstract = element != null ? element.Value : string.Empty; element = node.Element(XName.Get("KeywordList", @namespace)); if (element != null) { KeywordList = new KeywordList(element, @namespace); } element = node.Element(XName.Get("OnlineResource", @namespace)); if (element != null) { OnlineResource = new OnlineResource(element, @namespace); } element = node.Element(XName.Get("ContactInformation", @namespace)); if (element != null) { ContactInformation = new ContactInformation(element, @namespace); } element = node.Element(XName.Get("Fees", @namespace)); Fees = element != null ? element.Value : string.Empty; element = node.Element(XName.Get("AccessConstraints", @namespace)); AccessConstraints = element != null ? element.Value : string.Empty; element = node.Element(XName.Get("LayerLimit", @namespace)); if (element == null) { LayerLimit = null; } else { LayerLimit = int.Parse(element.Value, NumberFormatInfo.InvariantInfo); } element = node.Element(XName.Get("MaxWidth", @namespace)); if (element == null) { MaxWidth = null; } else { MaxWidth = int.Parse(element.Value, NumberFormatInfo.InvariantInfo); } element = node.Element(XName.Get("MaxHeight", @namespace)); if (element == null) { MaxHeight = null; } else { MaxHeight = int.Parse(element.Value, NumberFormatInfo.InvariantInfo); } }
/// <remarks> WMS-C uses the VendorSpecificCapabilities to specify the tile schema.</remarks> private static IEnumerable<ITileSource> ParseVendorSpecificCapabilitiesNode( XElement xVendorSpecificCapabilities, OnlineResource onlineResource) { var xTileSets = xVendorSpecificCapabilities.Elements(XName.Get("TileSet")); return xTileSets.Select(tileSet => ParseTileSetNode(tileSet, onlineResource)).ToList(); }
public override void ReadXml(XmlReader reader) { if (CheckEmptyNode(reader, "Service", string.Empty, true)) throw WmsParsingException.ElementNotFound("Service"); while (!reader.EOF) { if (reader.IsStartElement()) { switch (reader.LocalName) { case "Name": string name = reader.ReadElementContentAsString(); const string prefix = "ogc:"; if (name.ToLower().StartsWith(prefix)) name = name.Substring(prefix.Length); Name = (ServiceName)Enum.Parse(typeof(ServiceName), name , true); break; case "Title": Title = reader.ReadElementContentAsString(); break; case "Abstact": Abstract = reader.ReadElementContentAsString(); break; case "KeywordList": KeywordList = new KeywordList(); KeywordList.ReadXml(reader); break; case "OnlineResource": OnlineResource = new OnlineResource(); OnlineResource.ReadXml(reader); break; case "ContactInformation": ContactInformation = new ContactInformation(); ContactInformation.ReadXml(reader); break; case "Fees": Fees = reader.ReadElementContentAsString(); break; case "AccessConstraints": AccessConstraints = reader.ReadElementContentAsString(); break; case "LayerLimit": LayerLimit = reader.ReadElementContentAsInt(); break; case "MaxWidth": MaxWidth = reader.ReadElementContentAsInt(); break; case "MaxHeight": MaxHeight = reader.ReadElementContentAsInt(); break; default: reader.Skip(); break; } } else { reader.Read(); } } }