Skip to content

[repository schema] New element for general encoding information #247

@kleihan

Description

@kleihan

There are two requirements for capturing general encoding information at the root level of the schema. This information is either not specific to an element type (message, field,...) or it is specific, but represents a default value that can be overridden in encoding information attached to the element type. It is proposed to add an optional element encodingStandards to the top level element repository.

<xs:element name="repository">
  <xs:complexType>
    <xs:all>
      <xs:element name="metadata" type="dcterms:elementOrRefinementContainer"/>
      <xs:element ref="fixr:categories" minOccurs="0"/>
      <xs:element ref="fixr:sections" minOccurs="0"/>
      <xs:element ref="fixr:encodingStandards" minOccurs="0"/>
      <xs:element ref="fixr:datatypes"/>
      <xs:element ref="fixr:codeSets" minOccurs="0"/>
      <xs:element ref="fixr:fields"/>
      <xs:element ref="fixr:actors" minOccurs="0"/>
      <xs:element ref="fixr:components" minOccurs="0"/>
      <xs:element ref="fixr:groups" minOccurs="0"/>
      <xs:element ref="fixr:messages"/>
      <xs:element ref="fixr:concepts" minOccurs="0"/>
      <xs:element ref="fixr:scenarios" minOccurs="0"/>
      <xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
    </xs:all>
    ...

The element encodingStandards consists of a sequence of encodingStandard elements, each of which has information for a specific encoding.

<xs:element name="encodingStandards">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="fixr:encodingStandard" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute ref="xml:base"/>
  </xs:complexType>
  <xs:key name="encodingStandardKey">
    <xs:selector xpath="fixr:encodingStandard"/>
    <xs:field xpath="@name"/>
  </xs:key>
</xs:element>

The encodingStandard element should only have attributes defined in Orchestra for a name, a display name, and annotations. Everything else is not defined by Orchestra but by an encoding-specific and separate schema. The name attribute must be unique inside the enclosing element encodingStandards.

<xs:element name="encodingStandard">
  <xs:complexType>
    <xs:sequence>
<xs:element name="encoding" type="fixr:unnamedEncoding" minOccurs="0"/>
<xs:element name="annotation" type="fixr:annotation" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="name" type="fixr:Name_t" use="required"/>
    <xs:attribute name="displayName" type="xs:string"/>
  </xs:complexType>
</xs:element>

The element unnamedEncoding is defined by issue #250 .

Metadata

Metadata

Assignees

No one assigned

    Labels

    ENCODINGSupport for binary and other encoding protocols

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions