W3C home > Mailing lists > Public > xproc-dev@w3.org > October 2020

Re: controlling indentation on individual XSLT steps?

From: David Birnbaum <djbpitt@gmail.com>
Date: Sat, 3 Oct 2020 13:55:58 -0400
Message-ID: <CAP4v81p=pJMQeYandEKWbMYc=uoURs=gLTrf0D1J7=BJHOt71A@mail.gmail.com>
To: Norm Tovey-Walsh <ndw@nwalsh.com>
Cc: xproc-dev@w3.org
Thanks, all, for the quick responses. Achim reported that Morgana may not
yet be processing suppress-indentation (as Gerrit also surmised), so
bracketing that for the moment, I'm having trouble specifying indent on a
<p:store>. The relevant bits, removing the attempt to deal with
suppress-indentation, read:

  <p:xslt name="split-forms">
    <p:with-input port="stylesheet" href="split-alternative-stress.xsl"/>

  <p:store href="../../output/adj-split-forms.xml" >
    <p:with-option name="indent" select="false()"/>

and compilation fails with:

djb@koala-4 adj % morgana adj.xpl
Copyright 2011-2020 by <xml-project /> Achim Berndzen

Compilation error(s):
Error XS0031 in file:///Users/djb/repos/cz/pos/adj/adj.xpl [52/46]: Option
'indent' is not declared for '{http://www.w3.org/ns/xproc}store'.
Error XS0031 in file:///Users/djb/repos/cz/pos/adj/adj.xpl [68/52]: Option
'indent' is not declared for '{http://www.w3.org/ns/xproc}store'.

For debugging purposes I am using <p:store> to write interim results to
disk after each of the two pipelined XSLT steps, and I use <p:sink>, at the
end, so that the primary output is not ... well ... output. I think my
revised questions, then, are:

1. Should I expect the "indent" value on <xsl:output> to be honored inside
XProc, between steps, even though I won't see what it does until I
serialize something later? That is, if I chain together two XSLT
transformations and specify indentation or no indentation with <xsl:output>
on the first, will the input to the second be indented or not according to
that specification? If <xsl:output> does not control indentation in an
XProc context, is there another way I can control whether the first
transformation pipes indented vs non-indented output into the second?

2. It looks as if I haven't understood correctly (in the example above) how
to specify indentation (or not) on <p:store>. Does someone with sharper
eyes (or, at least, more XProc experience) see what I'm missing?

Thanks again,


On Sat, Oct 3, 2020 at 1:34 PM Norm Tovey-Walsh <ndw@nwalsh.com> wrote:

> David Birnbaum <djbpitt@gmail.com> writes:
> > I'm executing a pipeline that includes two consecutive XSLT step where,
> > outside the XPRoc 3 environment, I control pretty-printing with:
> XProc isn’t serializing between steps, so the stylesheet serialization
> parameters don’t apply.
> Serialization happens when you “store” a document (by sending it out of
> the pipeline on one of the output ports, by explicitly storing it with
> p:store, or by doing something else, like p:http-request, that has to
> turn it into characters).
> If you’re output port is “result”, then the serialization parameters
> that you specify for that output port are what matters.
>                                         Be seeing you,
>                                           norm
> --
> Norman Tovey-Walsh <ndw@nwalsh.com>
> https://nwalsh.com/
> > The function of the imagination is not to make strange things settled,
> > so much as it is to make settled things strange.--G. K. Chesterton
Received on Saturday, 3 October 2020 17:56:22 UTC

This archive was generated by hypermail 2.4.0 : Saturday, 3 October 2020 17:56:23 UTC