/bundles/plugins-trunk/XML/test_data/relax_ng/actions.rng

# · Unknown · 75 lines · 75 code · 0 blank · 0 comment · 0 complexity · 064abfce30d1cf1a49e6f786930b7ba9 MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <grammar 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. <define name="att-bool">
  4. <choice>
  5. <value>TRUE</value>
  6. <value>FALSE</value>
  7. </choice>
  8. </define>
  9. <!-- ACTIONS element -->
  10. <define name="ACTIONS">
  11. <element name="ACTIONS">
  12. <ref name="ACTIONS-attlist"/>
  13. <oneOrMore>
  14. <ref name="ACTION"/>
  15. </oneOrMore>
  16. </element>
  17. </define>
  18. <define name="ACTIONS-attlist" combine="interleave">
  19. <empty/>
  20. </define>
  21. <!-- ACTION element -->
  22. <define name="ACTION">
  23. <element name="ACTION">
  24. <ref name="ACTION-attlist"/>
  25. <ref name="CODE"/>
  26. <optional>
  27. <ref name="IS_SELECTED"/>
  28. </optional>
  29. </element>
  30. </define>
  31. <define name="ACTION-attlist" combine="interleave">
  32. <attribute name="NAME">
  33. <data type="ID"/>
  34. </attribute>
  35. <optional>
  36. <attribute name="NO_REPEAT" a:defaultValue="FALSE">
  37. <ref name="att-bool"/>
  38. </attribute>
  39. </optional>
  40. <optional>
  41. <attribute name="NO_RECORD" a:defaultValue="FALSE">
  42. <ref name="att-bool"/>
  43. </attribute>
  44. </optional>
  45. <optional>
  46. <attribute name="NO_REMEMBER_LAST" a:defaultValue="FALSE">
  47. <ref name="att-bool"/>
  48. </attribute>
  49. </optional>
  50. </define>
  51. <!-- ACTION children -->
  52. <define name="CODE">
  53. <element name="CODE">
  54. <ref name="CODE-attlist"/>
  55. <text/>
  56. </element>
  57. </define>
  58. <define name="CODE-attlist" combine="interleave">
  59. <empty/>
  60. </define>
  61. <define name="IS_SELECTED">
  62. <element name="IS_SELECTED">
  63. <ref name="IS_SELECTED-attlist"/>
  64. <text/>
  65. </element>
  66. </define>
  67. <define name="IS_SELECTED-attlist" combine="interleave">
  68. <empty/>
  69. </define>
  70. <start>
  71. <choice>
  72. <ref name="ACTIONS"/>
  73. </choice>
  74. </start>
  75. </grammar>