W3C home > Mailing lists > Public > public-xml-processing-model-wg@w3.org > October 2007

Re: Determining whether a pipeline has a (defaulted) output

From: Henry S. Thompson <ht@inf.ed.ac.uk>
Date: Thu, 25 Oct 2007 15:03:02 +0100
To: Richard Tobin <richard@inf.ed.ac.uk>
Cc: public-xml-processing-model-wg@w3.org
Message-ID: <f5bfxzz8f6x.fsf@hildegard.inf.ed.ac.uk>

Hash: SHA1

Further to action A-86-04, here's a draft proposal on how to address
the problem raised by this thread, namely: if the last step of a
pipeline is itself a pipe, how do we tell, as required by the
output-defaulting rule, if that last step has output, w/o requiring
implementations to solve the halting problem?

Add the following after the definition of *last step* in section 2.1:

- ----------

  For the purposes of output defaulting, the *last step* is considered
  to have a primary output port if and only if

   1) It is an atomic step whose step type definition specifies a
      primary output port;
   2) It is a named pipeline whose definition includes an explicit
      primary output port;
   3) It is a p:choose one of whose branches has a *last step* with a
      primary output port;
   4) It is a p:try whose p:group has a *last step* with a primary
      output port;
   5) It is some other compound step whose *last step* has a primary
      output port;

  NOTE: It follows that authors of pipeline libraries SHOULD include
  explicit primary output port declarations where appropriate.

- -----------

This achieves the stated goal, namely that the output defaulting rule
can be applied w/o arbitrary recursion and analysis through named

- -- 
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
            Fax: (44) 131 650-4587, 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]
Version: GnuPG v1.2.6 (GNU/Linux)

Received on Thursday, 25 October 2007 14:03:27 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:32:44 UTC