XProc Minutes 10 May 2007

See: http://www.w3.org/XML/XProc/2007/05/10-minutes

W3C[1]

                                   - DRAFT -

                            XML Processing Model WG

Meeting 67, 10 May 2007

   Agenda[2]

   See also: IRC log[3]

Attendees

   Present
           Norm, PGrosso, Alex_Milows, richard, Ht, Andrew

   Regrets
           Rui, Michael, Mohamed, Alessandro

   Chair
           Norm

   Scribe
           Norm

Contents

     * Topics
         1. Accept this agenda?
         2. Accept minutes from the previous meeting?
         3. Next meeting: telcon 17 May 2007
         4. Open action items
         5. Pipeline state variables
         6. More questions about syntactic sugar
         7. Error codes for step errors
         8. Pipelines that change attributes
         9. Fixed window use case
        10. Empty compound steps
        11. Secondary output on XSLT 1.0 step
        12. Any other business
     * Summary of Action Items

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

  Accept this agenda?

   -> http://www.w3.org/XML/XProc/2007/05/10-agenda.html

   Accepted.

  Accept minutes from the previous meeting?

   -> http://www.w3.org/XML/XProc/2007/05/03-minutes.html

   Accepted.

  Next meeting: telcon 17 May 2007

   Henry gives regrets

  Open action items

   Alex to craft a proposal on serialization, continued

   Henry to write up pipeline state variables, completed.

  Pipeline state variables

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0069.html

   Norm: I think there was some confusion about [stepname]_index

   Henry: The whole point of for-each is that there's no document sequence,
   you're getting them one at a time.
   ... Nonetheless, you may wish to know what iteration you're in.
   ... Adding functions feels like something that makes me muck with the
   XPath impl, but adding variables to the context is something I can do from
   outside.
   ... There are a bunch of other "environment" variable kinds of things
   which things like XSLT/XQuery make available: implementation, system, etc.

   Norm: There's a function in XSLT: system-property

   Paul: I use function-available all the time

   Henry: Yes, we might want that

   Norm: At the moment, we don't allow references to unknown steps, even
   behind a condtional.

   Alex: It might be nice to say that I use this collection of steps and have
   a more discernable error.

   Any other discussion of Henry's proposal?

   Ok. Variables or functions?

   Henry: I prefer variables, I think.

   Norm: In JAXP API, it's about equally easy.

   Richard: Might a processor work in such a way that it doesn't "restart"
   the evaluation between loops.

   Henry: In the very least, the context has to change, so it shouldn't be
   hard to change variables even then.

   Norm: I observe that other specs that extend XPath use functions.

   Richard: So far I haven't seen anything that suggests it isn't like a
   variable.
   ... I observe that current() in XSLT is a function when presumably that
   could have been a variable.

   Straw poll: Function or variable?

   Results: 2 functions, 3 variables, 1 abstain

   Henry: I'd be happy to have a note requesting feedback.

   Norm: Ok, variables for now with a "priority feedback" note.

   Henry's proposal is accepted.

  More questions about syntactic sugar

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007Apr/0143.html

   Jeni responded with a much grander proposal involving variables and
   attribute value templates.

   Henry: I sympathize. I'm tempted to go all the way.

   Alex: I'm sympathetic to the AVT story as well.

   Henry: So href='banana' is the equivalent of name='href' value='banana'
   ... And href='{xxx}' is equivalent to name='href' select='xxx'
   ... And you get the probably irrelevant advantage that you don't have to
   use concat()

   Alex: To users, that might be very nice.

   Norm: I observe that if we do this, we'll need to say which attributes are
   AVTs

   Henry: My inclination would be to say that we're playing on the edges
   here. We have no experience with which attributes can be AVTs.

   Norm worries about the fact that references to documents will be quite
   different from an AVT perspective.

   Henry: the consequence of that for this story would mean that you couldn't
   do document references in AVTs.
   ... For V1 I think we should only allow this for value=
   ... Giving users choices is bad; so I think I marginally prefer to allow
   it only on steps
   ... You can use the super-abbreviated form on step for values that are
   constant.
   ... My proposal is: no change to the option element, you can just put the
   value on the step itself.
   ... And only there

   Norm: Yeah, but it wouldn't work for an option named "name" so maybe we
   should just ditch the whole thing.

   Alex: It doesn't bother me.

   Anyone uncomfortable?

   Norm: Should we work this up into a draft and see what the public says?

   Alex: And it's a static error if you specify the option twice.

   Accepted.

  Error codes for step errors

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007Apr/0153.html

   Norm: What error do I raise?

   Henry: The builtin steps have to say what errors they raise.

   Richard: I want it to be possible to use off-the-shelf implementations
   without having to delve into them to sort out their error returns.
   ... So I would be in favor of very generic errors that have some kind of
   detail inside them.

   Norm: I'm happy with "step failed" and that's all you get.

   Richard: If some steps need more detail then "ok" up to the point.

   Alex: The error vocabulary is open so implmentors can add stuff if they
   want

   Norm: Anyone uncomfortable with "there's an error code for step failed"?

   Ok, that's what we'll do.

  Pipelines that change attributes

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0096.html

   Norm: The proposed solution seems odd to me, but clever in its way.

   Henry: Maybe we need something that does this, but I don't want to call it
   viewport

   Alex: There's lots of things we can't do. We'll always find new things.
   I'm not sure that this is worth doing for V1.

   Henry: Richard, you have something like this, can you explain it?

   Richard: lxreplace is a program that's intended for doing minor
   replacements on XML documents.
   ... We've talked before about streaming several of the microcomponents.
   ... I'm wondering if there's a case here for an extra microcomponent
   that's like string-replace.
   ... You have an xpath that can specify attributes or text nodes and it
   replaces their value with the result of evaluating that expression

   Norm: We have that one. Jeni wants to manufacture attributes.

   Richard: You could say that this is two separate steps, one that renames
   attributes and ones that changes strings.

   Norm: Look at the example, it's got to construct attributes.

   Henry: I think the answer is that we're not ready for this complexity yet.

   Norm: Should we postpone this one for a while?

   Henry: Yes, I'd say maybe even on the "someday" pile.

   Richard: Given that it can be done with XSLT; streaming is just an
   optimization.

   Henry: I still do think that we should consider a not-very-micro component
   which specializes the standard XSLT design pattern of copying most of a
   document and changing something about 1 element.
   ... If/when we come back to this.

   Richard: The for-each XSLT component is useful in many cases, but I'm not
   sure this example is one.

  Fixed window use case

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0111.html

   Henry: I've found on a number of occasions that it's useful to catagorize
   things in one step and wrap them in the next.
   ... With the semantic that they all get wrapped up together.
   ... We have p:wrap that wraps things; the simple interpretation of what
   Mohamed wanted is to say there's an optional XPath which you can provide
   and as long as that value doesn't change, you don't close the wrapper.

   Richard: And what happens when things cease to be siblings?

   Henry: Then you close the wrapper.
   ... Ignore comments, ignore PIs, ignore text nodes that contain just
   whitespace. Otherwise, anytime you hit something that doesn't match the
   XPath, or doesn't match its value, or isn't a sibling, you close the
   wrapper.
   ... My exmaple is the pipeline compiler that needs this; it decorates
   steps with something about whether or not there's a thread boundary
   needed. Then you wrap each group of steps in the same thread with a
   wrapper.

   Richard: This is a group component?

   Henry: It makes wrap something that can be used as a grouping component

   Paul: Mohamed proposed another expression to identify the kinds of things
   you skip.

   Norm: I think you'd still end at non-sibling boundaries

   Henry: I don't think that's any harder than what I said.
   ... It's slightly tricky to write an XPath that detects all whitespace.
   ... I'd like to think about that a little bit.

   <MoZ> text()[string-length(normalize-string(.))=0]

   Yes, but that's very expensive.

   Norm: Henry's behavior could be the default

   Paul: I like that.

   Norm: Are we sold?

   <scribe> ACTION: Henry to propose wording for the spec. [recorded in
   http://www.w3.org/2007/05/10-xproc-minutes.html#action01[11]]

   <MoZ> do we keep the ignore option ?

   Yes, MoZ, I think so.

  Empty compound steps

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0120.html

   Norm outlines his concerns.

   Henry: I think it's not obvious what some of the compound steps mean if
   they're empty.
   ... I'm sympathetic.

   Paul: It's not a big deal to me.

   Norm: I'm not sure we need to have a nop step; you can always use
   identity.
   ... Shall we outlaw empty compound steps.

   Henry: I'm in favor.

   Accepted.

  Secondary output on XSLT 1.0 step

   ->
   http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007May/0099.html

   Alex: I'm happy to do it.

   Henry: I agree.

   Accepted.

  Any other business

   <scribe> New public draft in two weeks?

   General agreement

   <MoZ> ? topic 8

   Adjourned.

Summary of Action Items

   [NEW] ACTION: Henry to propose wording for the spec. [recorded in
   http://www.w3.org/2007/05/10-xproc-minutes.html#action01[14]]
   **
   [End of minutes]

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

   [1] http://www.w3.org/
   [2] http://www.w3.org/XML/XProc/2007/05/10-agenda.html
   [3] http://www.w3.org/2007/05/10-xproc-irc
   [11] http://www.w3.org/2007/05/10-xproc-minutes.html#action01
   [14] http://www.w3.org/2007/05/10-xproc-minutes.html#action01
   [15] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
   [16] http://dev.w3.org/cvsweb/2002/scribe/

    Minutes formatted by David Booth's scribe.perl[15] version 1.128 (CVS
    log[16])
    $Date: 2007/05/10 15:59:29 $

Received on Thursday, 10 May 2007 16:25:07 UTC