Re: Another take on versioning

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Norman Walsh writes:

> 1. We replace the existing p:import mechanism with a version attribute.
>    If the version requested > version of processor, then run in forwards
>    compatible mode.

We don't replace p:import, we just get rid of the requirement to
import pipeline libraries for new versions, right?

> 2. While loading/analyzing a pipeline

in forwards-compatible mode only, right?  Otherwise the following are
all static errors, right?

>    a. Discard unrecognized attributes on elements in the XProc namespace
>    b. Discard unrecognized elements in the XProc namespace
>    c. Discard unrecognized options on XProc steps
>    d. Discard unrecognized ports on XProc steps
>    e. Turn any reference to an unrecognized port into <p:empty/>
>    f. Mark any unrecognized step in the XProc namespace as invalid
>
> 3. Perform static analysis on the result. You get what you get. Maybe
>    you get errors, maybe you don't. Maybe there are more independent
>    pipeline fragments, maybe there aren't. Your gun, your bullet, your
>    foot.
>
> 4. In forwards-compatible mode, it is a dynamic error (err:XD0032) to  
>    attempt to evaluate a step that is marked “invalid”."

> The most troubling part of this approach is the way in which "invalid"
> has to percolate through the pipeline and be taken into consideration
> in different places:

Hmmm.  How does XSLT avoid this problem?  Some possible parallels:

 1) You define a stylesheet function which in turn depends unequivocally
    on an extension function.  function-available(your-fun) does _not_
    tell you that you have a problem (in backward-compatibility mode).

    You will unequivocally lose if you ever call that function.

 2) You define a named template which unequivocally uses an
    unimplemented extension instruction element.  There is no way to
    test whether a named template will fail, but you will
    unequivocally lose if you ever call that template.

ht
- -- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
                         Half-time member of W3C Team
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 651-1426, e-mail: ht@inf.ed.ac.uk
                       URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFK01UikjnJixAXWBoRAv8GAJ9FpWpALFKY/ZujL2eK7VHM6FL9ggCeLFsc
AaLXKatCNKv/v7uJCxFKtso=
=KAKz
-----END PGP SIGNATURE-----

Received on Monday, 12 October 2009 16:11:46 UTC