Skip to content

10 June Minutes

Norman Walsh edited this page Jun 13, 2019 · 1 revision

XProc Workshop Minutes, 10 June 2019

Table of Contents

  1. Administrivia
  2. Technical agenda
  3. Balisage planning
    1. Tutorial observations
  4. XProc Language specification issues
  5. XProc step issues
  6. Recessed


  • Present: Norm, Achim, Erik, Gerrit, Jirka, Geert, Ari, Jorge, David
  • Scribe: Norm
  • Accept the agenda?
    • No comments
  • Accept the minutes of the previous meeting?
    • Accepted
  • Schedule:
    • Today: 10:00-17:00; break for lunch at 12:30 at the Phoenix pub.
    • Tomorrow 9:30-16:30; break for lunch at 12:30 at the Phoenix pub.

Technical agenda

  • Balisage planning
  • XProc Language specification issues
  • XProc step issues
  • Any other business

Balisage planning

  • Norm/Achim will turn their tutorial from MarkupUK into a paper; Norm will deliver it.
  • Gerrit is going to investigate the possibility of coming to give a paper about the UX.
  • Ari will mention XProc in his paper.
  • Geert is also hoping to come.
  • We might get a double slot; so we can organize the material into unequal halves.

Tutorial observations

  • The “backwards pipeline” designed to highlight that order doesn’t matter was confusing.
  • Lots of folks appeared to be engaged; seems like the tutorial worked.

XProc Language specification issues

  • Issue 807; not an issue, 6.7 of the XDM spec clearly says the must be merged.
  • Issue 808;
    • Achim: you can’t do this outside of XSLT because you’ll get an error at serialization time…the only way to get these out of XSLT is with the Java APIs.
    • Norm: I propose we allow “JSON documents” to contain nodes.
  • Achim: We convert sequences of items into sequences of documents (issue #811).
  • We’ll allow “XDM JSON” nodes.

Much discussion; Norm observes that the parallel between XML XDMs and “application/xml” and JSON XDMs and “application/json” is perfect in the case where the JSON contains nothing invalid.

Consensus leans towards allowing the extensions.

David: it would be useful to have a processor option that says “check the output of all steps to make sure that they are well formed: well formed XML, JSON, etc.

Achim: it would also be useful to have this option limited to where serialization is actually going to occur.

XProc step issues

  • Issue 99; consensus.

  • Issue 100; not all properties are preserved if the content type can change. If the content type changes, we’ll remove all of the serialization properties that might be in the document properties. All other properties are preserved.

    If a user wants to remove a property, they have to get the map, edit the map, and set the properties to that map. That’s good enough.

  • Issue 101; some discussion of what to do with multiple documents. Erik argues to disallow sequences to simplify things.

    • Gerrit: could we just have an option on the p:store step?
    • Achim: what about having two output ports on p:store, one that returns the result and one that returns the URI.
    • Norm: I’d suggest putting the URI on a port with a different name.

    Some discussion of what to do about backwards compatibility. If the URI output is on the ‘result’ port, then we don’t break backwards compatibility. Achim suggests a primary port named ‘copy’. Some further discussion of breaking conventions this way.

    • Gerrit: I’d rather break backwards compatibility.

    Knods of agreement.

    Proposal: steps that have a port that returns the URI, should be changed such that they have a primary output port called ‘result’ that returns the input document and a secondary port called ‘result-uri’ that returns the URI.

  • Issue 89

    • Instead of ‘recursive’, use a ‘max-depth’ attribute with the value ‘unbounded’ or a non-negative integer. Default value is “1”, the immediate members of the directory. A value of 0 returns information about the directory, but none of its children.
    • Each of the c:file and c:directory (and c:other) children will have an xml:base attribute so that the full URI of the item can be easily determined.
  • Issue 61

    • Q1: “yes”

    • Q2: “yes”

    • Q3: “If an XSLT 1.0 or 2.0 processor is requested, it is a dynamic error if the input is inappropriate (e.g., a sequence is provided on the input port).

    • Consensus: at the 10 June meeting, we convinced ourselves that the tree construction semantics of XSLT will produce the expected results when XSLT is called from XProc in the common case. If users explicitly select alternate serializations or write stylesheets that explicitly return sequences, they may get different results, but that’s expected even if they find it surprising.

  • Issue 47

    • Deferred to


Clone this wiki locally
You can’t perform that action at this time.