- From: Alex Milowski <alex@milowski.com>
- Date: Thu, 20 Feb 2014 13:46:04 +0000
- To: XProc Dev <xproc-dev@w3.org>
On Thu, Feb 20, 2014 at 12:45 PM, Romain Deltour <rdeltour@gmail.com> wrote: > On 20 févr. 2014, at 13:07, Alex Milowski <alex@milowski.com> wrote: > >> Using XPath for ports is fraught with issues. How do you do the >> static analysis to figure out what is connected to what? > > See my proposal in the thread "an idea: ports == options". I am referring to that proposal as well. > > The req isn't saying either that XDM is not an option. I think XDM should be carefully considered. > > Saying that data flowing through a pipeline is xs:hexBinary or xs:base64Binary does not mean that the data *MUST* be serialized until it's explicitly asked (as a string or document node). Implementations could very well use a stream handle underneath. Hmm, ... not sure that's a great solution. Primarily, the concept of the "binary is a document" is lost by just using arbitrary values. The "1" and "(1 2 3)" become documents without any associated media type. > > Another option is the "resource manager" approach, where you could represent non-XML content by reference (URI). Again, this can be compatible with an XDM approach. That has been considered in the past but the non-uniformity of making binaries somehow second-class objects makes that solution less attractive. > > I don't really buy the "then use XQuery" argument. > My point simple is you can write a XQuery program to process sequences of items as composed functions. That approach tends to have its own set of problems which include the ability for someone to understand the code. The approach where steps just operate on inputs that are sequences of items and produce a tuple of sequences items is just as fraught with issues of complexity. In particular, I question the streaming capabilities of such an approach as the "XPath expression" assumption requires that you have the complete value in some sense (e.g. you have the complete set of documents from the preceding step if it produced more than one document). There is also useful distinction in steps that operate on inputs and are controlled by options. Conceptually, this may be easier to understand for some users. If you look through our inventory of steps, options universally have simple values. There are only a few situations (e.g. parameters) where you'd like a non-simple value like a map. -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics
Received on Thursday, 20 February 2014 13:46:31 UTC