Home | History | Annotate | Download | only in schemas
      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