Skip to content

Commit

Permalink
Merge pull request #155 from donmendelson/v1.1schema
Browse files Browse the repository at this point in the history
V1.1schema
  • Loading branch information
donmendelson authored Mar 24, 2022
2 parents 9758da2 + de1d8a6 commit 223ede2
Show file tree
Hide file tree
Showing 13 changed files with 130 additions and 65 deletions.
2 changes: 1 addition & 1 deletion dsl-antlr/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>io.fixprotocol.orchestra</groupId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dsl-antlr</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion interfaces-util/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>interfaces-util</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
2 changes: 1 addition & 1 deletion interfaces/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>interfaces</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
2 changes: 1 addition & 1 deletion message-model/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>message-model</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
1 change: 0 additions & 1 deletion orchestra-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
</parent>
<artifactId>orchestra-common</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
2 changes: 1 addition & 1 deletion orchestra2doc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>orchestra2doc</artifactId>
<description>Generates humanly readable documentation</description>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>${project.groupId}:${project.artifactId}</name>
<description>Parent project for FIX Orchestra</description>
Expand Down
2 changes: 1 addition & 1 deletion repository-util/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>repository-util</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
2 changes: 1 addition & 1 deletion repository/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.fixprotocol.orchestra</groupId>
<artifactId>parent</artifactId>
<version>1.7.4-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>repository</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
40 changes: 23 additions & 17 deletions repository/src/main/resources/xsd/repository.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="actor" type="fixr:actorType"/>
<xs:element name="flow" type="fixr:flowType"/>
</xs:choice>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="xml:base"/>
</xs:complexType>
Expand All @@ -41,25 +42,26 @@
<xs:element name="categories">
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="fixr:categoryType" maxOccurs="unbounded">
<xs:element name="category" type="fixr:categoryType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A business process category, a subcategory of a businessArea</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute ref="xml:base"/>
</xs:complexType>
</xs:element>
<xs:element name="codeSets">
<xs:complexType>
<xs:sequence>
<xs:element name="codeSet" type="fixr:codeSetType" maxOccurs="unbounded">
<xs:element name="codeSet" type="fixr:codeSetType" minOccurs="0" maxOccurs="unbounded">
<xs:key name="codeKey">
<xs:selector xpath="fixr:code"/>
<xs:field xpath="@name"/>
</xs:key>
</xs:element>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="xml:base"/>
</xs:complexType>
Expand All @@ -77,9 +79,9 @@
<xs:element name="components">
<xs:complexType>
<xs:sequence>
<xs:element name="component" type="fixr:componentType" maxOccurs="unbounded"/>
<xs:element name="component" type="fixr:componentType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute ref="xml:base"/>
</xs:complexType>
<xs:key name="componentNameKey">
Expand All @@ -96,7 +98,8 @@
<xs:element name="concepts">
<xs:complexType>
<xs:sequence>
<xs:element name="concept" type="fixr:conceptType" maxOccurs="unbounded"/>
<xs:element name="concept" type="fixr:conceptType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="xml:base"/>
</xs:complexType>
Expand All @@ -112,23 +115,25 @@
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="fixr:Name_t" use="required"/>
<xs:attribute name="scenario" type="fixr:Name_t" default="base"/>
<xs:attribute name="baseType" type="fixr:Name_t"/>
<xs:attributeGroup ref="fixr:entityAttribGrp"/>
</xs:complexType>
</xs:element>
<xs:element name="datatypes">
<xs:complexType>
<xs:sequence>
<xs:element ref="fixr:datatype" maxOccurs="unbounded"/>
<xs:element ref="fixr:datatype" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute ref="xml:base"/>
</xs:complexType>
</xs:element>
<xs:element name="fields">
<xs:complexType>
<xs:sequence>
<xs:element name="field" type="fixr:fieldType" maxOccurs="unbounded"/>
<xs:element name="field" type="fixr:fieldType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="latestEP" type="fixr:EP_t"/>
<xs:attribute ref="xml:base"/>
Expand All @@ -147,9 +152,9 @@
<xs:element name="groups">
<xs:complexType>
<xs:sequence>
<xs:element name="group" type="fixr:groupType" maxOccurs="unbounded"/>
<xs:element name="group" type="fixr:groupType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute ref="xml:base"/>
</xs:complexType>
<xs:key name="groupNameKey">
Expand All @@ -166,9 +171,9 @@
<xs:element name="messages">
<xs:complexType>
<xs:sequence>
<xs:element name="message" type="fixr:messageType" maxOccurs="unbounded"/>
<xs:element name="message" type="fixr:messageType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute ref="xml:base"/>
</xs:complexType>
<xs:key name="messageNameKey">
Expand Down Expand Up @@ -212,7 +217,6 @@
</xs:annotation>
</xs:attribute>
<xs:attribute name="version" type="fixr:Version_t" use="required"/>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute name="guid" type="xs:string"/>
<xs:attribute name="specUrl" type="xs:anyURI">
<xs:annotation>
Expand All @@ -234,22 +238,24 @@
<xs:key name="typeKey">
<xs:selector xpath="fixr:codeSets/fixr:codeSet|fixr:datatypes/fixr:datatype"/>
<xs:field xpath="@name"/>
<xs:field xpath="@scenario"/>
</xs:key>
<xs:keyref name="typeKeyref" refer="fixr:typeKey">
<xs:selector xpath="fixr:fields/fixr:field"/>
<xs:field xpath="@type"/>
<xs:field xpath="@scenario"/>
</xs:keyref>
</xs:element>
<xs:element name="sections">
<xs:complexType>
<xs:sequence>
<xs:element name="section" type="fixr:sectionType" maxOccurs="unbounded">
<xs:element name="section" type="fixr:sectionType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A large-grained business process category</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:containerAttribGrp"/>
<xs:attribute ref="xml:base"/>
</xs:complexType>
</xs:element>
Expand Down
67 changes: 29 additions & 38 deletions repository/src/main/resources/xsd/repositorytypes.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
International Public License
</xs:documentation>
</xs:annotation>
<xs:simpleType name="Abbreviation_t">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:complexType name="actionType">
<xs:sequence>
<xs:choice id="parameters" minOccurs="0" maxOccurs="unbounded">
Expand Down Expand Up @@ -165,8 +162,16 @@
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="fixr:oidGrp"/>
<xs:attribute name="value" type="xs:string" use="required"/>
<xs:attribute name="sort" type="xs:string"/>
<xs:attribute name="value" type="xs:token" use="required">
<xs:annotation>
<xs:documentation>The XML processor will remove line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces. However, single internal spaces are allowed. May be further restricted by an external style.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sort" type="xs:nonNegativeInteger">
<xs:annotation>
<xs:documentation>Sort and group may be used to organize visualization of a code set.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="group" type="xs:string"/>
<xs:attributeGroup ref="fixr:entityAttribGrp"/>
</xs:complexType>
Expand Down Expand Up @@ -251,9 +256,6 @@
</xs:sequence>
<xs:attribute name="name" type="fixr:Name_t" use="required"/>
</xs:complexType>
<xs:attributeGroup name="containerAttribGrp">
<xs:attribute name="latestEP" type="fixr:EP_t"/>
</xs:attributeGroup>
<xs:simpleType name="datatypeStandard_enum">
<xs:restriction base="xs:string">
<xs:enumeration value="ISO11404">
Expand Down Expand Up @@ -658,7 +660,7 @@
<xs:attributeGroup name="messageAttribGrp">
<xs:attribute name="msgType" type="fixr:MsgType_t"/>
<xs:attribute name="category" type="fixr:Name_t"/>
<xs:attribute name="abbrName" type="fixr:Abbreviation_t"/>
<xs:attribute name="abbrName" type="fixr:Name_t"/>
<xs:attribute name="rendering" type="xs:string">
<xs:annotation>
<xs:documentation>A hint to processes about how to interpret the element. Not validated.</xs:documentation>
Expand All @@ -669,7 +671,6 @@
<xs:sequence>
<xs:element name="identifiers" type="fixr:identifiersType" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="fixr:Name_t" use="required"/>
<xs:attribute name="msgType" type="fixr:MsgType_t"/>
<xs:attributeGroup ref="fixr:refidGrp"/>
<xs:attribute name="implMinOccurs" type="xs:positiveInteger" default="1"/>
Expand All @@ -681,7 +682,7 @@
</xs:complexType>
<xs:complexType name="messageType">
<xs:sequence>
<xs:element name="structure">
<xs:element name="structure" minOccurs="0">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="componentRef" type="fixr:componentRefType"/>
Expand Down Expand Up @@ -725,10 +726,12 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Name_t">
<xs:restriction base="xs:string">
<xs:annotation>
<xs:documentation>Names are from 1-64 characters. The XML processor will remove line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces. Single internal spaces are allowed by the schema but may be restricted by an external style.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
<xs:pattern value="([A-Z]|[a-z])([0-9]|[A-Z]|[a-z]|_)*"/>
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="oidGrp">
Expand All @@ -741,8 +744,8 @@
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="fixr:Name_t" use="required"/>
<xs:attribute name="abbrName" type="fixr:Abbreviation_t"/>
<xs:attribute name="scenario" type="fixr:Scenario_t" default="base">
<xs:attribute name="abbrName" type="fixr:Name_t"/>
<xs:attribute name="scenario" type="fixr:Name_t" default="base">
<xs:annotation>
<xs:documentation>The use case of an element, distinguished by workflow, asset class, etc.</xs:documentation>
</xs:annotation>
Expand Down Expand Up @@ -809,7 +812,12 @@
<xs:documentation>Numeric identifier generally must be unique within a file for an element type, e.g. unique field tag</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="scenario" type="fixr:Scenario_t" default="base">
<xs:attribute name="name" type="fixr:Name_t">
<xs:annotation>
<xs:documentation>Name is optional for convenience, but it is not enforced by referential integrity. Only the name of the referred object is authoritative.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="scenario" type="fixr:Name_t" default="base">
<xs:annotation>
<xs:documentation>The use case of an element, distinguished by workflow, asset class, etc.</xs:documentation>
</xs:annotation>
Expand Down Expand Up @@ -847,13 +855,6 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="Scenario_t">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
<xs:pattern value="([A-Z]|[a-z])([0-9]|[A-Z]|[a-z]|_|-)*"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="sectionType">
<xs:sequence>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
Expand All @@ -863,9 +864,6 @@
<xs:attribute name="FIXMLFileName" type="fixr:Name_t"/>
<xs:attributeGroup ref="fixr:entityAttribGrp"/>
</xs:complexType>
<xs:simpleType name="Sort_t">
<xs:restriction base="xs:nonNegativeInteger"/>
</xs:simpleType>
<xs:complexType name="stateMachineType">
<xs:sequence>
<xs:element name="initial" type="fixr:stateType">
Expand Down Expand Up @@ -932,9 +930,6 @@
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Term_t">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="timerOperation">
<xs:restriction base="xs:string">
<xs:enumeration value="START"/>
Expand Down Expand Up @@ -1028,17 +1023,13 @@
<xs:enumeration value="Tenor"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Usage_t">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Version_t">
<xs:restriction base="xs:string">
<xs:restriction base="xs:token">
<xs:annotation>
<xs:documentation>Enumerated FIX versions or major.minor or date as
yyyymmdd of any protocol
<xs:documentation>Uniquely identifies a revision. Many formats are possible, including but not limited to protocol version label, semantic versioning, date, or simple integer.
The format may be restricted by an external style.
</xs:documentation>
</xs:annotation>
<xs:pattern value="(FIX.2.7)|(FIX.3.0)|(FIX\.4\.[0-4])|((FIX.Latest|(FIX\.5\.0(SP\d{1,2})?))(_EP((9[8-9])|([1-9][0-9][0-9])))?)|(FIXT.1.1)|([0-9]+)\.([0-9]+)|(\d{8})"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
</xs:schema>
Loading

0 comments on commit 223ede2

Please sign in to comment.