Re: 2.13, versioning

"Dave Pawson" <dave.pawson@gmail.com> writes:

> "A pipeline author may identify the version of XProc against which a
> particular pipeline was authored
>  by explicitly importing the library that identifies the steps defined
> by that version of XProc.
> For the version defined by this specification, the library is
> "http://www.w3.org/2008/xproc-1.0.xpl"."
>
> What form might this 'library' take please?

A p:library. You can go ahead and get http://www.w3.org/2008/xproc-1.0.xpl
and take a look.

> 'That identifies the steps'?
>   I'm guessing at some abstract level, I can restrict my pipeline
> only to those steps in the library (e.g. to only use version 1.0 steps)
>
> How might this be used practically please?

Imagine that there's an XProc 1.1 in the future wherein we've defined
a new atomic step: p:chestnuts (this being nearly Christmas and a fire
being nearby).

You want to write a pipeline that uses p:chestnuts conditionally, that
is, if the pipeline is run through a 1.0 processor, you'll use a
p:choose to do something else, but if it's run through a 1.1
processor, you want to use the p:chestnuts step.

At the top of that pipeline you can say:

  <p:import href="http://www.w3.org/2008/xproc-1.1.xpl"/>

Now a 1.0 processor that sees that will go off and get the
declarations from that library and will now know that p:chestnuts
exists, even though it won't have a clue how to execute it. That means
it won't be a static error when p:chestnuts appears in the pipeline.

A 1.1 processor that sees that will "know" that it knows those steps
and doesn't have to do anything at all.

Clear(er)?

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | From a programmer's point of view, the
http://nwalsh.com/            | user is a peripheral that types when
                              | you issue a read request.--P. Williams

Received on Sunday, 21 December 2008 20:16:19 UTC