MOON
Server: Apache
System: Linux res.emeff.ca 3.10.0-962.3.2.lve1.5.24.10.el7.x86_64 #1 SMP Wed Mar 20 07:36:02 EDT 2019 x86_64
User: accemeff (1004)
PHP: 7.0.33
Disabled: NONE
Upload Files
File: /home/accemeff/www/acc/dev/tests/functional/etc/events.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    Tests
 * @package     Tests_Functional
 * @copyright  Copyright (c) 2006-2017 X.commerce, Inc. and affiliates (http://www.magento.com)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="config">
        <xs:complexType>
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
                <xs:element type="preset" name="preset">
                    <xs:unique name="uniqueObserverClass">
                        <xs:annotation>
                            <xs:documentation>
                                Observer class must be unique.
                            </xs:documentation>
                        </xs:annotation>
                        <xs:selector xpath="observer"/>
                        <xs:field xpath="@class"/>
                    </xs:unique>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
        <xs:unique name="uniquePresetName">
            <xs:annotation>
                <xs:documentation>
                    Preset name must be unique.
                </xs:documentation>
            </xs:annotation>
            <xs:selector xpath="preset"/>
            <xs:field xpath="@name"/>
        </xs:unique>
    </xs:element>

    <xs:complexType name="preset">
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element type="observer" name="observer">
                <xs:unique name="uniqueTagName">
                    <xs:annotation>
                        <xs:documentation>
                            Tag name must be unique.
                        </xs:documentation>
                    </xs:annotation>
                    <xs:selector xpath="tag"/>
                    <xs:field xpath="@name"/>
                </xs:unique>
            </xs:element>
        </xs:sequence>
        <xs:attribute type="xs:string" name="name" use="required"/>
        <xs:attribute type="xs:string" name="extends" use="optional"/>
    </xs:complexType>


    <xs:complexType name="observer">
        <xs:annotation>
            <xs:documentation>
                Observer node with all attached tags for events inside
            </xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element type="tag" name="tag" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute type="xs:string" name="class" use="required"/>
    </xs:complexType>

    <xs:complexType name="tag">
        <xs:annotation>
            <xs:documentation>
                Tag with name to look for
            </xs:documentation>
        </xs:annotation>
        <xs:attribute type="xs:string" name="name" use="required"/>
    </xs:complexType>

</xs:schema>