MIVOT: fully qualified attribute names

Laurent Michel laurent.michel at astro.unistra.fr
Thu Feb 23 15:24:45 CET 2023


Paul

> On 23 Feb 2023, at 14:47, Harrison Paul <harripa at gmail.com> wrote:
> 
> 
> 
>> On 23 Feb 2023, at 12:49, Laurent Michel <laurent.michel at astro.unistra.fr> wrote:
>> 
>>>> However the VOMDL spec tells that a name must be unique within its scope.
>>>> - nothing about the way to construct VODML-ID (a good reason not to parse them)
>>>> - nothing about the consistency between names and VOMDL-IDs
>>> 
>>> The spec might not say anything explicit, but in fact the VODML-ID does have structure in that it is built from the names of an element and its parents.
>> 
>> I understand, but there is no reason but he common sense, to give a particular structure to the VOMDL-IDs. 
>> We you generate VODML from XMI (modelio), you first get random IDs for the VOMDL-ID and in a second steps, there are built from [model-name, attr-name , ID of the host class], but the XSLT doing this is not part of the standard. If you edit your VOMDL by hand, like Pat did, you may introduce a distortion to this rule without breaking the schema compliance.
>> 
>> This is why I suggest to tell the users:
>> - do not rely on names
>> - do no parse VODML-IDs
> 
> I agree that technically the VODML-IDs are just XMLIDs andlong as they are unique within a single VODML instance that they can have any value/structure. However, this is precisely the problem, as simply regarded like this, then two instances of a VO-DML document describing a particular model could both be valid, but with entirely different sets of VODML-IDs, and in this situation another standard like MIVOT cannot use those VODML-IDs without also saying precisely which instance document is being used to describe the model. Unless there is some guarantee about the form of the VODML-ID  then there could also be undesirable behaviour that new versions of a model did not retain the exact same VODML-ID for a particular attribute.
> 

I do not agree with this. Once the VODML-IDs have been set, no matter how you do it, they are part of the standard - of the VOMDL description of the model -. None is allowed to change them later on.

> I think that the XSLT in the VO-DML tooling is effectively part of the standard, and the actual document standard should be updated to clarify that the VODML-ID does have more structure than 
> [a-zA-Z][a-zA-Z0-9_\.]*

Sorry, I do not agree again. XSLT haven’t been reviewed AFAR. The only thing we can say is that the VODML files issued by those XSLT are valid VODML files.
I think that adding a requirement about the way VODML-ID are built is out of the scope of an errata since this will invalidate former model files that do not follow this new rule.

> 
>> 
>>> In this sense the name is a redundant piece of information, but it is quite difficult to say in words how to create the VODML-IDs without making reference to the name element at each level in the tree.
>> Finally we do not have to say this as long as VODML-IDs are meant not  to be parsable. 
>> Let’s  XSLT working as now and the users dealing with VODML-IDs as atomic strings.
>> 
> 
> I think that if we say that the VODML-IDs have structure, then we can allow Markus’s desire for non-qualified attribute names as it is possible to work them out with simple string manipulations.
This discussion strengthens my conviction to require MIVOT working with the VODML-IDs. They are identifiers, better controlled and managed,  thus safer to use.
Anyway, this MIVOT topic is closed after Markus has proposed a little spec update.

Laurent


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ivoa.net/pipermail/dm/attachments/20230223/8b66100d/attachment.htm>


More information about the dm mailing list