settings.xsd 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  9. <xs:element name="settings" type="settingsType" />
  10. <xs:complexType name="settingsType">
  11. <xs:sequence>
  12. <xs:element name="key" type="keyType" />
  13. <xs:element name="value" type="valueType" />
  14. </xs:sequence>
  15. </xs:complexType>
  16. <xs:complexType name="keyType">
  17. <xs:choice minOccurs="1" maxOccurs="unbounded">
  18. <xs:element name="ignore" type="ignoreType" maxOccurs="unbounded" minOccurs="0" />
  19. <xs:element name="rename" type="renameType" maxOccurs="unbounded" minOccurs="0" />
  20. </xs:choice>
  21. </xs:complexType>
  22. <xs:complexType name="ignoreType">
  23. <xs:sequence>
  24. <xs:element name="path" type="configPathTypeWithWildcard" maxOccurs="1" minOccurs="1" />
  25. </xs:sequence>
  26. </xs:complexType>
  27. <xs:complexType name="renameType">
  28. <xs:sequence>
  29. <xs:element name="path" type="configPathType" maxOccurs="1" minOccurs="1" />
  30. <xs:element name="to" type="configPathType" maxOccurs="1" minOccurs="1" />
  31. </xs:sequence>
  32. </xs:complexType>
  33. <xs:complexType name="valueType">
  34. <xs:choice minOccurs="1" maxOccurs="unbounded">
  35. <xs:element name="transform" type="transformType" />
  36. </xs:choice>
  37. </xs:complexType>
  38. <xs:complexType name="transformType">
  39. <xs:sequence>
  40. <xs:element name="path" type="configPathType" maxOccurs="1" minOccurs="1" />
  41. <xs:element name="handler" type="handlerType" maxOccurs="1" minOccurs="1" />
  42. </xs:sequence>
  43. </xs:complexType>
  44. <xs:simpleType name="configPathTypeWithWildcard">
  45. <xs:restriction base="xs:string">
  46. <xs:minLength value="1" />
  47. <xs:pattern value="[0-9a-zA-Z_/\\*]+" />
  48. </xs:restriction>
  49. </xs:simpleType>
  50. <xs:simpleType name="configPathType">
  51. <xs:restriction base="xs:string">
  52. <xs:minLength value="1" />
  53. <xs:pattern value="[0-9a-zA-Z_/\\]+" />
  54. </xs:restriction>
  55. </xs:simpleType>
  56. <xs:complexType name="handlerType">
  57. <xs:sequence>
  58. <xs:element name="param" type="handlerParamType" maxOccurs="unbounded" minOccurs="0" />
  59. </xs:sequence>
  60. <xs:attribute name="class" use="required">
  61. <xs:simpleType>
  62. <xs:restriction base="xs:string">
  63. <xs:pattern value="[0-9a-zA-Z\\\\]+" />
  64. </xs:restriction>
  65. </xs:simpleType>
  66. </xs:attribute>
  67. </xs:complexType>
  68. <xs:complexType name="handlerParamType">
  69. <xs:attribute name="name" type="xs:string" use="required" />
  70. <xs:attribute name="value" type="xs:string" use="required" />
  71. </xs:complexType>
  72. </xs:schema>