[Project] StrolchModel-1.4.xsd: added required for attributes

This commit is contained in:
Robert von Burg 2016-09-28 15:15:18 +02:00
parent 06f0411f46
commit 3385694563
2 changed files with 201 additions and 204 deletions

View File

@ -24,10 +24,10 @@
</xs:complexType>
<xs:complexType name="VersionType">
<xs:attribute type="xs:int" name="Version" />
<xs:attribute type="xs:string" name="CreatedBy" />
<xs:attribute type="xs:dateTime" name="CreatedAt" />
<xs:attribute type="xs:string" name="Deleted" />
<xs:attribute type="xs:int" name="Version" use="required" />
<xs:attribute type="xs:string" name="CreatedBy" use="required" />
<xs:attribute type="xs:dateTime" name="CreatedAt" use="required" />
<xs:attribute type="xs:string" name="Deleted" use="required" />
</xs:complexType>
<xs:complexType name="OrderType">
@ -36,10 +36,10 @@
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="xs:string" name="Type" />
<xs:attribute type="StateType" name="State" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
<xs:attribute type="StateType" name="State" use="optional" />
</xs:complexType>
<xs:complexType name="ResourceType">
@ -49,9 +49,9 @@
<xs:element type="TimedStateType" name="TimedState" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="xs:string" name="Type" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ActivityType">
@ -66,11 +66,10 @@
</xs:choice>
</xs:sequence>
</xs:sequence>
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="xs:string" name="Type" />
<xs:attribute type="StateType" name="State" />
<xs:attribute type="TimeOrderingType" name="TimeOrdering" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
<xs:attribute type="TimeOrderingType" name="TimeOrdering" use="required" />
</xs:complexType>
<xs:complexType name="ActionType">
@ -79,28 +78,28 @@
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
<xs:element type="ValueChangeType" name="ValueChange" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="xs:string" name="ResourceId" />
<xs:attribute type="xs:string" name="ResourceType" />
<xs:attribute type="StateType" name="State" />
<xs:attribute type="xs:string" name="Type" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="ResourceId" use="required" />
<xs:attribute type="xs:string" name="ResourceType" use="required" />
<xs:attribute type="StateType" name="State" use="optional" />
<xs:attribute type="xs:string" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ParameterBagType">
<xs:sequence>
<xs:element type="ParameterType" name="Parameter" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="xs:string" name="Type" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ParameterType">
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="ParameterValueType" name="Type" />
<xs:attribute type="xs:string" name="Value" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="ParameterValueType" name="Type" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
<xs:attribute type="xs:string" name="Interpretation" use="optional" />
<xs:attribute type="xs:string" name="Uom" use="optional" />
<xs:attribute type="xs:boolean" name="Hidden" use="optional" />
@ -114,29 +113,29 @@
</xs:complexType>
<xs:complexType name="PolicyType">
<xs:attribute type="xs:string" name="Type" />
<xs:attribute type="xs:string" name="Value" />
<xs:attribute type="xs:string" name="Type" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
</xs:complexType>
<xs:complexType name="TimedStateType">
<xs:sequence>
<xs:element type="ValueType" name="Value" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" />
<xs:attribute type="xs:string" name="Name" />
<xs:attribute type="TimedStateTypeType" name="Type" />
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="TimedStateTypeType" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ValueType">
<xs:attribute type="xs:dateTime" name="Time" />
<xs:attribute type="xs:string" name="Value" />
<xs:attribute type="xs:dateTime" name="Time" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
</xs:complexType>
<xs:complexType name="ValueChangeType">
<xs:attribute type="xs:string" name="StateId" />
<xs:attribute type="xs:dateTime" name="Time" />
<xs:attribute type="xs:string" name="Value" />
<xs:attribute type="TimedStateTypeType" name="Type" />
<xs:attribute type="xs:string" name="StateId" use="required" />
<xs:attribute type="xs:dateTime" name="Time" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
<xs:attribute type="TimedStateTypeType" name="Type" use="required" />
</xs:complexType>
<xs:simpleType name="StateType">

View File

