Re: Another take on versioning

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

I had a chat about this general issue with Richard Tobin over lunch,
and here's my (possibly imperfect) attempt to reconstruct his
suggested approach:

The problem that having up-to-date signatures for Vnext steps solves
for Vlast processors is, basically, what to do with steps it doesn't
really understand.  So remove that problem directly.  Don't rely on
p:choose or p:try/p:catch to manage compatible processing, which
amounts to doing it at the semantic level.  Use C interop best
practice as your guide, and do it at the syntactic (== #ifdef) level.

Specifically, add a _new_ element, call it p:switch, which looks
like this:

 <p:switch>
  <p:version case="....">
   sub-pipeline 
  </p:version>
  <p:version case="....">
   sub-pipeline
  </p:version>
 </p:switch>

[Names of elts and attrs, of course, subject to negotiation]

The only predicates allowed in p:version/@case are p:system-property
and p:step-available.

Processors must treat a p:switch as if it were replaced by the first
sub-pipeline whose case expression evaluates to true.  No examination
of the contents of the p:version branches is needed.  If the chosen
subpipeline uses steps which aren't known to the processor, you lose.
If any part of the chosen subpipeline's signature is incompatible with
the surrounding steps, you lose.

It's not clear to me that there's any need for a weak (advisory)
version attribute if we go this route, but a strong one ('must-have')
might still be useful.

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)

iD8DBQFK1HXHkjnJixAXWBoRAvL8AKCBhDObPJMkyiXjVlMJoG23UpauuQCfb2vH
4sk80vhkDigdsSd7JrdElEI=
=b/fH
-----END PGP SIGNATURE-----

Received on Tuesday, 13 October 2009 12:43:18 UTC