/// <summary> /// Adds the specified raster location to this document /// </summary> /// <param name="item"></param> /// <returns></returns> public GdalRasterLocationItem AddLocation(GdalRasterLocationItem item) { if (!_items.ContainsKey(item.Location)) { _items.Add(item.Location, item); } return _items[item.Location]; }
/// <summary> /// Adds the specified raster location to this document /// </summary> /// <param name="item"></param> /// <returns></returns> public GdalRasterLocationItem AddLocation(GdalRasterLocationItem item) { if (!_items.ContainsKey(item.Location)) { _items.Add(item.Location, item); } return(_items[item.Location]); }
/// <summary> /// Write this document's schema mappings from the given XML document /// </summary> /// <param name="node">The node.</param> /// <param name="mgr">The namespace manager.</param> protected override void ReadSchemaMappings(System.Xml.XmlNode node, System.Xml.XmlNamespaceManager mgr) { //XmlNodeList mappings = node.SelectNodes("SchemaMapping"); foreach (XmlNode map in node.ChildNodes) { if (map.Name != "SchemaMapping") //NOXLATE continue; var prv = map.Attributes["provider"]; //NOXLATE if (prv == null) throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedAttribute, "provider")); var sn = map.Attributes["name"]; //NOXLATE if (sn == null) throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedAttribute, "name")); if (!prv.Value.StartsWith("OSGeo.Gdal")) //NOXLATE continue; //XmlNodeList list = map.SelectNodes("complexType"); foreach (XmlNode schemaMap in map.ChildNodes) { if (schemaMap.Name != "complexType") //NOXLATE continue; var schemaName = schemaMap.Attributes["name"].Value; //NOXLATE schemaName = schemaName.Substring(0, schemaName.Length - 4); if (!SchemaExists(schemaName)) continue; var rasterType = schemaMap.FirstChild; var rasterDef = rasterType.FirstChild; if (rasterType.Name != "complexType") //NOXLATE throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedElement, "complexType")); if (rasterDef.Name != "RasterDefinition") //NOXLATE throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedElement, "RasterDefinition")); foreach (XmlNode loc in rasterDef.ChildNodes) { var location = new GdalRasterLocationItem(); location.ReadXml(loc, mgr); AddLocation(location); } } } }
/// <summary> /// Removes the specified raster location from this document /// </summary> /// <param name="item"></param> /// <returns></returns> public bool RemoveLocation(GdalRasterLocationItem item) { return _items.Remove(item.Location); }
/// <summary> /// Removes the specified raster location from this document /// </summary> /// <param name="item"></param> /// <returns></returns> public bool RemoveLocation(GdalRasterLocationItem item) => _items.Remove(item.Location);
/// <summary> /// Write this document's schema mappings from the given XML document /// </summary> /// <param name="node">The node.</param> /// <param name="mgr">The namespace manager.</param> protected override void ReadSchemaMappings(System.Xml.XmlNode node, System.Xml.XmlNamespaceManager mgr) { //XmlNodeList mappings = node.SelectNodes("SchemaMapping"); foreach (XmlNode map in node.ChildNodes) { if (map.Name != "SchemaMapping") //NOXLATE { continue; } var prv = map.Attributes["provider"]; //NOXLATE if (prv == null) { throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedAttribute, "provider")); } var sn = map.Attributes["name"]; //NOXLATE if (sn == null) { throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedAttribute, "name")); } if (!prv.Value.StartsWith("OSGeo.Gdal")) //NOXLATE { continue; } //XmlNodeList list = map.SelectNodes("complexType"); foreach (XmlNode schemaMap in map.ChildNodes) { if (schemaMap.Name != "complexType") //NOXLATE { continue; } var schemaName = schemaMap.Attributes["name"].Value; //NOXLATE schemaName = schemaName.Substring(0, schemaName.Length - 4); if (!SchemaExists(schemaName)) { continue; } var rasterType = schemaMap.FirstChild; var rasterDef = rasterType.FirstChild; if (rasterType.Name != "complexType") //NOXLATE { throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedElement, "complexType")); } if (rasterDef.Name != "RasterDefinition") //NOXLATE { throw new Exception(string.Format(Strings.ErrorBadDocumentExpectedElement, "RasterDefinition")); } foreach (XmlNode loc in rasterDef.ChildNodes) { var location = new GdalRasterLocationItem(); location.ReadXml(loc, mgr); AddLocation(location); } } } }