- From: Herriot, Robert <Robert.Herriot@pahv.xerox.com>
- Date: Thu, 19 Apr 2001 20:58:08 -0700
- To: duerst@w3.org
- Cc: discuss@apps.ietf.org
Martin, Could you give more detail about how you envision using external entities in the context of the example I include below? One of the problem's requirements is that a producer must be able to start sending the data before it has produced all of the data. So a solution could not require that all entities be known and defined before transmission begins. A typical example is a document that consists of XHTML plus many images where the XHTML is split into many chunks so that the images can be interleaved among the XHTML chunks. To provide something for our conversation, I have taken the example from section 5.2 of the multipart/interleaved draft and converted it to Multipart/related with "<fragment .../>" elements which allow each XML fragment to reference the next one. The question is whether there is an existing XML mechanism that behaves like "fragment" element. Here is the example: --------------------------- Content-Type: multipart/related; boundary="boundary-example"; type="text/xhtml+xml" --boundary-example Content-Id: "49568.44343xxx@foo.com" Content-Type: text/xhtml+xml;charset="us-ascii" Content-Disposition: inline <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/TR/xhtml1"> <body> <p>some text <img src="cid:49568.45876xxx@foo.com"/> <img src="cid:49568.46000xxx@foo.com"/> some more text after the images </p> <fragment ref="cid:49568.47456xxx@foo.com"/> </body> </html> --boundary-example Content-ID: <49568.45876xxx @foo.com> Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Disposition: attachment R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNvcHlyaWdodCAoQykgMTk5 NSBJRVRGLiBVbmF1dGhvcml6ZWQgZHVwbGljYXRpb24gcHJvaGliaXRlZC4A etc... --boundary-example Content-ID: <49568.46000xxx@foo.com> Content-Type: image/gif Content-Transfer-Encoding: binary Content-Disposition: attachment <binary data> --boundary-example Content-Id: "49568.47456xxx@foo.com" Content-Type: text/xhtml+xml;charset="us-ascii" <p>some more text without images </p> <fragment ref="cid:49568.49333xxx@foo.com"/> --boundary-example Content-ID: <49568.47333xxx@foo.com> Content-Type: image/gif Content-Transfer-Encoding: binary Content-Disposition: attachment <binary data> --boundary-example Content-Id: "49568.49333xxx@foo.com" Content-Type: text/xhtml+xml;charset="us-ascii" <p>some more text <img src="cid:49568.47333xxx@foo.com"/> </p> <p>some final text </p> --boundary-example-- > -----Original Message----- > From: Martin Duerst [mailto:duerst@w3.org] > Sent: Monday, April 16, 2001 8:32 PM > To: Herriot, Robert; discuss@apps.ietf.org > Subject: Re: Two new drafts: Multipart/Interleaved and > Application/BatchBeep > > > One possible solution to the problem described would be to take > the XML document, cut out suitable pieces and put them into > separate external entities, change the remainder of the XML document > appropriately, and then use plain old Multipart/Related, > with the core XML document first, and then the separated-out > entities and the gifs interleaved as appropriate. For external > entities, see http://www.w3.org/TR/REC-xml#sec-external-ent. > > Regards, Martin. > > > At 12:36 01/04/16 -0700, Herriot, Robert wrote: > >I recently published two drafts > > > > > >http://www.ietf.org/internet-drafts/draft-herriot-multipart-i nterleaved-00.t > >xt > > > >http://www.ietf.org/internet-drafts/draft-herriot-application > -batchbeep-00.t > >xt > > > >(Note that the first draft is not available via the Internet > Drafts Search > >engine, but is accessible via the URL supplied above). > >The problem that motivates these two proposals is the case of an XML > >document with attachments, such as gif images. Normally, a > Multipart/Related > >representation would suffice. The first body part would be > the XML and the > >remaining body parts would be gif images, each referenced > from the XML. But > >when a memory constrained printer encounters a reference to > a gif image body > >part in the XML, it might not have the space to hold the > remaining XML while > >it scans ahead for the gif image. This problem suggests the > need to be able > >to interleave chunks of XML and gif images. Each of the two > drafts provide a > >solution for interleaving chunks. > >Both drafts define new MIME types. The first draft defines > >Multipart/Interleaved and Application/Chunk content types, > which extend > >Multipart/Related for use with memory constrained devices. > The second draft > >defines Application/BatchBeep content type, which defines a > MIME type whose > >contents is the client-to-server portion of a BEEP session. > Although the > >two drafts are based on two very different ideas, the > examples show that the > >two solutions are nearly byte-for-byte identical. The > primary difference is > >that the boundary string in the Multipart/Interleaved > solution is a trailer > >and/or header in the Application/BatchBeep solution. > >I would appreciate any comments on these drafts. > >Bob Herriot >
Received on Friday, 20 April 2001 09:37:35 UTC