abbr works only on full words; changes on nodes don't work
[osm-helpers.git] / Relation.cs
blobda476f9aa660f8ed2bd1d124252f610f7f7bc909
1 /*
2 * Author: Paolo Molaro
3 * Copyright (c) 2008 Paolo Molaro lupus@oddwiz.org
4 * License: MIT/X11, see the MIT.X11 file.
5 */
6 using System;
7 using System.Xml;
8 using System.Collections.Specialized;
10 namespace OpenStreetMap {
12 public class Relation: OsmObject {
13 RelationMember[] members;
15 public override string ObjectType {
16 get {
17 return "relation";
21 public RelationMember[] Members {
22 get {
23 if (members == null)
24 return new RelationMember [0];
25 return members;
27 set {
28 if (value == null)
29 throw new ArgumentNullException ("value");
30 members = value;
31 Changed = true;
35 public override void WriteXml (XmlTextWriter writer)
37 writer.WriteStartElement ("relation");
38 WriteCommonAttrs (writer);
39 if (members != null) {
40 for (int i = 0; i < members.Length; ++i) {
41 writer.WriteStartElement ("member");
42 writer.WriteAttributeString ("type", members [i].Type);
43 writer.WriteAttributeString ("ref", members [i].Ref.ToString ());
44 writer.WriteAttributeString ("role", members [i].Role);
45 writer.WriteEndElement ();
48 WriteTags (writer);
49 writer.WriteEndElement ();