diff options
author | David Wagner <david.wagner@intel.com> | 2014-12-04 18:19:56 +0100 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2015-01-22 11:53:52 +0100 |
commit | c39e7f4bbad04e92b53054b61b3f3deaa98ccd61 (patch) | |
tree | 5520ddad553c8f04c863791d334985dc514445d9 /Schemas/ConfigurableDomain.xsd | |
parent | 12de2f264c693736a0157847578f6231309cf395 (diff) | |
download | external_parameter-framework-c39e7f4bbad04e92b53054b61b3f3deaa98ccd61.zip external_parameter-framework-c39e7f4bbad04e92b53054b61b3f3deaa98ccd61.tar.gz external_parameter-framework-c39e7f4bbad04e92b53054b61b3f3deaa98ccd61.tar.bz2 |
Schemas: Split ConfigurableDomain from ConfigurableDomains
This is done in preparation for future work making it possible to export/import
domains in standalone and separate files.
Change-Id: I35ae66361d18e2de603cedee6b1701defcc9d357
Signed-off-by: David Wagner <david.wagner@intel.com>
Diffstat (limited to 'Schemas/ConfigurableDomain.xsd')
-rw-r--r-- | Schemas/ConfigurableDomain.xsd | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/Schemas/ConfigurableDomain.xsd b/Schemas/ConfigurableDomain.xsd new file mode 100644 index 0000000..8683192 --- /dev/null +++ b/Schemas/ConfigurableDomain.xsd @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:include schemaLocation="ParameterSettings.xsd"/> + <xs:complexType name="SelectionCriterionRuleType"> + <xs:attribute name="SelectionCriterion" type="xs:NMTOKEN" use="required"/> + <xs:attribute name="MatchesWhen" use="required"> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="Is"/> + <xs:enumeration value="IsNot"/> + <xs:enumeration value="Includes"/> + <xs:enumeration value="Excludes"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="Value" use="required"/> + </xs:complexType> + <xs:group name="RuleGroup"> + <xs:choice> + <xs:element name="CompoundRule" type="CompoundRuleType"/> + <xs:element name="SelectionCriterionRule" type="SelectionCriterionRuleType"/> + </xs:choice> + </xs:group> + <xs:complexType name="CompoundRuleType"> + <xs:sequence> + <xs:group ref="RuleGroup" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="Type"> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="Any"/> + <xs:enumeration value="All"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="ConfigurationsType"> + <xs:sequence> + <xs:element maxOccurs="unbounded" name="Configuration"> + <xs:complexType> + <xs:sequence> + <xs:element name="CompoundRule" type="CompoundRuleType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:attribute name="Name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:group name="ComponentGroup"> + <xs:sequence> + <xs:group ref="ParameterBlockGroup"/> + </xs:sequence> + </xs:group> + <xs:complexType name="ComponentType"> + <xs:sequence> + <xs:choice> + <xs:group ref="ComponentGroup" maxOccurs="unbounded"/> + <xs:element name="Subsystem" type="ComponentType" maxOccurs="unbounded"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="Name" use="required" type="xs:NCName"/> + </xs:complexType> + <xs:complexType name="ConfigurableElementsType"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="ConfigurableElement"> + <xs:complexType> + <xs:attribute name="Path" use="required"> + <xs:simpleType> + <xs:restriction base="xs:anyURI"> + <xs:pattern value="/.*[^/]"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ConfigurableElementSettingsType"> + <xs:choice> + <xs:element name="BitParameter" type="IntegerParameterType"/> + <xs:group ref="ComponentGroup"/> + </xs:choice> + <xs:attribute name="Path" use="required"> + <xs:simpleType> + <xs:restriction base="xs:anyURI"> + <xs:pattern value="/.*[^/]"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="SettingsType"> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="Configuration"> + <xs:complexType> + <xs:sequence> + <xs:element name="ConfigurableElement" minOccurs="0" maxOccurs="unbounded" type="ConfigurableElementSettingsType"/> + </xs:sequence> + <xs:attribute name="Name" use="required" type="xs:NCName"/> + </xs:complexType> + <xs:unique name="ConfigurableElementUniqueness"> + <xs:selector xpath="ConfigurableElement"/> + <xs:field xpath="@Path"/> + </xs:unique> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ConfigurableDomainType"> + <xs:sequence> + <xs:element name="Configurations" type="ConfigurationsType"/> + <xs:element name="ConfigurableElements" type="ConfigurableElementsType"/> + <xs:element name="Settings" type="SettingsType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="Name" use="required" type="xs:NCName"/> + <xs:attribute name="SequenceAware" use="optional" type="xs:boolean" default="false"/> + </xs:complexType> + <xs:element name="ConfigurableDomain" type="ConfigurableDomainType"/> +</xs:schema> |