rules.xsd 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  9. <xs:element name="rules" type="rules"/>
  10. <xs:complexType name="rules">
  11. <xs:choice minOccurs="1" maxOccurs="unbounded">
  12. <xs:element name="payment" type="payment"/>
  13. </xs:choice>
  14. </xs:complexType>
  15. <xs:complexType name="payment">
  16. <xs:sequence>
  17. <xs:element name="events" type="events" minOccurs="1" maxOccurs="unbounded"/>
  18. <xs:element name="relation" type="relation" minOccurs="1" maxOccurs="unbounded"/>
  19. </xs:sequence>
  20. <xs:attribute type="xs:string" name="id" use="required"/>
  21. </xs:complexType>
  22. <xs:complexType name="events">
  23. <xs:sequence>
  24. <xs:element name="event" type="event" minOccurs="1" maxOccurs="unbounded"/>
  25. </xs:sequence>
  26. <xs:attribute type="xs:string" name="selector" use="required"/>
  27. </xs:complexType>
  28. <xs:complexType name="event">
  29. <xs:sequence>
  30. <xs:element name="predicate" type="predicate" minOccurs="0" maxOccurs="1"/>
  31. </xs:sequence>
  32. <xs:attribute type="xs:string" name="value" use="required"/>
  33. <xs:attribute type="xs:string" name="name" use="required"/>
  34. <xs:attribute type="xs:boolean" name="include" use="optional"/>
  35. </xs:complexType>
  36. <xs:complexType name="predicate">
  37. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  38. <xs:element name="argument" type="argument"/>
  39. </xs:sequence>
  40. <xs:attribute type="xs:string" name="name" use="required"/>
  41. <xs:attribute type="xs:string" name="message" use="required"/>
  42. <xs:attribute type="xs:string" name="event" use="required"/>
  43. </xs:complexType>
  44. <xs:complexType name="relation">
  45. <xs:sequence>
  46. <xs:element name="rule" type="rule" minOccurs="1" maxOccurs="unbounded"/>
  47. </xs:sequence>
  48. <xs:attribute type="xs:string" name="target" use="required"/>
  49. </xs:complexType>
  50. <xs:complexType name="rule">
  51. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  52. <xs:element name="argument" type="argument"/>
  53. </xs:sequence>
  54. <xs:attribute type="xs:string" name="type" use="required"/>
  55. <xs:attribute type="xs:string" name="event" use="required"/>
  56. </xs:complexType>
  57. <xs:complexType name="argument" xml:base="xs:string">
  58. <xs:simpleContent>
  59. <xs:extension base="xs:string">
  60. <xs:attribute type="xs:string" name="name"/>
  61. </xs:extension>
  62. </xs:simpleContent>
  63. </xs:complexType>
  64. </xs:schema>