- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Wed, 29 Mar 2017 14:07:33 +0200
- To: "Erik Bruchez" <ebruchez@orbeon.com>
- Cc: XForms <public-xformsusers@w3.org>
- Message-ID: <op.yxu2mvmtsmjzpq@steven-xps>
On reflection, I like the <part/> suggestion more and more. <part/> with parameters ref/bind serialization mediatype encoding omit-xml-declaration standalone cdata-section-elements includenamespaceprefixes and optional <header/> children, so that <part/> becomes just a mini <submission/> as it indeed is. The linked mail suggests disposition name and filename attributes as well. Steven On Wed, 21 Dec 2016 06:05:27 +0100, Erik Bruchez <ebruchez@orbeon.com> wrote: > All, > > Following-up on this, I found this message from 2013 which I write in > >response to an action item: > > https://lists.w3.org/Archives/Public/public-forms/2013May/0014.html > > I don't know if we want to do any of this at this point, but I thought I > >would point out to that email as it provides a solution to help with > creating >multipart submissions. > > -Erik > > On Wed, Dec 7, 2016 at 10:22 AM, Erik Bruchez <ebruchez@orbeon.com> > wrote: >> Ok, so the first thing is that our implementation doesn't yet support >> >>`multipart/related`. >> >> However the same issue arises with `multipart/form-data`, as the spec >> says: >> >> "Element nodes of any datatype populated by upload […]" >> >> We have some notes in our code which say: >> >>> See this WG action item (which was decided but not carried out): >>> "Clarify >>that upload activation produces >>> content and possibly filename and mediatype info as metadata. If >>> >>available, filename and mediatype are copied >>> to instance data if upload filename and mediatype elements are >>> specified. >>At serialization, filename and >>> mediatype from instance data are used if upload filename and mediatype >>> >>are specified; otherwise, filename and >>> mediatype are drawn from upload metadata, if they were available at >>> time >>of upload activation" >>> >>> See: >>> http://lists.w3.org/Archives/Public/public-forms/2009May/0052.html >>> http://lists.w3.org/Archives/Public/public-forms/2009Apr/>>att-0010/2009-04-22.html#ACTION2 >>> >>> See also this clarification: >>> http://lists.w3.org/Archives/Public/public-forms/2009May/0053.html >>> http://lists.w3.org/Archives/Public/public-forms/2009Apr/>>att-0003/2009-04-01.html#ACTION1 >> >> I think that John argued at the time that it wasn't necessary and/or >> was >>too late to clarify the spec. But I have always felt that the >> spec was not >>clear enough for implementers in this respect, which is >> confirmed by >>Steven's raising of this issue. >> >> In our implementation, we also have these notes: >> >>> The bottom line is that if we can find the xf:upload control bound to >>> a >>node to submit, we try to get >>> metadata from that control. If that fails (which can be because the >>> >>control is non-relevant, bound to another >>> control, or never had nested xf:filename/xf:mediatype elements), we >>> try >>URL metadata. URL metadata is only >>> present on nodes written by xf:upload as temporary file: URLs. It is >>> not >>present if the data is stored as >>> xs:base64Binary. In any case, metadata can be absent. >>> >>> If an xf:upload control saved data to a node as xs:anyURI, has >>> >>xf:filename/xf:mediatype elements, is still >>> relevant and bound to the original node (as well as its children >>> >>elements), and if the nodes pointed to by >>> the children elements have not been modified (e.g. by xf:setvalue), >>> then >>retrieving the metadata via >>> xf:upload should be equivalent to retrieving it via the URL metadata. >> >> So we use two ways to implement the "magic": >> >> - we store metadata (mediatype, filename, size) as URL parameters when >> >>using xs:anyURI >> - we look for `xf:upload` controls bound to instance data at submit >> time >>(and they hold metadata as well) >> >> There might be other ways to achieve this (such as associating metadata >> to >>instance data nodes). The bottom line is that is is out-of-band >> information >>and the spec would benefit by being clearer on this point. >> >>>> -Erik >> >> On Thu, Dec 1, 2016 at 9:53 AM, Steven Pemberton >> <steven.pemberton@cwi.nl> >>wrote: >>> https://www.w3.org/community/xformsusers/wiki/>>>XForms_2.0#Serialization_as_multipart.2Frelated >>> >>> "Binary content from xs:anyURI instance nodes populated by the upload >>> >>>(see The upload Element) control is serialized in separate parts of >>> the >>>[RFC 2387] multipart/related message." >>> >>> Upload says: >>> https://www.w3.org/community/xformsusers/wiki/>>>XForms_2.0#The_upload_Element >>> "When bound to an instance data node of type xs:anyURI (or a type >>> derived >>>by restriction thereof), a URI is placed in the content of >>> the node." >>> >>> So how is the serializer meant to know if an anyURI is one from upload >>> or >>>not? >>> >>> Steven
Received on Wednesday, 29 March 2017 12:08:15 UTC