XProc New Steps

From W3C Wiki

[Back to XprocVnext]

New Simple and Compound Steps

TODO (you can help!):


Should we have a p:sort? What would it look like?

  • xsl:sort provides one possible model—how much would we use?

Validation with error

Is there a way to have validation not require try/catch to access error messages? So that we could stream validation?

  • Try-catch cannot be streamed. If there is an error, however late in the day, there is nothing on the primary output


Some kind of support for scatter-gather/map-reduce/whatever-you-like to call it

  • Does this need anything we don’t have already?

Iterate until condition

Repeat a step (group?) until some XPath expression is satisfied, feeding its output back as input after the first go-around

  • Reference xsl:iterate
  • Special built-in support for iterate to fixed-point?
    • iterate-to-fixed-point already implemented as an extension step in Calabash: ex:until-unchanged

Dynamic pipeline execution

Run a pipeline whose XML representation is input

Can you elaborate?
Zearin (Arogers) 15:53, 11 October 2012 (UTC)

Long-form viewport

With an intrinsic built-in switch


Steps to handle SMTP, and send e-mail messages

URI manipulation

a step to set the base URI of a document

<p:declare-step type="p:set-base-uri">
     <p:input port="source"/>
     <p:output port="result"/>
     <p:option name="base-uri" required="true"/>

Compound step

convenient to have a p:if compound step

      name? = NCName 
      test? = XPathExpression>
     ( p:xpath-context?,

could be a degenerate case of p:choose ?


  • a step to iterate over 2 sequences, like a p:for-each but with 2 iteration sources that are iterated in parallel (1st doc of each, 2nd doc of each, etc). (can be covered by p:pack / p:for-each / p:unwrap)


  • a step that accepts (and waits) for external input

resource manager step

  • provide step for overriding URI - assumes the existence of some kind of resource manager
XProc v.Next  Architecture | Usabilitiy | New Steps | Resource Manager | Integration