- relation.members = Array.new
-
- pt.find('member').each do |member|
- #member_type =
- logger.debug "each member"
- raise OSM::APIBadXMLError.new("relation", pt, "The #{member['type']} is not allowed only, #{TYPES.inspect} allowed") unless TYPES.include? member['type']
- logger.debug "after raise"
- #member_ref = member['ref']
- #member_role
- member['role'] ||= "" # Allow the upload to not include this, in which case we default to an empty string.
- logger.debug member['role']
- relation.add_member(member['type'].classify, member['ref'], member['role'])
- end
- raise OSM::APIBadUserInput.new("Some bad xml in relation") if relation.nil?
-
- return relation
- end
-
- def to_xml
- doc = OSM::API.new.get_xml_doc
- doc.root << to_xml_node()
- return doc
- end
-
- def to_xml_node(visible_members = nil, changeset_cache = {}, user_display_name_cache = {})
- el = XML::Node.new 'relation'
- el['id'] = self.id.to_s