]> git.openstreetmap.org Git - nominatim.git/blob - lib/template/address-xml.php
Merge remote-tracking branch 'upstream/master' into cmake-port
[nominatim.git] / lib / template / address-xml.php
1 <?php
2         header("content-type: text/xml; charset=UTF-8");
3
4         echo "<";
5         echo "?xml version=\"1.0\" encoding=\"UTF-8\" ?";
6         echo ">\n";
7
8         echo "<reversegeocode";
9         echo " timestamp='".date(DATE_RFC822)."'";
10         echo " attribution='Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright'";
11         echo " querystring='".htmlspecialchars($_SERVER['QUERY_STRING'], ENT_QUOTES)."'";
12         echo ">\n";
13
14         if (!sizeof($aPlace))
15         {
16                 if (isset($sError))
17                         echo "<error>$sError</error>";
18                 else
19                         echo "<error>Unable to geocode</error>";
20         }
21         else
22         {
23                 echo "<result";
24                 if ($aPlace['place_id']) echo ' place_id="'.$aPlace['place_id'].'"';
25                 $sOSMType = formatOSMType($aPlace['osm_type']);
26                 if ($sOSMType) echo ' osm_type="'.$sOSMType.'"'.' osm_id="'.$aPlace['osm_id'].'"';
27                 if ($aPlace['ref']) echo ' ref="'.htmlspecialchars($aPlace['ref']).'"';
28                 if (isset($aPlace['lat'])) echo ' lat="'.htmlspecialchars($aPlace['lat']).'"';
29                 if (isset($aPlace['lon'])) echo ' lon="'.htmlspecialchars($aPlace['lon']).'"';
30                 if (isset($aPlace['aBoundingBox']))
31                 {
32                         echo ' boundingbox="';
33                         echo join(',', $aPlace['aBoundingBox']);
34                         echo '"';
35                 }
36
37                 if (isset($aPlace['asgeojson']))
38                 {
39                         echo ' geojson=\'';
40                         echo $aPlace['asgeojson'];
41                         echo '\'';
42                 }
43
44                 if (isset($aPlace['assvg']))
45                 {
46                         echo ' geosvg=\'';
47                         echo $aPlace['assvg'];
48                         echo '\'';
49                 }
50
51                 if (isset($aPlace['astext']))
52                 {
53                         echo ' geotext=\'';
54                         echo $aPlace['astext'];
55                         echo '\'';
56                 }
57                 echo ">".htmlspecialchars($aPlace['langaddress'])."</result>";
58
59                 if (isset($aPlace['aAddress']))
60                 {
61                         echo "<addressparts>";
62                         foreach($aPlace['aAddress'] as $sKey => $sValue)
63                         {
64                                 $sKey = str_replace(' ','_',$sKey);
65                                 echo "<$sKey>";
66                                 echo htmlspecialchars($sValue);
67                                 echo "</$sKey>";
68                         }
69                         echo "</addressparts>";
70                 }
71
72                 if (isset($aPlace['sExtraTags']))
73                 {
74                         echo "<extratags>";
75                         foreach ($aPlace['sExtraTags'] as $sKey => $sValue)
76                         {
77                                 echo '<tag key="'.htmlspecialchars($sKey).'" value="'.htmlspecialchars($sValue).'"/>';
78                         }
79                         echo "</extratags>";
80                 }
81
82                 if (isset($aPlace['sNameDetails']))
83                 {
84                         echo "<namedetails>";
85                         foreach ($aPlace['sNameDetails'] as $sKey => $sValue)
86                         {
87                                 echo '<name desc="'.htmlspecialchars($sKey).'">';
88                                 echo htmlspecialchars($sValue);
89                                 echo "</name>";
90                         }
91                         echo "</namedetails>";
92                 }
93
94                 if (isset($aPlace['askml']))
95                 {
96                         echo "\n<geokml>";
97                         echo $aPlace['askml'];
98                         echo "</geokml>";
99                 }
100
101         }
102
103         echo "</reversegeocode>";