package.xsd 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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="language" type="languageDeclarationType">
  10. <xs:unique name="vendorCode">
  11. <xs:selector xpath="use"/>
  12. <xs:field xpath="@vendor"/>
  13. <xs:field xpath="@package"/>
  14. </xs:unique>
  15. </xs:element>
  16. <xs:complexType name="languageDeclarationType">
  17. <xs:annotation>
  18. <xs:documentation>Magento language package declaration</xs:documentation>
  19. </xs:annotation>
  20. <xs:sequence>
  21. <xs:element minOccurs="1" maxOccurs="1" name="code" type="codeType"/>
  22. <xs:element minOccurs="1" maxOccurs="1" name="vendor" type="vendorType"/>
  23. <xs:element minOccurs="1" maxOccurs="1" name="package" type="packageType"/>
  24. <xs:element minOccurs="0" maxOccurs="1" name="sort_order" type="xs:integer"/>
  25. <xs:element minOccurs="0" maxOccurs="unbounded" name="use" type="useType"/>
  26. </xs:sequence>
  27. </xs:complexType>
  28. <xs:simpleType name="codeType">
  29. <xs:restriction base="xs:string">
  30. <xs:pattern value="[a-z]{2}_([a-zA-Z]{4}_)?[A-Z]{2}"/>
  31. </xs:restriction>
  32. </xs:simpleType>
  33. <xs:simpleType name="vendorType">
  34. <xs:restriction base="xs:string">
  35. <xs:pattern value="[a-zA-Z\-_]+"/>
  36. </xs:restriction>
  37. </xs:simpleType>
  38. <xs:simpleType name="packageType">
  39. <xs:restriction base="xs:string">
  40. <xs:pattern value="[a-zA-Z\-_]+"/>
  41. </xs:restriction>
  42. </xs:simpleType>
  43. <xs:complexType name="useType">
  44. <xs:attribute use="required" name="vendor" type="vendorType"/>
  45. <xs:attribute use="required" name="package" type="packageType"/>
  46. </xs:complexType>
  47. </xs:schema>