- From: Imsieke, Gerrit, le-tex <gerrit.imsieke@le-tex.de>
- Date: Sat, 23 Sep 2017 08:06:56 +0200
- To: xproc-dev@w3.org
The weird errors are probably the processor’s fault. A processor should be able to tell you (and should in fact tell you) which step in which pipeline expected a sequence / a single document and which input that it received or emitted violated this restriction. ----- If we think that “zero to many documents arriving on a port” is the new normal: What about keeping the sequence attribute on p:input and p:output but make it true by default? Gerrit On 22.09.2017 15:21, Ari Nordström wrote: > Hi, > > Getting rid of @sequence seems like a good idea to me. I know I've had > it set to false on numerous occasions, only to get weird errors and an > 'oh' moment when realising why. Having everything be a sequence makes > sense to me. > > Having said that, I like #3 but need to think about it more. > > Thanks, > > /Ari > > > On 22 September 2017 at 15:05, Vojtech Toman <vtoman@opentext.com > <mailto:vtoman@opentext.com>> wrote: > > I think removing sequence=true/false is a good idea. In the ideal > world, everything is a sequence :) > > My personal favorite is option 2. (To be honest, I don't quite > understand option 1 - is this some sort of backward compatibility > mode for old XProc 1.0 pipelines?) > > Option 3 (implicit looping) looks fancy but I think it would work > only with simple steps that have only one input port. For steps that > have multiple non-sequence input ports, it is far from clear to me > how it could work. Would it loop? Would it loop over all > combinations of the inputs (implications on streaming)? Etc. Also, > there would probably have to be some mechanism to tell the processor > whether it should loop over a port or not (because sometimes you do > want to pass a sequence of items to the step). Consider, for > example, the p:xquery step: it takes a sequence of documents on the > "source" port (the default collection) and the XQuery on the "query" > port. You definitely don't want to loop over "source" but you may or > may not want to looping over "query". > > Regards, > Vojtech > > -----Original Message----- > From: Achim Berndzen [mailto:achim.berndzen@xml-project.com > <mailto:achim.berndzen@xml-project.com>] > Sent: Friday, September 22, 2017 2:41 PM > To: XProc Dev > Subject: [EXTERNAL] - Getting rid of @sequence="true/false"? > > Hi all, > > A while ago, @ndw and I had a mail conversation about sequence ports > in XProc 3.0. In order to make it easier to learn XProc, we > discussed about elimination non-sequence ports and @sequence, so > that in XProc 3.0 all steps accept sequences on all ports. > > Following this line of thought, some options are possible: > > 1. Nothing changes: All steps accepting sequences on a port in XProc > 1.0 will do so in XProc 3.0. Steps that do not accept a sequence > will only raise an error, when an empty sequence is delivered. If > not, they we process the first document in the sequence as described > and discard all others. > > 2. We simply move task of raising an error to the step and its > semantic: Instead of having one global error (XD0006) we could have > more informative errors like (XS????: It is a dynamic error if not > exactly one document appears on port "stylesheet" > of p:xslt). > > 3. Implicit looping: One possible consequence I personally like very > much is the idea, that some steps (like p:add-attribute, p:delete, > p:insert etc.) do an implicit looping for the sequence. This might > be more natural the XProc newbies and may appear attractive to > current users, because in some cases you will not need "p:for-each" > any more. This would be inline with p:viewport in XProc 3.0 with > does implicit looping. For other steps, where implicit looping does > not make sense (e.g. p:compare or p:http-request) we could choose > option (1) or (2). > > 4. Bad idea, keep it like it is: You might say that the distinction > between a document and a sequence of documents is very easy to grasp > and that it is perfectly established in XSLT, XQuery and other > X-technologies. Also you might argue, that in XProc 3.0 we will have > mixed sequences with XML and non-XML documents and we would need a > special treat when p:add-attribute is applied to a sequence of xml > documents, JPEGs and texts. > > What do you think? > > Greetings from Germany, > Achim > ------------------------------------------------ > Achim Berndzen > achim.berndzen@xml-project.com <mailto:achim.berndzen@xml-project.com> > > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.xml-2Dproject.com&d=DwIFAg&c=ZgVRmm3mf2P1-XDAyDsu4A&r=aJZr6mdNzy-qsGbVYWF8KIxwje5rrbk2V7QfMr35EhU&m=cPHeErshVOYtQvSxAMDAic7JkUGz2HP66H7HpBWsndQ&s=mHiMaFmT9YqrWTQHwBnXpOa4VbbxxpA4Y2cOjvacjmY&e= > <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.xml-2Dproject.com&d=DwIFAg&c=ZgVRmm3mf2P1-XDAyDsu4A&r=aJZr6mdNzy-qsGbVYWF8KIxwje5rrbk2V7QfMr35EhU&m=cPHeErshVOYtQvSxAMDAic7JkUGz2HP66H7HpBWsndQ&s=mHiMaFmT9YqrWTQHwBnXpOa4VbbxxpA4Y2cOjvacjmY&e=> > > > > > > > > -- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930 Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler ------------------------------------------------------------------------------ Meet us at Frankfurt Book Fair Hall 4.2, L 72. More at https://www.le-tex.de/en/buchmesse.html
Received on Saturday, 23 September 2017 06:07:29 UTC