[RIF] ACTION-944: Summarize issue of imports argument and propose a solution

ACTION-944 is about the XML syntax of the <Import> type tag
and possible related classes that RIF dialects may require.
The <Import> class contains a <location> role tag and an
optional <profile> role tag.

Within those <location> and <profile> role tags, we initially
had <Const> type tags:

<Document>
  <directive>
    <Import>
       <location>
         <Const type="&rif;iri">IRI</Const>
       </location>
       <profile>
         <Const type="&rif;iri">IRI</Const>
       </profile>?
    </Import>
  </directive>*
  <payload>Group</payload>?
</Document>

We then noticed that the IRI content here is not a rif:iri
but an xs:anyURI. So this calls for a class different from
<Const>, which could be called <Link>, as follows:

<Document>
  <directive>
    <Import>
       <location>
         <Link type="&xs;anyURI">IRI</Link>
       </location>
       <profile>
         <Link type="&xs;anyURI">IRI</Link>
       </profile>?
    </Import>
  </directive>*
  <payload>Group</payload>?
</Document>

Since <location> and <profile> are role tags, they can
contain only type tags such as <Link>, not directly an
xs:anyURI.

This it entirely prallel to RIF's use of <Const> etc.
It's easy to introduce in BLD and to fix in PRD.

BTW, in PRD's section 8.5.2, Document,

    <Document>
       <directive> Import </Import>*
       <payload> Group </payload>?
    </Document>

should be

    <Document>
       <directive> Import </directive>*
       <payload> Group </payload>?
    </Document>

Harold

Received on Tuesday, 24 November 2009 14:37:01 UTC