XProc Usability

From W3C Wiki

Revision as of 11:12, 14 January 2012 by Jfuller (Talk | contribs)
Jump to: navigation, search

[Back to XprocVnext]

Contents

Usability issues for Vnext

Variable values opened up

Can we remove the restriction on variables/options/params being bound only to strings?

  • What would be allowed
    • Two biggies that I can see:
      • binaries - This would allow not only the possibility of binary resource files, but all would enable the ability to pass maps, which is where I think the real value-add comes in.
      • sequences - Not just for strings, but for nodes and binaries as well.
  • See also WhatFlows#Sequences

Optional options for declared steps

AM to complete Something that works from the command line but not internally to a library step???

Empty source on p:template

If you're fabricating from whole cloth, you have to waste space with a pointless

<foo/>

  • What would be the downside of having the empty sequence as the default input in most/all cases?
    • AM suggests that we allow this on a step-by-step basis

Output signatures for compound steps

The existing magic is not consistent or easily understandable

Loading computed URIs

Lots of workarounds, but shouldn't need them

  • Attribute-value templates . . . would solve this

p:group within p:try

Could we remove this requirement? Is this a case of making life easier for implementors which confuses users? Or is it actually simpler to have the group/catch as the only top-level children?

Parameters and the rules for their use

Now that we have a bunch of real pipelines, can we simplify the rules by limiting the allowed usage patterns?

  • At least, get rid of the necessity for p:empty as the parameter input [when it's now required: someone to fill in]

Location of p:variable

Should we allow p:variable anywhere in groups?

Choose-style binding

Suppose you have a pipeline with a step X, and depending on some dynamic condition, you want X to process documents (or entire sequences of documents) A, B, or C. Currently, the only way to do this is to use a p:choose a to duplicate the step X with different input bindings in each branch. This not only looks silly, but it is painful to write.

One solution to this would be a choose-style binding (a wrapper around the existing bindings) that would dynamically select the bindings to use.

Add a Note or another spec for documentation conventions

Simplify working with filesets

In situations where working with sets of files on a file directory system XProc, as currently defined, feels somewhat awkward:

  • consider a p:documents element which roughly emulates apache ant filesets
  • consider reusable file path structures
  • consider providing conventions for making xproc scripts more cross platform e.g. file seperators

Verbosity

Simplify the markup

Can we?

Find a good compact syntax

Can we? Should we?

Personal tools