@ -1,186 +1,184 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://strolch.li/xsd/StrolchModel-1.4.xsd"
xmlns="https://strolch.li/xsd/StrolchModel-1.4.xsd"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://strolch.li/xsd/StrolchModel-1.4.xsd" xmlns="https://strolch.li/xsd/StrolchModel-1.4.xsd"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>This is Version 1.4.x of the StrolchModel XSD.</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>This is Version 1.4.x of the StrolchModel XSD.</xs:documentation>
</xs:annotation>
<xs:element name="StrolchModel" type="StrolchModelType"/>
<xs:element name="StrolchModel" type="StrolchModelType" />
<xs:complexType name="StrolchModelType">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:choice>
<xs:element type="IncludeFileType" name="IncludeFile" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="OrderType" name="Order" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="ResourceType" name="Resource" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="ActivityType" name="Activity" maxOccurs="unbounded" minOccurs="0"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="StrolchModelType">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:choice>
<xs:element type="IncludeFileType" name="IncludeFile" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="OrderType" name="Order" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="ResourceType" name="Resource" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="ActivityType" name="Activity" maxOccurs="unbounded" minOccurs="0" />
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IncludeFileType">
<xs:attribute type="xs:string" name="file"/>
</xs:complexType>
<xs:complexType name="IncludeFileType">
<xs:attribute type="xs:string" name="file" />
</xs:complexType>
<xs:complexType name="VersionType">
<xs:attribute type="xs:int" name="Version"/>
<xs:attribute type="xs:string" name="CreatedBy"/>
<xs:attribute type="xs:dateTime" name="CreatedAt"/>
<xs:attribute type="xs:string" name="Deleted"/>
</xs:complexType>
<xs:complexType name="VersionType">
<xs:attribute type="xs:int" name="Version" use="required" />
<xs:attribute type="xs:string" name="CreatedBy" use="required" />
<xs:attribute type="xs:dateTime" name="CreatedAt" use="required" />
<xs:attribute type="xs:string" name="Deleted" use="required" />
</xs:complexType>
<xs:complexType name="OrderType">
<xs:sequence>
<xs:element type="VersionType" name="Version" maxOccurs="1" minOccurs="0"/>
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="xs:string" name="Type"/>
<xs:attribute type="StateType" name="State"/>
</xs:complexType>
<xs:complexType name="OrderType">
<xs:sequence>
<xs:element type="VersionType" name="Version" maxOccurs="1" minOccurs="0" />
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
<xs:attribute type="StateType" name="State" use="optional" />
</xs:complexType>
<xs:complexType name="ResourceType">
<xs:sequence>
<xs:element type="VersionType" name="Version" maxOccurs="1" minOccurs="0"/>
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="TimedStateType" name="TimedState" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="xs:string" name="Type"/>
</xs:complexType>
<xs:complexType name="ResourceType">
<xs:sequence>
<xs:element type="VersionType" name="Version" maxOccurs="1" minOccurs="0" />
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="TimedStateType" name="TimedState" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ActivityType">
<xs:sequence>
<xs:element type="VersionType" name="Version" maxOccurs="1" minOccurs="0"/>
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0"/>
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:choice>
<xs:element type="ActionType" name="Action" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="ActivityType" name="Activity" maxOccurs="unbounded" minOccurs="0"/>
</xs:choice>
</xs:sequence>
</xs:sequence>
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="xs:string" name="Type"/>
<xs:attribute type="StateType" name="State"/>
<xs:attribute type="TimeOrderingType" name="TimeOrdering"/>
</xs:complexType>
<xs:complexType name="ActivityType">
<xs:sequence>
<xs:element type="VersionType" name="Version" maxOccurs="1" minOccurs="0" />
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:choice>
<xs:element type="ActionType" name="Action" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="ActivityType" name="Activity" maxOccurs="unbounded" minOccurs="0" />
</xs:choice>
</xs:sequence>
</xs:sequence>
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
<xs:attribute type="TimeOrderingType" name="TimeOrdering" use="required" />
</xs:complexType>
<xs:complexType name="ActionType">
<xs:sequence>
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0"/>
<xs:element type="ValueChangeType" name="ValueChange" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="xs:string" name="ResourceId"/>
<xs:attribute type="xs:string" name="ResourceType"/>
<xs:attribute type="StateType" name="State"/>
<xs:attribute type="xs:string" name="Type"/>
</xs:complexType>
<xs:complexType name="ActionType">
<xs:sequence>
<xs:element type="ParameterBagType" name="ParameterBag" maxOccurs="unbounded" minOccurs="0" />
<xs:element type="PoliciesType" name="Policies" maxOccurs="1" minOccurs="0" />
<xs:element type="ValueChangeType" name="ValueChange" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="ResourceId" use="required" />
<xs:attribute type="xs:string" name="ResourceType" use="required" />
<xs:attribute type="StateType" name="State" use="optional" />
<xs:attribute type="xs:string" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ParameterBagType">
<xs:sequence>
<xs:element type="ParameterType" name="Parameter" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="xs:string" name="Type"/>
</xs:complexType>
<xs:complexType name="ParameterBagType">
<xs:sequence>
<xs:element type="ParameterType" name="Parameter" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="xs:string" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ParameterType">
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="ParameterValueType" name="Type"/>
<xs:attribute type="xs:string" name="Value"/>
<xs:attribute type="xs:string" name="Interpretation" use="optional"/>
<xs:attribute type="xs:string" name="Uom" use="optional"/>
<xs:attribute type="xs:boolean" name="Hidden" use="optional"/>
<xs:attribute type="xs:int" name="Index" use="optional"/>
</xs:complexType>
<xs:complexType name="ParameterType">
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="ParameterValueType" name="Type" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
<xs:attribute type="xs:string" name="Interpretation" use="optional" />
<xs:attribute type="xs:string" name="Uom" use="optional" />
<xs:attribute type="xs:boolean" name="Hidden" use="optional" />
<xs:attribute type="xs:int" name="Index" use="optional" />
</xs:complexType>
<xs:complexType name="PoliciesType">
<xs:sequence>
<xs:element type="PolicyType" name="Policy" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PoliciesType">
<xs:sequence>
<xs:element type="PolicyType" name="Policy" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PolicyType">
<xs:attribute type="xs:string" name="Type"/>
<xs:attribute type="xs:string" name="Value"/>
</xs:complexType>
<xs:complexType name="PolicyType">
<xs:attribute type="xs:string" name="Type" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
</xs:complexType>
<xs:complexType name="TimedStateType">
<xs:sequence>
<xs:element type="ValueType" name="Value" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="Id"/>
<xs:attribute type="xs:string" name="Name"/>
<xs:attribute type="TimedStateTypeType" name="Type"/>
</xs:complexType>
<xs:complexType name="TimedStateType">
<xs:sequence>
<xs:element type="ValueType" name="Value" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute type="xs:string" name="Id" use="required" />
<xs:attribute type="xs:string" name="Name" use="required" />
<xs:attribute type="TimedStateTypeType" name="Type" use="required" />
</xs:complexType>
<xs:complexType name="ValueType">
<xs:attribute type="xs:dateTime" name="Time"/>
<xs:attribute type="xs:string" name="Value"/>
</xs:complexType>
<xs:complexType name="ValueType">
<xs:attribute type="xs:dateTime" name="Time" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
</xs:complexType>
<xs:complexType name="ValueChangeType">
<xs:attribute type="xs:string" name="StateId"/>
<xs:attribute type="xs:dateTime" name="Time"/>
<xs:attribute type="xs:string" name="Value"/>
<xs:attribute type="TimedStateTypeType" name="Type"/>
</xs:complexType>
<xs:complexType name="ValueChangeType">
<xs:attribute type="xs:string" name="StateId" use="required" />
<xs:attribute type="xs:dateTime" name="Time" use="required" />
<xs:attribute type="xs:string" name="Value" use="required" />
<xs:attribute type="TimedStateTypeType" name="Type" use="required" />
</xs:complexType>
<xs:simpleType name="StateType">
<xs:restriction base="xs:string">
<xs:enumeration value="Created"/>
<xs:enumeration value="Planning"/>
<xs:enumeration value="Planned"/>
<xs:enumeration value="Execution"/>
<xs:enumeration value="Stopped"/>
<xs:enumeration value="Executed"/>
<xs:enumeration value="Closed"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StateType">
<xs:restriction base="xs:string">
<xs:enumeration value="Created" />
<xs:enumeration value="Planning" />
<xs:enumeration value="Planned" />
<xs:enumeration value="Execution" />
<xs:enumeration value="Stopped" />
<xs:enumeration value="Executed" />
<xs:enumeration value="Closed" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TimeOrderingType">
<xs:restriction base="xs:string">
<xs:enumeration value="Series"/>
<xs:enumeration value="Parallel"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TimeOrderingType">
<xs:restriction base="xs:string">
<xs:enumeration value="Series" />
<xs:enumeration value="Parallel" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ParameterValueType">
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="String"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Duration"/>
<xs:enumeration value="StringList"/>
<xs:enumeration value="IntegerList"/>
<xs:enumeration value="FloatList"/>
<xs:enumeration value="LongList"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ParameterValueType">
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean" />
<xs:enumeration value="String" />
<xs:enumeration value="Integer" />
<xs:enumeration value="Long" />
<xs:enumeration value="Float" />
<xs:enumeration value="Date" />
<xs:enumeration value="Duration" />
<xs:enumeration value="StringList" />
<xs:enumeration value="IntegerList" />
<xs:enumeration value="FloatList" />
<xs:enumeration value="LongList" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TimedStateTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="StringSet"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TimedStateTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean" />
<xs:enumeration value="Integer" />
<xs:enumeration value="Float" />
<xs:enumeration value="StringSet" />
</xs:restriction>
</xs:simpleType>
</xs:schema>