[Trac] [OpenMath] #118: Clarify CDDefinition/@xml:id (should have same content as Name)

David Carlisle davidc at nag.co.uk
Wed Apr 7 23:25:31 CEST 2010


On 07/04/2010 20:32, OpenMath wrote:
[replying via email as opposed to entering in trac as it won't let me 
in, Ie hangs and firefox says "The page isn't redirecting properly"]

>
>> The OpenMath 3 Relax NG schema permits `CDDefinition/@xml:id`.  This may
>> be a leftover of the integration of MathML 3 stuff, but it is a good idea
>> to keep this, for reasons given below.

I think this is a leftover that should be reverted. Name is already of 
type ID in the schema and an element shouldn't have two ID possibilities.

  The value of
>> `CDDefinition/@xml:id` must be the same as of `CDDefinition/Name`.  As we
>> can't express this in Relax NG, it should be said in the spec.


There's no need to introduce the possibility of getting this wrong and 
then having to specify in text that users should not do that.
>>
>> = Rationale =
>>
>>   * When there is `<element xml:id="#foo"/>` in an XML document with URL
>> ''U'', the element, then called "fragment", can be addressed as
>> ''U#foo''.

as Name is already conceptually the ID and generates ids in the default 
representation at the canonical URI, so cdbase/cd#mname uris work
for techical reasons in the derivation from relax Ng (where IDness isn't 
directly supported) it is declared as NCName rather than ID but the same 
issues would apply to xml:id if that were to be specified in the Relax 
NG grammar.

>>   * OpenMath symbols have the canonical URI `cdbase / cd # name`

as above, this has already been the case
>>   * The linked data principles for publishing semantic information on the
>> web (brought into OpenMath via the scenario and roadmap detailed in #116)
>> require things that have an URI to be accessible to HTTP clients at the
>> same URL = URI.
>>   * Therefore, the definition of an OpenMath symbol has to be retrievable
>> from `cdbase / cd # name`.
agreed but such URI work (or should work) without any change from the 
OpenMath2 schema.
>>   * Therefore, the CDs must contain `<CDDefinition xml:id="name"/>`, where
>> "name" is the value of the `Name` element of the same `CDDefinition`
>> element, i.e. the name of the symbol.

as above this does not follow from the requirements given,
>>
>> = Immediate consequences =
>>
>> All CDs available from openmath.org should be equipped with such xml:ids.
>> As the currently published CDs are in OpenMath 2, this deviation from the
>> OpenMath 2 spec requires separate discussion.

We should be _very_ wary of making any changes to the OpenMath Cds at 
this time just as MathML3 is in the final stages of being standardised 
and closely aligned with these Cds.
>>
>> = Possible further consequences =
>>
>> All of the openmath.org CDs will eventually have such xml:ids.  3rd party
>> CD authors are free to use them or not, but there are benefits in doing
>> so (see #116).  Therefore, the `CDDefinition/Name` element would become
>> redundant.  We could even consider deprecating it, i.e. only keeping it
>> for backwards compatibility.

I think this is backwards. Name is already there, so adding xml:id is 
redundant.


David


More information about the Trac mailing list