- From: Romain Deltour <rdeltour@gmail.com>
- Date: Thu, 20 Feb 2014 09:01:35 +0100
- To: Florent Georges <fgeorges@fgeorges.org>
- Cc: "Geert J." <geert.josten@dayon.nl>, Jostein Austvik Jacobsen <josteinaj@gmail.com>, XProc Dev <xproc-dev@w3.org>
> 4/ a unit test suite, for simple tests Have you considered using XProcSpec ? http://daisy-consortium.github.io/xprocspec/ Romain. On 20 févr. 2014, at 01:37, Florent Georges <fgeorges@fgeorges.org> wrote: > Hi, > > Thanks Geert! That is indeed exactly the kind of utilities that > makes sense for PipX. I guess we need: > > 1/ to integrate a step at a time, so we have a chance to review both > its interface and implementation carefully (but yours look great!) > > 2/ to document precisely each step in the sources using p:documentation > > 3/ a simple documentation generation for the website (using > documentation from 2/) > > 4/ a unit test suite, for simple tests > > I had a try at 4/ on my way back from Prague. It is very simple > (too much simple), but still already usable for comparing the primary > output to an expected document and to test errors are thrown when > expected. The code is on the repository > <https://github.com/fgeorges/pipx> and an example of the reports can > be found at: > > http://pipx.org/tmp/pipx-parameter-report.html > > We're making progress :-) What do you think would be an interesting > first candidate to look at? The step "throw-error" maybe? > > Regards, > > -- > Florent Georges > http://fgeorges.org/ > http://h2oconsulting.be/ > > > On 18 February 2014 22:30, Geert J. wrote: >> Nobody sofar? Let me throw in a few of my utils that are probably already >> familiar to at some of you: >> >> https://github.com/grtjn/xproc-ebook-conv/blob/master/src/nl/grtjn/xproc/u >> til/utils.xpl >> >> If you weed out the ones that rely on Calabash extensions, then remain: >> >> | - empty Short-cut for p:indentity returning >> p:empty. >> | - expand-dirs Recurse on directory-list input. >> | - insert-doc Uses xquery and xinclude to dynamically >> insert doc within root element. >> | - log Write xml for debugging purposes based on >> debug parameter. >> | - parameters Short-cut for p:parameters which passes >> through input, and with primary parameters input. >> | - throw-error Throw error based on string message >> (instead of input source). >> | - wrap Wraps string value in a custom element. >> | - xquery Accepts both unescaped query and external >> file ref as query source. >> | - xslt Accepts external file ref as >> stylesheet source. >> >> * Empty is pretty straight-forward. >> >> * Expand-dirs saves hassle of writing your own recursion around dir list, >> but perhaps interface needs review. >> >> * Insert-doc can be used together with viewport to replace doc references >> with (xml) contents of doc. >> >> * Log is used for debugging purposes mainly. It allows pushing >> intermediate results to some file. It currenly only does so if a 'debug' >> 'true' parameter is passed from command-line. If all intermediate steps >> declare a parameters input, those params end up there automatically. >> >> * Parameters is small workaround to wrap sequences of params into one, to >> allow easy evaluation of variables against param as follows: >> >> <ut:parameters name="params"/> >> <p:group> >> <p:variable name="debug" >> select="(//c:param[@name='debug']/@value, false())[1]"><p:pipe >> step="params" port="parameters"/></p:variable> >> >> I'd rather point to parameters of step containing this group, but variable >> doesn't like sequences for context. (I really hope V2 will make this work >> much better).. >> >> * throw-error, much alike Java throw new Exception("code", "message"), or >> XPath error("code", "message"). Just a bit of added convenience to wrap >> message into xml before passing it into p:error >> >> * wrap, wrap a string argument into an element. The templating could be an >> alternative for this, but this is very short. Not sure where I actually >> used this though.. >> >> And of course: >> >> * xquery and xslt, both inspired by a stackoverflow question saying that >> calling a sequence of xslt transformation can be a real hassle, with all >> the load doc statements, and such. Both add a convenience switch that >> determines whether you pass in a xqy/xslt file ref, or an inline >> query/stylesheet. Passing options through is a bit of a pain though. >> Better control on option/param types would certainly help, as well as >> allowing optional options to receive empty sequence.. >> >> >> Apart from these, I recall that quite a number of side-effect extensions, >> like file io ones, don't behave as p:identity. It makes using them much >> more convenient.. >> >> Cheers, >> Geert >> >>> -----Oorspronkelijk bericht----- >>> Van: fgeorges@gmail.com [mailto:fgeorges@gmail.com] Namens Florent >>> Georges >>> Verzonden: dinsdag 18 februari 2014 16:35 >>> Aan: Geert J. >>> CC: Jostein Austvik Jacobsen; XProc Dev >>> Onderwerp: Re: PipX, a portable library of XProc pipelines and steps >>> >>> Hi Geert, >>> >>> There is no process, really. Discussing it first before sending a >>> pull request sounds a sensible approach, so we are sure that we agree >>> before submitting code. Opening a ticket in order not to loose track >>> of anything sounds a good idea as well, yes. >>> >>> Let's just see where we are going... >>> >>> Regards, >>> >>> -- >>> Florent Georges >>> http://fgeorges.org/ >>> http://h2oconsulting.be/ >>> >>> >>> On 18 February 2014 16:09, Geert J. wrote: >>>> How to reach consensus on contributions? Or are we taking the xproc >>>> extensions approach, open a new ticket for each contribution, discuss >> it >>>> first, then consider putting code in? >>>> >>>> Cheers >>>> >>>>> -----Oorspronkelijk bericht----- >>>>> Van: fgeorges@gmail.com [mailto:fgeorges@gmail.com] Namens Florent >>>>> Georges >>>>> Verzonden: dinsdag 18 februari 2014 11:30 >>>>> Aan: Jostein Austvik Jacobsen >>>>> CC: XProc Dev >>>>> Onderwerp: Re: PipX, a portable library of XProc pipelines and steps >>>>> >>>>> On 18 February 2014 10:00, Jostein Austvik Jacobsen wrote: >>>>> >>>>> Hi Jostein, >>>>> >>>>>> Would you prefer if the steps are moved to some PipX namespacing >>>>>> regime or are any namespace fine? >>>>> >>>>> Unless there was a specific technical reason, I'd rather keep all >> in >>>>> the PipX namespace (maybe split at some point among several >>> namespace). >>>>> I think it makes things more clear. >>>>> >>>>>> I think the main obstacle to using PipX in other projects are how >>>>>> easily it can be integrated into other build processes. >>>>> >>>>> Among other important points, yes. Using the EXPath packaging >> might >>>>> help here. If you have any specific ideas or problems with you own >>>>> build system, I'd be interested to hear them. In the meantime I have >>>>> added a few open questions at http://pipx.org/progress.html, and >> would >>>>> be happy to expand it based on comments (or even resolve them :-p). >>>>> >>>>> Regards, >>>>> >>>>> -- >>>>> Florent Georges >>>>> http://fgeorges.org/ >>>>> http://h2oconsulting.be/ >
Received on Thursday, 20 February 2014 08:02:05 UTC