Minutes for XProc WG telcon of 12 Jan 2006

See also: http://www.w3.org/XML/XProc/2006/01/12-minutes.html

                                   - DRAFT -

                            XML Processing Model WG

12 Jan 2006

   Agenda[2]

   See also: IRC log[3]

Attendees

   Present
           Henry, Richard, Rui, Erik, Alessandro, Norm, Jeni, Paul, Andrew,
           Alex

   Regrets
           Robin, Michael_(partial)

   Chair
           Norm

   Scribe
           Norman Walsh

Contents

     * Topics
         1. Administrivia
         2. Technical: email followup
         3. Requirements
     * Summary of Action Items

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

   **

   **

   <scribe> Scribe: Norman Walsh

   <scribe> ScribeNick: Norm

   Date: 12 Jan 2006

   <richard> http://www.w3.org/XML/XProc/2006/01/12-agenda.html[4]

  Administrivia

   Accept this agenda?

   Accepted.

   Accept last week's minutes:
   http://www.w3.org/XML/XProc/2006/01/05-minutes.html[5]

   Accepted.

   Norm reminds the group about the plenary and the hotel arrangements

  Technical: email followup

   Kinds of iteration?

   Alex: we're getting more technical, are we start doing that now are we
   going to lose the requirements/use-cases thread?
   ... The question of what passes between processes is an important one at
   this stage.
   ... Core WG said "infosets" but now we need to support XDM and other
   augmented forms

   Norm: the ability to pass around infosets and augmented infosets are both
   requirements in my mind

   Jeni: I think there's a community that just wants to pass serialized XML
   around
   ... We ought to have a should or maybe requirement around those ideas

   Richard: How is that different from an infoset?

   Jeni: I think some folks care about whether things are represented by an
   entity or a Unicode character

   Richard: So you're assuming the components aren't normal XML processors?

   Jeni: The kind of pipeline I have in mind is one where someone takes a non
   well-formed XML document, smartens it up into XML, and then can report
   that as parsed XML to the next stage. Then later on, create some XML that
   is just a stream of characters (e.g., change particular characters into
   images)

   Richard: So you'd be able to pass things around that aren't really XML?

   Jeni: From my use cases, I think processes should be able to consume and
   produce things which aren't XML (especially HTML)
   ... Taking non-XML and turning it into XML is important.

   Alex: Maybe we'll have to look at serialization more closely.
   ... Maybe some of the other things should be doable on the end of a
   pipeline.

   Norm: I imagined non-XML only at the ends but there's nothing that would
   prevent someone from glueing several together I suppose.

   Erik: Talking about non-XML stuff is a little scary because it's more like
   Unix pipes and is a little more complex. We need to be careful.
   ... Certainly it's important to some people to have some things, like
   entities, preserved, but if none of the existing data models do that, we
   should investigage why.
   ... In XPL, we only deal with XML infosets. If a component is trying to
   read data which is not XML, then either the component accesses the
   information externally (not through a connection in the pipeline) or you
   can encapsulate the information in some XML format (e.g., base64 encoded)

   Alex: We need to be very careful not to try to take on more than we can
   handle

   Norm: Jeni only said "could" or "should". Let's see if we can get a better
   handle on the issues when we have more information (later in the process)

   Richard: If we're dealing with both plain infosets and augmented infosets,
   then we could have an "unintepreted text" mode as well. Though we wouldn't
   have any standard components that work on them.

   Rui: We can look at the way cocoon handles this issue

   Erik: Cocoon handles this by using generators or serializers following a
   model similar to what I said about XPL above.

  Requirements

   Alex: I got as far as getting myself setup with XML Spec. I haven't done
   any new content, but I have a proposal about how it should be laid out.

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006Jan/0041.html[6]

   Alex: I'd like feedback on that layout before I proceed.
   ... Do we need a terminology section?
   ... There's a lot of terminology out there, we should define what we mean
   by things so that we don't confuse readers.
   ... The previous document had a section on "design principles" but those
   sound like "requirements" to me.
   ... I think we could introduce the idea that "design principles" are just
   very broad requirements.

   MSM: Design principles are not simply broad requirements in the following
   way: there have been some people active in W3C WGs who have said a
   "requirement" is (a) a crisp, verifiable statement and (b) is a do-or-die
   thing; if you don't meet the requirements you don't ship.
   ... For people who take that view, keep it "short and simple" isn't crisp
   enough. Short you could manage, but "crisp" would be untestable.
   ... But equally, it's not exactly a do-or-die situation. If you set a
   target of 20 pages and the normative prose turns out to be 21 pages, you
   typically call that a success.
   ... If no one in our readership is going to interpret requirement as
   above, then Alex's proposal is fine. But there are those people in the
   world.

   Alex: In that case, I would put "we process infosets" as a hard
   requirement.

   <MSM> +1

   Norm: Does that all sound ok to folks then?

   Yes.

   Discussion of requirements in Alex's document:

   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006Jan/att-0041/xproc-requirements.html[7]

   1. The language must be rich enough to address practical interoperability
   concerns.

   Design principle

   2. The language should be as small and simple as possible.

   Design principle

   3. The language must allow the inputs, outputs, and other parameters of a
   components to be specified.

   Requirement.

   4. he language must define the basic minimal set of mandatory input
   processing options and associated error reporting options required to
   achieve interoperability.

   There's some confusion about this one

   Editor will refactor.

   5. Given a set of components and a set of documents, the language must
   allow the order of processing to be specified.

   Requirement.

   6. It should be relatively easy to implement a conformant implementation
   of the language, but it should also be possible to build a sophisticated
   implementation that can perform parallel operations, lazy or greedy
   processing, and other optimizations.

   Confusion? Design principles or requirements?

   Editor will refactor.

   7. The model should be extensible enough so that applications can define
   new processes and make them a component in a pipeline.

   Requirement.

   Richard: I think we should be careful not to use "extensibility" and
   "interoperability" without being fairly precise about what we mean.

   8. The model must provide mechanisms for addressing error handling and
   fallback behaviors.

   Requirement.

   MSM: Are we talking about candidate requirements or requirements we've
   accepted

   <richard> these are all "candidate" requirements at this stage, surely

   Norm: I think we get to start over and we get to pick if these are
   requirements we accept or not after we believe we have a common
   understanding of what they mean

   9. The model could allow conditional processing so that different
   components are selected depending on run-time evaluation.

   MSM: Run-time evaluation is clear enough to count as crisp?

   Alex: No, I think these will all get longer.

   Requirement.

   10. The model should not prohibit the existence of streaming pipelines.

   Requirement.

   Richard: we should be clear that you should be able to write pipelines
   that can be streamed rather than that every pipeline must be streamable.
   ... Some things that you might want to do with pipelines cannot be
   streamed.

   MSM: Can we imagine an option where I ask if this pipeline is streamable
   and fail if it isn't?

   Erik: I'm not sure I understand the question. Should you have an option to
   ask the pipeline engine if a pipeline is streamable?

   MSM: I would like the option of having the processor tell me if I've
   failed to write a streaming pipeline.

   Erik: This sounds like something specific to a particular implementation.

   MSM: It may be infeasable in general.

   Erik: The idea is to leave the door open to allow some processors to
   optimize something to be streaming.

   MSM: If it's that difficult to tell, then I'm concerned about it being a
   requirement as opposed to a design goal.

   Richard: Something like a general XSLT transformation cannot possibly be
   guaranteed to be streamble. There are some cases where the streambility is
   determined by the compoents.
   ... But if there are conditionals in the language then it may also not be
   possible to stream on that basis (.e.g, a condition that cannot be
   deterined until some stage has finished).
   ... As we proceed through, we shouldn't put anything in that prevents a
   streaming pipeline.

   Alex; We can mark this as a possible new requirement and debate it as we
   proceed.

   <ebruchez> I I think that's too specific of a reuirement

   <MSM> I am having trouble imagining a language construct that would not
   only be non-streamable but would successfully prohibit the writing of
   streamable pipelines. Is the req as formulated by Core a nop?

   11. The model should allow multiple inputs and multiple outputs for a
   component.

   Requirement.

   12. The model should allow any data set conforming to one of the W3C
   standards, such as XML 1.1, XSLT 1.0, XML Query 1.0, etc., to be specified
   as an input or output of a component.

   I'd be inclined to state it broadly as a design principle.

   <richard> Michael - a rule that downstream components must not start
   unless it is guaranteed that no upstream component will abortld be an
   example of such a construct

   Alex: That boils down to specific ones for known languages.

   Norm: I think we may be able to answer the question more generally, but
   I'm ok with that.

   13. Information should be passed between components in a standard way, for
   example, as one of the data sets conforming to an industry standard.

   Richard: I think that means it should use things like SAX and DOM

   MSM: Except that neither SAX nor DOM is a data set.

   Alex: we could refactor that to say that we don't want to preclude ...
   some list of known ways to pass infosets.

   Richard: The Core WG may have been trying to express that it didn't want
   us to invent a *new* way
   ... The fact that the Core WG included it doesn't mean everyone there
   agreed with it.

   Editor will refactor.

   14. The language should be expressed in XML. It should be possible to
   author and manipulate documents expressed in the pipeline language using
   standard XML tools.

   Requirement.

   15. The pipeline language should be declarative, not based on APIs.

   Erik: I would argue that XPL is declarative
   ... You really are declaring linking of components together and leaving it
   to the implementation to do the work

   Richard: The idea here is that the language for expressing the connections
   between components should be declarative.

   16. The model should be neutral with respect to implementation language.

   Requirement.

   Norm: Do you have enough to make a first pass?

   Alex: Yes. If you look at this list and see things missing, we should add
   them.
   ... I'll take a first stab at it from the minutes of the preceding
   meetings.

   <scribe> ACTION: Alex to produce document by c.o.b. 17 Jan 2006 [recorded
   in http://www.w3.org/2006/01/12-xproc-minutes.html#action01[8]]

   ADJOURNED

Summary of Action Items

   [NEW] ACTION: Alex to produce document by c.o.b. 17 Jan 2006 [recorded in
   http://www.w3.org/2006/01/12-xproc-minutes.html#action01[9]]
   **
   [End of minutes]

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

   [1] http://www.w3.org/
   [2] http://www.w3.org/XML/XProc/2006/01/12-agenda.html
   [3] http://www.w3.org/2006/01/12-xproc-irc
   [4] http://www.w3.org/XML/XProc/2006/01/12-agenda.html
   [5] http://www.w3.org/XML/XProc/2006/01/05-minutes.html
   [6]
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006Jan/0041.html
   [7]
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2006Jan/att-0041/xproc-requirements.html
   [8] http://www.w3.org/2006/01/12-xproc-minutes.html#action01
   [9] http://www.w3.org/2006/01/12-xproc-minutes.html#action01
   [10] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
   [11] http://dev.w3.org/cvsweb/2002/scribe/

    Minutes formatted by David Booth's scribe.perl[10] version 1.127 (CVS
    log[11])
    $Date: 2006/01/12 17:09:17 $


                                        Be seeing you,
                                          norm

-- 
Norman.Walsh@Sun.COM / XML Standards Architect / Sun Microsystems, Inc.
NOTICE: This email message is for the sole use of the intended
recipient(s) and may contain confidential and privileged information.
Any unauthorized review, use, disclosure or distribution is prohibited.
If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.

Received on Thursday, 12 January 2006 17:29:41 UTC