[OSM-dev] API 0.5 is on the way

michael J michael_j at email.de
Fri Sep 14 22:50:18 BST 2007

Martijn van Oosterhout wrote:
> On 9/14/07, Frederik Ramm <frederik at remote.org> wrote:
>> I have re-structured things a bit and tried to make the whole thing a
>> bit more readable, at the expense of a little precision here and
>> there. I plan to add more real-world examples for the responses but I
>> think they might best be placed on an extra page with links in
>> between, in order not to disturb the reading flow too much:
>> http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5
> I think it's *much* better. Describe the actual requests and what they
> do, without repeating DTDs for each any every one. Vastly better...
> I'm just adding some bits describing the <osm> tag.
> Have a nice day,

Very nice work. It it is quite comprehensive, it removed lots of 
repetitive information and closed some gaps I always had with the 0.4 

Still it kept the precision of the DTDs introduced in 0.4. Maintenance 
should be vastly improved.

I am looking for the following additional information:
- DTD reference information for the 'Advanced Object Access Methods' is 
a similar manner as for the 'Basic Objects'
- Some information on the returned 'id' of the
   HTTP method 'Creation   PUT /api/0.5/<objtype>/create'
- Information on the 'id'-space of the nodes, ways and relations. It is 
my understanding that the same id e.g. 5657 can be used for nodes, ways 
and relations.
- 'id' is defined as 64 Bit Integer number.(Is this correct?)

I'll copy the parameter description for bllon,bllat,trlon,trlat from the 
0.4 page.

Further below are ELEMENT definitions for review:

1) Relation definition which allows any unordered 'member', 'tag' 
combination, that contains at least one 'member' as child node:

<!ELEMENT relation (tag*, member, (member | tag)*)>

The current "<!ELEMENT relation ((tag|member)+)>" allows relations 
containing a single 'member' or a single 'tag' element as child.

2) Way definition which allows any unordered 'nd', 'tag' combination, 
that contains at least two 'nd' elements as child elements:

<!ELEMENT way (tag*, nd, tag*, nd,(nd|tag)*)>

Is my assumption correct that 'tag' and 'nd' in ways and 'tags'and 
'member' in relations may be mixed any order?


More information about the dev mailing list