12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="config">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="report" type="reportDeclaration" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="reportDeclaration">
- <xs:sequence>
- <xs:element name="source" type="sourceDeclaration" minOccurs="1" maxOccurs="1" />
- <xs:any minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="connection" type="xs:string"/>
- <xs:attribute name="iterator" type="xs:string"/>
- </xs:complexType>
- <xs:complexType name="sourceDeclaration">
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element name="attribute" type="attributeDeclaration" minOccurs="1" maxOccurs="unbounded" />
- <xs:element name="link-source" type="linkSourceDeclaration" minOccurs="0" maxOccurs="61" />
- <xs:element name="filter" type="filterDeclaration" minOccurs="0" maxOccurs="unbounded" />
- </xs:choice>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="alias" type="xs:string"/>
- </xs:complexType>
- <xs:complexType name="linkSourceDeclaration">
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element name="attribute" type="attributeDeclaration" minOccurs="0" maxOccurs="unbounded" />
- <xs:element name="filter" type="filterDeclaration" minOccurs="0" maxOccurs="unbounded" />
- <xs:element name="using" type="filterDeclaration" minOccurs="1" maxOccurs="unbounded" />
- </xs:choice>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="alias" type="xs:string"/>
- <xs:attribute name="link-type" type="xs:string"/>
- </xs:complexType>
- <xs:complexType name="attributeDeclaration">
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="alias" type="xs:string"/>
- <xs:attribute name="function" type="functionDeclaration"/>
- <xs:attribute name="group" type="xs:boolean" default="false"/>
- <xs:attribute name="distinct" type="xs:boolean" default="false"/>
- </xs:complexType>
- <xs:complexType name="filterDeclaration">
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element name="filter" type="filterDeclaration" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="condition" type="conditionDeclaration" minOccurs="1" maxOccurs="unbounded" />
- </xs:choice>
- <xs:attribute name="glue" type="glueType" default="and" />
- </xs:complexType>
- <xs:complexType name="conditionDeclaration" mixed="true">
- <xs:attribute name="attribute" type="xs:string" use="required" />
- <xs:attribute name="operator" type="xs:string" use="required" />
- <xs:attribute name="type" type="valueType" default="value" />
- </xs:complexType>
- <xs:simpleType name="valueType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="value" />
- <xs:enumeration value="variable" />
- <xs:enumeration value="identifier" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="functionDeclaration">
- <xs:restriction base="xs:string">
- <xs:enumeration value="count" />
- <xs:enumeration value="lower" />
- <xs:enumeration value="date" />
- <xs:enumeration value="sum" />
- <xs:enumeration value="max" />
- <xs:enumeration value="avg" />
- <xs:enumeration value="min" />
- <xs:enumeration value="sha1" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="glueType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="and" />
- <xs:enumeration value="or" />
- </xs:restriction>
- </xs:simpleType>
- </xs:schema>
|