<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- ***************************************************************************
 * Copyright (c) 2017 École Polytechnique de Montréal and others
 *
 * All rights reserved. This program and the accompanying materials are
 * made available under the terms of the Eclipse Public License 2.0 which
 * accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *************************************************************************** -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	attributeFormDefault="unqualified" elementFormDefault="qualified">

	<xs:element name="my" substitutionGroup="extra" type="myType"/>
	<xs:element name="abc" substitutionGroup="extra" type="myType"/>

	<xs:complexType name="myType">
		<xs:complexContent>
			<xs:extension base="extraType">
				<xs:annotation>
					<xs:documentation>Example type to extend the XML with new functionalities</xs:documentation>
				</xs:annotation>
				<xs:sequence>
				    <xs:element maxOccurs="1" minOccurs="0" name="head" type="headPattern" >
						<xs:annotation>
							<xs:documentation>Provides meta-information on this pattern provider, like labels and applicable trace types.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element maxOccurs="unbounded" minOccurs="0" name="mySubElement" type="xs:string">
						<xs:annotation>
							<xs:documentation>A sub-element to this new type</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="id" type="xs:string" use="required" >
					<xs:annotation>
						<xs:documentation>The unique ID of this analysis. It will be used to identify the analysis that will be built from this element.</xs:documentation></xs:annotation>
					</xs:attribute>
				<xs:attribute name="name" type="xs:string" use="optional">
					<xs:annotation>
						<xs:documentation>An extra attribute</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

</xs:schema>