Skip to content

Commit 834fdd9

Browse files
committed
restored xmlns:ox definition; fixes #347
1 parent 24a12af commit 834fdd9

File tree

4 files changed

+323
-4
lines changed

4 files changed

+323
-4
lines changed

etc/nsox.xsd

Lines changed: 319 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,319 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xsd:schema
3+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4+
xmlns="http://www.opencaching.com/xmlschemas/opencaching/1/0"
5+
targetNamespace="http://www.opencaching.com/xmlschemas/opencaching/1/0"
6+
elementFormDefault="qualified">
7+
8+
<xsd:annotation>
9+
<xsd:documentation>
10+
OpenCaching.com schema version 1.0
11+
</xsd:documentation>
12+
</xsd:annotation>
13+
14+
<xsd:element name="opencaching" type="opencachingType">
15+
<xsd:annotation>
16+
<xsd:documentation>
17+
OpenCaching is the root element in the XML file.
18+
</xsd:documentation>
19+
</xsd:annotation>
20+
</xsd:element>
21+
22+
<xsd:element name="opencaching_meta" type="opencaching_metaType">
23+
<xsd:annotation>
24+
<xsd:documentation>
25+
OpenCaching is the root for OpenCaching meta data that applies to the whole file.
26+
</xsd:documentation>
27+
</xsd:annotation>
28+
</xsd:element>
29+
30+
<xsd:complexType name="opencaching_metaType">
31+
<xsd:sequence>
32+
<xsd:element name="download_images" type="xsd:string" minOccurs="0" maxOccurs="1">
33+
<xsd:annotation>
34+
<xsd:documentation>
35+
Which types of images were downloaded (and should be downloaded again when syncing)? Currently supported values: all, spoiler, required, none.
36+
</xsd:documentation>
37+
</xsd:annotation>
38+
</xsd:element>
39+
</xsd:sequence>
40+
</xsd:complexType>
41+
42+
<xsd:complexType name="opencachingType">
43+
<xsd:annotation>
44+
<xsd:documentation>
45+
OpenCaching documents contain ratings, tags, series and verification. You can add your own elements
46+
to the extensions section of the OpenCaching document.
47+
</xsd:documentation>
48+
</xsd:annotation>
49+
<xsd:sequence>
50+
<xsd:element name="ratings" type="ratingsType" minOccurs="0">
51+
<xsd:annotation>
52+
<xsd:documentation>
53+
Each cache gets rated on its size, ruggedness of terrain, difficulty to find and overall awesomeness.
54+
</xsd:documentation>
55+
</xsd:annotation>
56+
</xsd:element>
57+
<xsd:element name="tags" type="tagsType" minOccurs="0">
58+
<xsd:annotation>
59+
<xsd:documentation>
60+
Tag your cache with words which will help other cachers quickly identify key attributes of your cache.
61+
</xsd:documentation>
62+
</xsd:annotation>
63+
</xsd:element>
64+
<xsd:element name="series" type="seriesType" minOccurs="0">
65+
<xsd:annotation>
66+
<xsd:documentation>
67+
Series defines a collection of related geocaches.
68+
</xsd:documentation>
69+
</xsd:annotation>
70+
</xsd:element>
71+
<xsd:element name="verification" type="verificationType" minOccurs="0">
72+
<xsd:annotation>
73+
<xsd:documentation>
74+
Verification defines what type of verified visits are available for logging the geocache.
75+
</xsd:documentation>
76+
</xsd:annotation>
77+
</xsd:element>
78+
<xsd:element name="images" type="imagesType" minOccurs="0">
79+
<xsd:annotation>
80+
<xsd:documentation>
81+
Images that are related to the geocache.
82+
</xsd:documentation>
83+
</xsd:annotation>
84+
</xsd:element>
85+
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
86+
<xsd:annotation>
87+
<xsd:documentation>
88+
You can extend Opencaching by adding your own elements to the schema here.
89+
</xsd:documentation>
90+
</xsd:annotation>
91+
</xsd:element>
92+
</xsd:sequence>
93+
</xsd:complexType>
94+
95+
<xsd:complexType name="ratingsType">
96+
<xsd:annotation>
97+
<xsd:documentation>
98+
Each cache gets rated on its size, ruggedness of terrain, difficulty to find and overall awesomeness.
99+
Ratings can be extended to include your own ratings with the extensions type.
100+
</xsd:documentation>
101+
</xsd:annotation>
102+
<xsd:sequence>
103+
<xsd:element name="awesomeness" type="ratingType" minOccurs="0">
104+
<xsd:annotation>
105+
<xsd:documentation>
106+
How awesome is the experience of finding the cache.
107+
</xsd:documentation>
108+
</xsd:annotation>
109+
</xsd:element>
110+
<xsd:element name="difficulty" type="ratingType" minOccurs="0">
111+
<xsd:annotation>
112+
<xsd:documentation>
113+
How difficult is is to find the cache once you are at the location.
114+
</xsd:documentation>
115+
</xsd:annotation>
116+
</xsd:element>
117+
<xsd:element name="size" type="ratingType" minOccurs="0">
118+
<xsd:annotation>
119+
<xsd:documentation>
120+
How big is the cache container.
121+
</xsd:documentation>
122+
</xsd:annotation>
123+
</xsd:element>
124+
<xsd:element name="terrain" type="ratingType" minOccurs="0">
125+
<xsd:annotation>
126+
<xsd:documentation>
127+
How hard is it to get to the cache location.
128+
</xsd:documentation>
129+
</xsd:annotation>
130+
</xsd:element>
131+
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
132+
<xsd:annotation>
133+
<xsd:documentation>
134+
You can extend Opencaching by adding your own elements to the schema here.
135+
</xsd:documentation>
136+
</xsd:annotation>
137+
</xsd:element>
138+
</xsd:sequence>
139+
</xsd:complexType>
140+
141+
<xsd:complexType name="tagsType">
142+
<xsd:annotation>
143+
<xsd:documentation>
144+
Tag your cache with words which will help other cachers quickly identify key attributes of your cache.
145+
</xsd:documentation>
146+
</xsd:annotation>
147+
<xsd:sequence>
148+
<xsd:element name="tag" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
149+
<xsd:annotation>
150+
<xsd:documentation>
151+
String that is the name of the tag.
152+
</xsd:documentation>
153+
</xsd:annotation>
154+
</xsd:element>
155+
</xsd:sequence>
156+
</xsd:complexType>
157+
158+
<xsd:complexType name="seriesType">
159+
<xsd:annotation>
160+
<xsd:documentation>
161+
Series defines a collection of related geocaches.
162+
</xsd:documentation>
163+
</xsd:annotation>
164+
<xsd:sequence>
165+
<xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1">
166+
<xsd:annotation>
167+
<xsd:documentation>
168+
String that is the name of the series.
169+
</xsd:documentation>
170+
</xsd:annotation>
171+
</xsd:element>
172+
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
173+
<xsd:annotation>
174+
<xsd:documentation>
175+
You can extend Opencaching by adding your own elements to the schema here.
176+
</xsd:documentation>
177+
</xsd:annotation>
178+
</xsd:element>
179+
</xsd:sequence>
180+
<xsd:attribute name="id" type="xsd:integer" use="required">
181+
<xsd:annotation>
182+
<xsd:documentation>
183+
Integer that is the id for the series.
184+
</xsd:documentation>
185+
</xsd:annotation>
186+
</xsd:attribute>
187+
</xsd:complexType>
188+
189+
<xsd:complexType name="verificationType">
190+
<xsd:annotation>
191+
<xsd:documentation>
192+
Verification defines what type of verified visits are available for logging the geocache.
193+
</xsd:documentation>
194+
</xsd:annotation>
195+
<xsd:sequence>
196+
<xsd:element name="chirp" type="xsd:string" minOccurs="0" maxOccurs="1">
197+
<xsd:annotation>
198+
<xsd:documentation>
199+
Determines if the cache is chirp enabled. The value idetifies what chrip should be used
200+
to verify logs for the cache.
201+
</xsd:documentation>
202+
</xsd:annotation>
203+
</xsd:element>
204+
<xsd:element name="QR" type="xsd:boolean" minOccurs="0" maxOccurs="1">
205+
<xsd:annotation>
206+
<xsd:documentation>
207+
Can logs for the cache be verified by QR Code.
208+
</xsd:documentation>
209+
</xsd:annotation>
210+
</xsd:element>
211+
<xsd:element name="number" type="xsd:boolean" minOccurs="0" maxOccurs="1">
212+
<xsd:annotation>
213+
<xsd:documentation>
214+
Can logs for the cache be verified by a secret number.
215+
</xsd:documentation>
216+
</xsd:annotation>
217+
</xsd:element>
218+
<xsd:element name="phrase" type="xsd:string" minOccurs="0" maxOccurs="1">
219+
<xsd:annotation>
220+
<xsd:documentation>
221+
Code Phrase for verifiying logs for Virtual Caches.
222+
</xsd:documentation>
223+
</xsd:annotation>
224+
</xsd:element>
225+
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
226+
<xsd:annotation>
227+
<xsd:documentation>
228+
You can extend Opencaching by adding your own elements to the schema here.
229+
</xsd:documentation>
230+
</xsd:annotation>
231+
</xsd:element>
232+
</xsd:sequence>
233+
</xsd:complexType>
234+
235+
<xsd:complexType name="imagesType">
236+
<xsd:annotation>
237+
<xsd:documentation>
238+
Defines the collection images that are related to the geocache.
239+
</xsd:documentation>
240+
</xsd:annotation>
241+
<xsd:sequence>
242+
<xsd:element name="image" type="imageType" minOccurs="0" maxOccurs="unbounded">
243+
<xsd:annotation>
244+
<xsd:documentation>
245+
A single image defined as imageType
246+
</xsd:documentation>
247+
</xsd:annotation>
248+
</xsd:element>
249+
</xsd:sequence>
250+
</xsd:complexType>
251+
252+
<xsd:complexType name="imageType">
253+
<xsd:annotation>
254+
<xsd:documentation>
255+
Defines an image that is part of the imagesType
256+
</xsd:documentation>
257+
</xsd:annotation>
258+
<xsd:sequence>
259+
<xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
260+
<xsd:annotation>
261+
<xsd:documentation>
262+
The name of the image.
263+
</xsd:documentation>
264+
</xsd:annotation>
265+
</xsd:element>
266+
<xsd:element name="size" type="xsd:integer" minOccurs="1" maxOccurs="1">
267+
<xsd:annotation>
268+
<xsd:documentation>
269+
The image file size in bytes.
270+
</xsd:documentation>
271+
</xsd:annotation>
272+
</xsd:element>
273+
<xsd:element name="required" type="xsd:boolean" minOccurs="0" maxOccurs="1">
274+
<xsd:annotation>
275+
<xsd:documentation>
276+
Determines if the image is required to find the geocache.
277+
</xsd:documentation>
278+
</xsd:annotation>
279+
</xsd:element>
280+
<xsd:element name="spoiler" type="xsd:boolean" minOccurs="0" maxOccurs="1">
281+
<xsd:annotation>
282+
<xsd:documentation>
283+
Determines if the image is a spoiler.
284+
</xsd:documentation>
285+
</xsd:annotation>
286+
</xsd:element>
287+
</xsd:sequence>
288+
</xsd:complexType>
289+
290+
<xsd:complexType name="extensionsType">
291+
<xsd:annotation>
292+
<xsd:documentation>
293+
The extensionsType can be used to add your own elements to the schema.
294+
</xsd:documentation>
295+
</xsd:annotation>
296+
<xsd:sequence>
297+
<xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded">
298+
<xsd:annotation>
299+
<xsd:documentation>
300+
You can extend Opencaching by adding your own elements to the schema here.
301+
</xsd:documentation>
302+
</xsd:annotation>
303+
</xsd:any>
304+
</xsd:sequence>
305+
</xsd:complexType>
306+
307+
<xsd:simpleType name="ratingType">
308+
<xsd:annotation>
309+
<xsd:documentation>
310+
Ratings can be a decimal value from 1.0 to 5.0.
311+
</xsd:documentation>
312+
</xsd:annotation>
313+
<xsd:restriction base="xsd:decimal">
314+
<xsd:minInclusive value="1.0"/>
315+
<xsd:maxInclusive value="5.0"/>
316+
</xsd:restriction>
317+
</xsd:simpleType>
318+
319+
</xsd:schema>

