1<?xml version="1.0" encoding="UTF-8"?> 2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 3 <xs:include schemaLocation="ParameterSettings.xsd"/> 4 <xs:complexType name="SelectionCriterionRuleType"> 5 <xs:attribute name="SelectionCriterion" type="xs:NMTOKEN" use="required"/> 6 <xs:attribute name="MatchesWhen" use="required"> 7 <xs:simpleType> 8 <xs:restriction base="xs:NMTOKEN"> 9 <xs:enumeration value="Is"/> 10 <xs:enumeration value="IsNot"/> 11 <xs:enumeration value="Includes"/> 12 <xs:enumeration value="Excludes"/> 13 </xs:restriction> 14 </xs:simpleType> 15 </xs:attribute> 16 <xs:attribute name="Value" use="required"/> 17 </xs:complexType> 18 <xs:group name="RuleGroup"> 19 <xs:choice> 20 <xs:element name="CompoundRule" type="CompoundRuleType"/> 21 <xs:element name="SelectionCriterionRule" type="SelectionCriterionRuleType"/> 22 </xs:choice> 23 </xs:group> 24 <xs:complexType name="CompoundRuleType"> 25 <xs:sequence> 26 <xs:group ref="RuleGroup" minOccurs="0" maxOccurs="unbounded"/> 27 </xs:sequence> 28 <xs:attribute name="Type"> 29 <xs:simpleType> 30 <xs:restriction base="xs:NMTOKEN"> 31 <xs:enumeration value="Any"/> 32 <xs:enumeration value="All"/> 33 </xs:restriction> 34 </xs:simpleType> 35 </xs:attribute> 36 </xs:complexType> 37 <xs:complexType name="ConfigurationsType"> 38 <xs:sequence> 39 <xs:element maxOccurs="unbounded" name="Configuration"> 40 <xs:complexType> 41 <xs:sequence> 42 <xs:element name="CompoundRule" type="CompoundRuleType" minOccurs="0" maxOccurs="1"/> 43 </xs:sequence> 44 <xs:attribute name="Name" use="required" type="xs:NCName"/> 45 </xs:complexType> 46 </xs:element> 47 </xs:sequence> 48 </xs:complexType> 49 <xs:group name="ComponentGroup"> 50 <xs:sequence> 51 <xs:group ref="ParameterBlockGroup"/> 52 </xs:sequence> 53 </xs:group> 54 <xs:complexType name="ComponentType"> 55 <xs:sequence> 56 <xs:choice> 57 <xs:group ref="ComponentGroup" maxOccurs="unbounded"/> 58 <xs:element name="Subsystem" type="ComponentType" maxOccurs="unbounded"/> 59 </xs:choice> 60 </xs:sequence> 61 <xs:attribute name="Name" use="required" type="xs:NCName"/> 62 </xs:complexType> 63 <xs:complexType name="ConfigurableElementsType"> 64 <xs:sequence> 65 <xs:element maxOccurs="unbounded" minOccurs="0" name="ConfigurableElement"> 66 <xs:complexType> 67 <xs:attribute name="Path" use="required"> 68 <xs:simpleType> 69 <xs:restriction base="xs:anyURI"> 70 <xs:pattern value="/.*[^/]"/> 71 </xs:restriction> 72 </xs:simpleType> 73 </xs:attribute> 74 </xs:complexType> 75 </xs:element> 76 </xs:sequence> 77 </xs:complexType> 78 <xs:complexType name="ConfigurableElementSettingsType"> 79 <xs:choice> 80 <xs:element name="BitParameter" type="IntegerParameterType"/> 81 <xs:group ref="ComponentGroup"/> 82 </xs:choice> 83 <xs:attribute name="Path" use="required"> 84 <xs:simpleType> 85 <xs:restriction base="xs:anyURI"> 86 <xs:pattern value="/.*[^/]"/> 87 </xs:restriction> 88 </xs:simpleType> 89 </xs:attribute> 90 </xs:complexType> 91 <xs:complexType name="SettingsType"> 92 <xs:sequence> 93 <xs:element maxOccurs="unbounded" minOccurs="0" name="Configuration"> 94 <xs:complexType> 95 <xs:sequence> 96 <xs:element name="ConfigurableElement" minOccurs="0" maxOccurs="unbounded" type="ConfigurableElementSettingsType"/> 97 </xs:sequence> 98 <xs:attribute name="Name" use="required" type="xs:NCName"/> 99 </xs:complexType> 100 <xs:unique name="ConfigurableElementUniqueness"> 101 <xs:selector xpath="ConfigurableElement"/> 102 <xs:field xpath="@Path"/> 103 </xs:unique> 104 </xs:element> 105 </xs:sequence> 106 </xs:complexType> 107 <xs:complexType name="ConfigurableDomainType"> 108 <xs:sequence> 109 <xs:element name="Configurations" type="ConfigurationsType"/> 110 <xs:element name="ConfigurableElements" type="ConfigurableElementsType"/> 111 <xs:element name="Settings" type="SettingsType" minOccurs="0"/> 112 </xs:sequence> 113 <xs:attribute name="Name" use="required" type="xs:NCName"/> 114 <xs:attribute name="SequenceAware" use="optional" type="xs:boolean" default="false"/> 115 </xs:complexType> 116 <xs:element name="ConfigurableDomain" type="ConfigurableDomainType"/> 117</xs:schema> 118