blob: bbe89ca114cc7aa1bde4ac9bf082d1bbcff7b74a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0,
or the Eclipse Distribution License v. 1.0 which is available at
http://www.eclipse.org/org/documents/edl-v10.php.
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="hierarchySubstitution" xmlns="hierarchySubstitution">
<xsd:element name="root" type="tRoot"/>
<xsd:complexType name ="tRoot">
<xsd:sequence>
<xsd:element ref="genericElement" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="substitutableElement" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="tBase" abstract="true">
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="genericElement" type="tGeneric"/>
<xsd:complexType name="tGeneric">
<xsd:complexContent>
<xsd:extension base="tBase">
<xsd:attribute name="surname" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="substitutableElement" type="tSubstitutable"/>
<xsd:complexType name="tSubstitutable" abstract="true">
<xsd:complexContent>
<xsd:extension base="tBase">
<xsd:attribute name="id" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="substituteElement" type="tSubstitute" substitutionGroup="substitutableElement"/>
<xsd:complexType name="tSubstitute">
<xsd:complexContent>
<xsd:extension base="tSubstitutable">
<xsd:attribute name="color" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>