Datalink feedback IV
Mark Taylor
m.b.taylor at bristol.ac.uk
Mon Mar 31 02:51:13 PDT 2014
Markus,
I see, there were more dragons here than I appreciated.
Your suggested text is fine by me.
Mark
On Mon, 31 Mar 2014, Markus Demleitner wrote:
> Hi Mark,
>
> On Fri, Mar 28, 2014 at 12:29:51PM +0000, Mark Taylor wrote:
> > On Fri, 28 Mar 2014, Markus Demleitner wrote:
> > > Considering this, I propose to only keep the first paragraph of 3.3
> > > and then add
> > >
> > > The content-type header of the response MUST be set to
> > > application/x-votable+xml;content=datalink unless the incoming
> > > request had a DALI RESPONSEFORMAT parameter, in which case
> > > content-type follows DALI's rules.
> >
> > Minor quibble: that would outlaw response content-types of for instance
> >
> > application/x-votable+xml;serialization=BINARY;content=datalink
>
> That we indeed *want* to outlaw, because (as a service to, e.g.,
> simple javascript clients) datalink responses must be in TABLEDATA.
>
> > application/x-votable+xml;content=datalink;charset=iso-8859-1
>
> That's a valid point, yes, although I'd certainly discourage
> the use of charsets in any XML MIME type, as XML defines its encoding
> inline.
>
> > or even
> >
> > application/x-votable+xml; content=datalink
> > application/x-votable+xml;content="datalink"
>
> Another valid point. All this is nasty because a service
> implementation may not even be able to fully control the
> *serialization* of the content-type header to the level of whitespace
> or possibly the sequence of parameters; think, e.g., HTTP layers
> doing content negotiation.
>
> But, while I'm all for not constraining things such that code
> compliant with upstream standards may break us, this:
>
> > This would probably not cause problems in practice, but it would be
> > more robust to say something like:
> >
> > ... MUST give a type/subtype of "application/x-votable+xml" with
> > the "content" parameter set to "datalink"
> > (e.g. "application/x-votable+xml;content=datalink") ...
>
> is also not quite ideal. The reason is that we don't have a MIME
> parser in ADQL. That is relevant because we're using the MIME type
> as an identifier for "datalink response" in Obscore. This in turn
> means we cannot really relax 3.1 unless we officially disclaim the
> use case
>
> Select all rows (not) returning datalink documents...
>
> from obscore (or add a mime parser to ADQL such that we could say
>
> WHERE ivo_mime_type(access_format)='application/x-votable+xml'
> AND ivo_mime_get_parameter('content, access_format)='datalink'
>
> ). Actually allowing more parameters and free whitespace into this
> identifier will also make identification of recursive datalink
> services harder, though there we can specify requirements on clients
> and could just say: parse the mime or perish.
>
>
> There are various highbrow ways to clean up this mess (involving not
> using complicated things like MIME types as identifiers,
> presumably), but realistically I'd say we keep the strict, opaque
> string (that, we could mention, just happens to look like a MIME
> type) in the tables and then say in the second paragraph of 3.3:
>
> Unless the incoming request had a DALI RESPONSEFORMAT parameter,
> the content-type header of the response MUST be
> application/x-votable+xml" with the "content" parameter set to
> "datalink", with the canonical form given in 3.1 strongly
> recommended. Contrary to all other uses of the string given in
> 3.1, clients wishing to evaluate the content type of the response
> must, however, perform a full parse of header value. This is
> because this specification cannot and does not outlaw content types
> like
> "application/x-votable+xml; content=datalink;charset=iso-8859-1".
>
> If the incoming request had a DALI RESPONSEFORMAT parameter,
> content-type follows DALI's rules.
>
> Incidentally, I'd like to get rid of RESPONSEFORMAT, which only
> further complicates all this.
>
> Cheers,
>
> Markus
>
>
--
Mark Taylor Astronomical Programmer Physics, Bristol University, UK
m.b.taylor at bris.ac.uk +44-117-9288776 http://www.star.bris.ac.uk/~mbt/
More information about the dal
mailing list