PageRenderTime 60ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/bundles/plugins-trunk/XML/xml/dtds/relaxng.rng

#
Unknown | 336 lines | 320 code | 16 blank | 0 comment | 0 complexity | cccae6ef4a98fd15c5abef6b1030839b MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version="1.0"?>
  2. <!-- RELAX NG for RELAX NG v1.0 with errata applied,
  3. retrieved from http://relaxng.org/relaxng.rng 2012-02-23 -->
  4. <!-- $Id: relaxng.rng,v 1.31 2002/05/30 06:07:43 jjc Exp $ -->
  5. <grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
  6. ns="http://relaxng.org/ns/structure/1.0"
  7. xmlns="http://relaxng.org/ns/structure/1.0">
  8. <start>
  9. <ref name="pattern"/>
  10. </start>
  11. <define name="pattern">
  12. <choice>
  13. <element name="element">
  14. <choice>
  15. <attribute name="name">
  16. <data type="QName"/>
  17. </attribute>
  18. <ref name="open-name-class"/>
  19. </choice>
  20. <ref name="common-atts"/>
  21. <ref name="open-patterns"/>
  22. </element>
  23. <element name="attribute">
  24. <ref name="common-atts"/>
  25. <choice>
  26. <attribute name="name">
  27. <data type="QName"/>
  28. </attribute>
  29. <ref name="open-name-class"/>
  30. </choice>
  31. <interleave>
  32. <ref name="other"/>
  33. <optional>
  34. <ref name="pattern"/>
  35. </optional>
  36. </interleave>
  37. </element>
  38. <element name="group">
  39. <ref name="common-atts"/>
  40. <ref name="open-patterns"/>
  41. </element>
  42. <element name="interleave">
  43. <ref name="common-atts"/>
  44. <ref name="open-patterns"/>
  45. </element>
  46. <element name="choice">
  47. <ref name="common-atts"/>
  48. <ref name="open-patterns"/>
  49. </element>
  50. <element name="optional">
  51. <ref name="common-atts"/>
  52. <ref name="open-patterns"/>
  53. </element>
  54. <element name="zeroOrMore">
  55. <ref name="common-atts"/>
  56. <ref name="open-patterns"/>
  57. </element>
  58. <element name="oneOrMore">
  59. <ref name="common-atts"/>
  60. <ref name="open-patterns"/>
  61. </element>
  62. <element name="list">
  63. <ref name="common-atts"/>
  64. <ref name="open-patterns"/>
  65. </element>
  66. <element name="mixed">
  67. <ref name="common-atts"/>
  68. <ref name="open-patterns"/>
  69. </element>
  70. <element name="ref">
  71. <attribute name="name">
  72. <data type="NCName"/>
  73. </attribute>
  74. <ref name="common-atts"/>
  75. <ref name="other"/>
  76. </element>
  77. <element name="parentRef">
  78. <attribute name="name">
  79. <data type="NCName"/>
  80. </attribute>
  81. <ref name="common-atts"/>
  82. <ref name="other"/>
  83. </element>
  84. <element name="empty">
  85. <ref name="common-atts"/>
  86. <ref name="other"/>
  87. </element>
  88. <element name="text">
  89. <ref name="common-atts"/>
  90. <ref name="other"/>
  91. </element>
  92. <element name="value">
  93. <optional>
  94. <attribute name="type">
  95. <data type="NCName"/>
  96. </attribute>
  97. </optional>
  98. <ref name="common-atts"/>
  99. <text/>
  100. </element>
  101. <element name="data">
  102. <attribute name="type">
  103. <data type="NCName"/>
  104. </attribute>
  105. <ref name="common-atts"/>
  106. <interleave>
  107. <ref name="other"/>
  108. <group>
  109. <zeroOrMore>
  110. <element name="param">
  111. <attribute name="name">
  112. <data type="NCName"/>
  113. </attribute>
  114. <ref name="common-atts"/>
  115. <text/>
  116. </element>
  117. </zeroOrMore>
  118. <optional>
  119. <element name="except">
  120. <ref name="common-atts"/>
  121. <ref name="open-patterns"/>
  122. </element>
  123. </optional>
  124. </group>
  125. </interleave>
  126. </element>
  127. <element name="notAllowed">
  128. <ref name="common-atts"/>
  129. <ref name="other"/>
  130. </element>
  131. <element name="externalRef">
  132. <attribute name="href">
  133. <data type="anyURI"/>
  134. </attribute>
  135. <ref name="common-atts"/>
  136. <ref name="other"/>
  137. </element>
  138. <element name="grammar">
  139. <ref name="common-atts"/>
  140. <ref name="grammar-content"/>
  141. </element>
  142. </choice>
  143. </define>
  144. <define name="grammar-content">
  145. <interleave>
  146. <ref name="other"/>
  147. <zeroOrMore>
  148. <choice>
  149. <ref name="start-element"/>
  150. <ref name="define-element"/>
  151. <element name="div">
  152. <ref name="common-atts"/>
  153. <ref name="grammar-content"/>
  154. </element>
  155. <element name="include">
  156. <attribute name="href">
  157. <data type="anyURI"/>
  158. </attribute>
  159. <ref name="common-atts"/>
  160. <ref name="include-content"/>
  161. </element>
  162. </choice>
  163. </zeroOrMore>
  164. </interleave>
  165. </define>
  166. <define name="include-content">
  167. <interleave>
  168. <ref name="other"/>
  169. <zeroOrMore>
  170. <choice>
  171. <ref name="start-element"/>
  172. <ref name="define-element"/>
  173. <element name="div">
  174. <ref name="common-atts"/>
  175. <ref name="include-content"/>
  176. </element>
  177. </choice>
  178. </zeroOrMore>
  179. </interleave>
  180. </define>
  181. <define name="start-element">
  182. <element name="start">
  183. <ref name="combine-att"/>
  184. <ref name="common-atts"/>
  185. <ref name="open-pattern"/>
  186. </element>
  187. </define>
  188. <define name="define-element">
  189. <element name="define">
  190. <attribute name="name">
  191. <data type="NCName"/>
  192. </attribute>
  193. <ref name="combine-att"/>
  194. <ref name="common-atts"/>
  195. <ref name="open-patterns"/>
  196. </element>
  197. </define>
  198. <define name="combine-att">
  199. <optional>
  200. <attribute name="combine">
  201. <choice>
  202. <value>choice</value>
  203. <value>interleave</value>
  204. </choice>
  205. </attribute>
  206. </optional>
  207. </define>
  208. <define name="open-patterns">
  209. <interleave>
  210. <ref name="other"/>
  211. <oneOrMore>
  212. <ref name="pattern"/>
  213. </oneOrMore>
  214. </interleave>
  215. </define>
  216. <define name="open-pattern">
  217. <interleave>
  218. <ref name="other"/>
  219. <ref name="pattern"/>
  220. </interleave>
  221. </define>
  222. <define name="name-class">
  223. <choice>
  224. <element name="name">
  225. <ref name="common-atts"/>
  226. <data type="QName"/>
  227. </element>
  228. <element name="anyName">
  229. <ref name="common-atts"/>
  230. <ref name="except-name-class"/>
  231. </element>
  232. <element name="nsName">
  233. <ref name="common-atts"/>
  234. <ref name="except-name-class"/>
  235. </element>
  236. <element name="choice">
  237. <ref name="common-atts"/>
  238. <ref name="open-name-classes"/>
  239. </element>
  240. </choice>
  241. </define>
  242. <define name="except-name-class">
  243. <interleave>
  244. <ref name="other"/>
  245. <optional>
  246. <element name="except">
  247. <ref name="open-name-classes"/>
  248. </element>
  249. </optional>
  250. </interleave>
  251. </define>
  252. <define name="open-name-classes">
  253. <interleave>
  254. <ref name="other"/>
  255. <oneOrMore>
  256. <ref name="name-class"/>
  257. </oneOrMore>
  258. </interleave>
  259. </define>
  260. <define name="open-name-class">
  261. <interleave>
  262. <ref name="other"/>
  263. <ref name="name-class"/>
  264. </interleave>
  265. </define>
  266. <define name="common-atts">
  267. <optional>
  268. <attribute name="ns"/>
  269. </optional>
  270. <optional>
  271. <attribute name="datatypeLibrary">
  272. <data type="anyURI"/>
  273. </attribute>
  274. </optional>
  275. <zeroOrMore>
  276. <attribute>
  277. <anyName>
  278. <except>
  279. <nsName/>
  280. <nsName ns=""/>
  281. </except>
  282. </anyName>
  283. </attribute>
  284. </zeroOrMore>
  285. </define>
  286. <define name="other">
  287. <zeroOrMore>
  288. <element>
  289. <anyName>
  290. <except>
  291. <nsName/>
  292. </except>
  293. </anyName>
  294. <zeroOrMore>
  295. <choice>
  296. <attribute>
  297. <anyName/>
  298. </attribute>
  299. <text/>
  300. <ref name="any"/>
  301. </choice>
  302. </zeroOrMore>
  303. </element>
  304. </zeroOrMore>
  305. </define>
  306. <define name="any">
  307. <element>
  308. <anyName/>
  309. <zeroOrMore>
  310. <choice>
  311. <attribute>
  312. <anyName/>
  313. </attribute>
  314. <text/>
  315. <ref name="any"/>
  316. </choice>
  317. </zeroOrMore>
  318. </element>
  319. </define>
  320. </grammar>