param-link-to-field
Markus Demleitner
msdemlei at ari.uni-heidelberg.de
Wed Feb 19 00:49:55 PST 2014
Dear DAL,
On Tue, Feb 18, 2014 at 03:55:52PM +0100, François Bonnarel wrote:
> A simple "ref" on the SErvice parameter could work as long as it's
> distinguished by an ad hoc (DataLink specific utype) this way, eg :
> ><RESOURCE type="service">
> ><PARAM name="resourceIdentifier" datatype="char" arraysize="*"
> > value="ivo://example/datalink" />
> ><PARAM name="standardID" datatype="char" arraysize="*"
> > value="ivo://ivoa.net/std/DataLink#links" />
> ><PARAM name="accessURL" datatype="char" arraysize="*"
> > value="http://example.com/datalink/mylinks" />
> ><PARAM name="ID" utype="dl:serviceInputParam" ref="datalinkID" />
> ></RESOURCE>
Whoa! I had completely forgotten about PARAM/@ref. Sorry about
causing all the stir. This is, to me, the VOTably correct solution.
While thinking a bit further, I wondered what the utype here said.
Giving the LINK a content-role would have made sense because the
PARAM might have had other LINKs. In the PARAM, on the other hand,
the utype refers to the whole thing element (rather than just the
ref), and the PARAM with the name ID, already by the protocol
definition, must always be the parameter holding the identifier.
If we now have a second thing to mark up "this is the id parameter"
-- i.e., the utype --, we'd have to say "a service that has
dl:serviceInputParam on anything but a PARAM with the name ID is
invalid," and then anyone would ask: "Then why bother with the utype
at all?"
After this, I'd like to retract the part of my Dec 12 proposal
between "A data access service accepting identifiers" and "is of
course arbitrary." I'd like to replace it with:
A data access service accepting identifiers from the corresponding
column would declare its ID parameter in the inputParams GROUP with
a ref attribute referencing the FIELD's ID. Continuing the
previous example, it could look like this:
<PARAM name="ID" arraysize="*" datatype="char" ucd="meta.id;meta.main"
value="" ref="datalinkID">
<DESCRIPTION>The pubisher DID of the dataset of interest</DESCRIPTION>
</PARAM>
The string chosen for the FIELD's ID and consequently in the
PARAM's ref attributes is up to the generating service (i.e.,
clients must not assume the datalinkID). The description of the
PARAM should be adapted to the actual identifier used.
Again, apologies for having missed this elegant solution and
therefore having caused all the noise. And thanks to François for
pointing this out.
Cheers,
Markus
More information about the dal
mailing list