pdf.xsd 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. /**
  4. * XSD for an XML, composed as result of merging all config files with PDF settings
  5. *
  6. * Copyright © Magento, Inc. All rights reserved.
  7. * See COPYING.txt for license details.
  8. */
  9. -->
  10. <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  11. <xs:element name="config" type="configType"/>
  12. <xs:complexType name="configType">
  13. <xs:all>
  14. <xs:element name="renderers" type="renderersType" minOccurs="0">
  15. <xs:unique name="uniquePageRenderer">
  16. <xs:selector xpath="page"/>
  17. <xs:field xpath="@type"/>
  18. </xs:unique>
  19. </xs:element>
  20. <xs:element name="totals" type="totalsType" minOccurs="0">
  21. <xs:unique name="uniqueTotalItem">
  22. <xs:selector xpath="total"/>
  23. <xs:field xpath="@name"/>
  24. </xs:unique>
  25. </xs:element>
  26. </xs:all>
  27. </xs:complexType>
  28. <xs:complexType name="renderersType">
  29. <xs:sequence>
  30. <xs:element name="page" type="pageType" minOccurs="0" maxOccurs="unbounded">
  31. <xs:unique name="uniqueProductTypeRenderer">
  32. <xs:selector xpath="renderer"/>
  33. <xs:field xpath="@product_type"/>
  34. </xs:unique>
  35. </xs:element>
  36. </xs:sequence>
  37. </xs:complexType>
  38. <xs:complexType name="pageType">
  39. <xs:sequence>
  40. <xs:element name="renderer" type="rendererType" minOccurs="0" maxOccurs="unbounded"/>
  41. </xs:sequence>
  42. <xs:attribute name="type" type="xs:string" use="required"/>
  43. </xs:complexType>
  44. <xs:complexType name="rendererType">
  45. <xs:simpleContent>
  46. <xs:extension base="classNameType">
  47. <xs:attribute name="product_type" type="xs:string" use="required"/>
  48. </xs:extension>
  49. </xs:simpleContent>
  50. </xs:complexType>
  51. <xs:simpleType name="classNameType">
  52. <xs:restriction base="xs:string">
  53. <xs:pattern value="[A-Z][a-zA-Z\d]*(\\[A-Z][a-zA-Z\d]*)*" />
  54. </xs:restriction>
  55. </xs:simpleType>
  56. <xs:complexType name="totalsType">
  57. <xs:sequence>
  58. <xs:element name="total" type="totalItemType" minOccurs="0" maxOccurs="unbounded"/>
  59. </xs:sequence>
  60. </xs:complexType>
  61. <xs:complexType name="totalItemType">
  62. <xs:all>
  63. <xs:element name="title" type="totalTitleType"/>
  64. <xs:element name="source_field" type="fieldType"/>
  65. <xs:element name="title_source_field" type="fieldType" minOccurs="0"/>
  66. <xs:element name="font_size" type="xs:positiveInteger" minOccurs="0"/>
  67. <xs:element name="display_zero" type="xs:boolean" minOccurs="0"/>
  68. <xs:element name="sort_order" type="xs:nonNegativeInteger" minOccurs="0"/>
  69. <xs:element name="model" type="classNameType" minOccurs="0"/>
  70. <xs:element name="amount_prefix" type="xs:string" minOccurs="0"/>
  71. </xs:all>
  72. <xs:attribute name="name" type="xs:string" use="required"/>
  73. </xs:complexType>
  74. <xs:complexType name="totalTitleType">
  75. <xs:simpleContent>
  76. <xs:extension base="nonEmptyString">
  77. <xs:attribute name="translate" type="xs:boolean"/>
  78. </xs:extension>
  79. </xs:simpleContent>
  80. </xs:complexType>
  81. <xs:simpleType name="nonEmptyString">
  82. <xs:restriction base="xs:string">
  83. <xs:minLength value="1"/>
  84. </xs:restriction>
  85. </xs:simpleType>
  86. <xs:simpleType name="fieldType">
  87. <xs:restriction base="xs:string">
  88. <xs:pattern value="[a-z0-9_]+" />
  89. </xs:restriction>
  90. </xs:simpleType>
  91. </xs:schema>