monuments.rng 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <grammar ns="http://www.topografix.com/GPX/1/1" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  3. <start>
  4. <a:documentation>Stricter subset of http://www.topografix.com/GPX/1/1/gpx.xsd
  5. Elements MUST appear in order!
  6. </a:documentation>
  7. <element name="gpx">
  8. <group>
  9. <attribute name="creator">
  10. <data type="anyURI"/>
  11. </attribute>
  12. <attribute name="version">
  13. <data type="decimal"/>
  14. </attribute>
  15. </group>
  16. <element name="metadata">
  17. <ref name="name"/>
  18. <element name="author">
  19. <ref name="name"/>
  20. <ref name="link"/>
  21. </element>
  22. <element name="time">
  23. <data type="dateTime"/>
  24. </element>
  25. <element name="keywords">
  26. <text/>
  27. </element>
  28. </element>
  29. <oneOrMore>
  30. <element name="wpt">
  31. <group>
  32. <a:documentation>GPS position, mandatory</a:documentation>
  33. <attribute name="lat">
  34. <data type="decimal">
  35. <a:documentation>maybe limit range?</a:documentation>
  36. </data>
  37. </attribute>
  38. <attribute name="lon">
  39. <data type="decimal">
  40. <a:documentation>maybe limit range?</a:documentation>
  41. </data>
  42. </attribute>
  43. </group>
  44. <ref name="name">
  45. <a:documentation>name, mandatory</a:documentation>
  46. </ref>
  47. <element name="cmt">
  48. <a:documentation>county list page, mandatory</a:documentation>
  49. <data type="string">
  50. <param name="pattern">[A-Z][a-z]+(%20)+[Ll]ist\.html?#[a-z'2\-/]+(%20[a-z2-7'\-]*)*</param>
  51. <a:documentation>VERY scrupulous.</a:documentation>
  52. </data>
  53. </element>
  54. <element name="desc">
  55. <a:documentation>content of map item callout bubble, html snippet, mandatory</a:documentation>
  56. <data type="string">
  57. <param name="pattern">&lt;a\s+href="http://megalithicireland\.com/[^"]+\?src=gpx"&gt;@megalithicireland.com&lt;/a&gt;</param>
  58. <a:documentation>Be VERY scrupulous about the precise content containing a backlink.
  59. This strictness makes &lt;link&gt; obsolete.
  60. validate the unescaped form, huh!</a:documentation>
  61. </data>
  62. </element>
  63. <optional>
  64. <ref name="link">
  65. <a:documentation>backlink, optional</a:documentation>
  66. </ref>
  67. </optional>
  68. <element name="sym">
  69. <choice>
  70. <empty>
  71. <a:documentation>presence is mandatory, but may be empty
  72. Could be a very strict enumeration, but currently we go with lowercase words.</a:documentation>
  73. </empty>
  74. <data type="string">
  75. <param name="pattern">subject#[a-z]+</param>
  76. </data>
  77. </choice>
  78. </element>
  79. </element>
  80. </oneOrMore>
  81. </element>
  82. </start>
  83. <define name="name">
  84. <element name="name">
  85. <data type="anyURI"/>
  86. </element>
  87. </define>
  88. <define name="link">
  89. <element name="link">
  90. <attribute name="href">
  91. <data type="anyURI"/>
  92. </attribute>
  93. </element>
  94. </define>
  95. </grammar>