layout_merged.xsd 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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:include schemaLocation="urn:magento:framework:View/Layout/etc/elements.xsd"/>
  10. <xs:include schemaLocation="urn:magento:framework:View/Layout/etc/head.xsd"/>
  11. <xs:include schemaLocation="urn:magento:framework:View/Layout/etc/body.xsd"/>
  12. <xs:include schemaLocation="urn:magento:framework:View/Layout/etc/html.xsd"/>
  13. <xs:element name="layout">
  14. <xs:annotation>
  15. <xs:documentation>
  16. Handle id must be unique.
  17. </xs:documentation>
  18. </xs:annotation>
  19. <xs:complexType>
  20. <xs:sequence>
  21. <xs:element ref="handle" minOccurs="1" maxOccurs="1"/>
  22. </xs:sequence>
  23. </xs:complexType>
  24. <xs:key name="handleName">
  25. <xs:selector xpath="handle"/>
  26. <xs:field xpath="@id"/>
  27. </xs:key>
  28. </xs:element>
  29. <xs:element name="handle" type="handleType" />
  30. <xs:complexType name="layoutType">
  31. <xs:annotation>
  32. <xs:documentation>
  33. Layout Type definition
  34. </xs:documentation>
  35. </xs:annotation>
  36. <xs:choice minOccurs="0" maxOccurs="unbounded">
  37. <xs:element ref="referenceContainer" minOccurs="0" maxOccurs="unbounded"/>
  38. <xs:element name="container" type="containerType" minOccurs="0" maxOccurs="unbounded"/>
  39. <xs:element ref="update" minOccurs="0" maxOccurs="unbounded"/>
  40. <xs:element ref="remove" minOccurs="0" maxOccurs="unbounded"/>
  41. <xs:element ref="move" minOccurs="0" maxOccurs="unbounded"/>
  42. <xs:element ref="block" minOccurs="0" maxOccurs="unbounded"/>
  43. <xs:element ref="referenceBlock" minOccurs="0" maxOccurs="unbounded"/>
  44. <xs:element name="body" type="bodyType" minOccurs="0" maxOccurs="unbounded"/>
  45. <xs:element name="head" type="headType" minOccurs="0" maxOccurs="unbounded"/>
  46. <xs:element name="html" type="htmlType" minOccurs="0" maxOccurs="unbounded"/>
  47. </xs:choice>
  48. </xs:complexType>
  49. <xs:complexType name="handleType">
  50. <xs:annotation>
  51. <xs:documentation>
  52. Handle Type definition
  53. </xs:documentation>
  54. </xs:annotation>
  55. <xs:complexContent>
  56. <xs:extension base="layoutType">
  57. <xs:attribute type="elementNameType" name="id" use="required"/>
  58. </xs:extension>
  59. </xs:complexContent>
  60. </xs:complexType>
  61. <xs:complexType name="const">
  62. <xs:complexContent>
  63. <xs:extension base="argumentType" />
  64. </xs:complexContent>
  65. </xs:complexType>
  66. </xs:schema>