FIXTradingCommunity / fix-orchestra

Machine readable rules of engagement
Apache License 2.0
71 stars 34 forks source link

Update namespace version for Draft Standard #82

Closed donmendelson closed 4 years ago

donmendelson commented 4 years ago

For the Draft Standard, update XML schema namespaces to "http://fixprotocol.io/2020/orchestra".

See https://github.com/FIXTradingCommunity/fix-orchestra-spec/issues/13

donmendelson commented 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:

kleihan commented 4 years ago

Prefer 100% proposal 2, especially to show it is agnostic of the FIX standard.

kleihan commented 4 years ago

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">

  1. Should both schemas have "xsi:schemaLocation" or is this an error?
  2. If they should then "http://fixprotocol.io/2016/fixinterfaces FixInterfaces2016.xsd" looks like an error with the space character between the link and the filename. Which syntax is correct?
donmendelson commented 4 years ago

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.