| <?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> |