okapi/services/caches/formatters/gpx.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
</opt>
4444
<opt name='ns_ox' default='false'>
4545
Boolean. If <b>true</b> then response will include Garmin's
46-
<a href='http://www.opencaching.com/xmlschemas/opencaching/1/0/opencaching.xsd'>OpenCaching.com
46+
<a href='https://raw.githubusercontent.com/opencaching/okapi/master/etc/nsox.xsd'>OpenCaching.com
4747
GPX extension</a>. This namespace declares an extra &lt;opencaching&gt; element
48-
used by <a href='http://www.opencaching.com/'>Garmin's Opencaching.com</a>.
48+
used by Garmin's former OpenCaching.com.
4949
The element includes information on cache difficulty, ratings, tags and images.
5050
It is used within Garmin's Geocaching-enabled handheld GPS devices.
5151
</opt>

okapi/services/caches/formatters/gpxfile.tpl.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1212
xsi:schemaLocation="
1313
http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd
14-
http://www.opencaching.com/xmlschemas/opencaching/1/0 http://www.opencaching.com/xmlschemas/opencaching/1/0/opencaching.xsd
14+
http://www.opencaching.com/xmlschemas/opencaching/1/0 https://raw.githubusercontent.com/opencaching/okapi/master/etc/nsox.xsd
1515
http://www.groundspeak.com/cache/1/0/1 http://www.groundspeak.com/cache/1/0/1/cache.xsd
1616
http://geocaching.com.au/geocache/1 http://geocaching.com.au/geocache/1/geocache.xsd
1717
http://www.gsak.net/xmlv1/5 http://www.gsak.net/xmlv1/5/gsak.xsd

okapi/services/caches/geocache.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@
209209
</li>
210210
<li>
211211
<p><b>oxsize</b> - float (between 1 and 5) or null, this is a size rating
212-
variant, compatible with the one used by opencaching.com (and lately,
212+
variant, compatible with the one used by former OpenCaching.com (and lately,
213213
Garmin GPS devices).</p>
214214
<p><b>Note:</b> The mapping is undocumented and may change without notice.</p>
215215
<p><b>Note:</b> Some of OC's size values cannot be properly mapped to <b>oxsize</b>,

0 commit comments

Comments
 (0)