Closed donmendelson closed 4 years ago
There are two schemas in Orchestra.
Current:
We propose to change the namespace year to 2020 for the Draft Standard. To avoid changing the module and file names for each subsequent version I propose to remove the year from the module and file names.
Proposal 1:
We could take it a step further by removing "Fix" from the file names since we claim that Orchestra is usable for other protocols. Add "orchestra" instead. The domain "fixprotocol.io" would remain in the namespace to show ownership.
Proposal 2:
Prefer 100% proposal 2, especially to show it is agnostic of the FIX standard.
The interface schema has a schema location in the spec, which the repository schema does not have.
<fixi:interfaces xmlns:dcterms="http://purl.org/dc/terms/" xmlns:fixi="http://fixprotocol.io/2020/orchestra/interfaces" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://fixprotocol.io/2016/fixinterfaces FixInterfaces2016.xsd">
The schemaLocation
attribute is used in XML files to tell the processor where to find related schemas. (One of the many complications of XML.) As in this case, several schemas may be used in an XML file. Location is not necessary for "XMLSchema-instance" and a few others that form the XML schema standard itself since they are essentially hard-coded in XML parsers.
The syntax for schemaLocation
is correct in the example. The space separates an XML namespace from the file name containing its schema. Technically, the second element is a URI that may point to a web resource. Without a URI scheme like "http:", it will be interpreted as a local file name.
For the Draft Standard, update XML schema namespaces to "http://fixprotocol.io/2020/orchestra".
See https://github.com/FIXTradingCommunity/fix-orchestra-spec/issues/13