- From: Imsieke, Gerrit, le-tex <gerrit.imsieke@le-tex.de>
- Date: Tue, 17 Apr 2018 22:13:53 +0200
- To: xproc-dev@w3.org
On 17/04/2018 22:05, David Cramer wrote:
> Wow, that works! I just new there had to be a right way to do this, and
> I can easily customize the stylesheets to this approach.
>
> Two things I didn't know about:
>
> 1. I didn't know you could stick multiple document inside a p:input,
> though it seems completely obvious now.
>
> 2. I didn't know about collection() in xslt 2.0.
The default collection, collection(), is not defined if you invoke the
XSLT through Saxon. But in XSLT invoked through p:xslt, it’s the
sequence of the documents on the source port.
https://www.w3.org/TR/xslt20/#evaluation-context
https://www.w3.org/TR/xproc/#c.xslt
Glad that I could help!
Gerrit
>
> I was puzzled at first about whether I needed to make a <collection>
> document to feed to collection(), but it appears that if you use
> collection() with no argument in an xslt in a pipeline, it behaves as if
> it's been given a <collection> document listing all of the documents
> from the input port. Very handy.
>
> I've put a complete demo/example here:
>
> https://gist.github.com/dwcramer/c65056fd3638e1cdcd052f4d05f2816e
>
> Thanks for the help!
> David
>
> On 4/17/18 1:47 PM, Imsieke, Gerrit, le-tex wrote:
>> Hi David,
>>
>> I see the issue.
>>
>> I’m not that familiar with DocBook XSL, it seems to be quite a beast.
>> If the template that slurps in the glossary master via document() is
>> reasonably small, then you could import the whole DocBook XSL
>> stylesheet from your own XSLT. Your own XSLT will override the
>> glossary processing template with something that uses collection()[2]
>> instead of document('…'). Then you can pass a p:pipe connection to the
>> glossary XInclude step as a second document to the p:xslt’s source port.
>>
>> Do you think this may be a workaround for this issue?
>>
>> Gerrit
>>
>>
>
--
Gerrit Imsieke
Geschäftsführer / Managing Director
le-tex publishing services GmbH
Weissenfelser Str. 84, 04229 Leipzig, Germany
Phone +49 341 355356 110, Fax +49 341 355356 510
gerrit.imsieke@le-tex.de, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930
Geschäftsführer / Managing Directors:
Gerrit Imsieke, Svea Jelonek, Thomas Schmidt
Received on Tuesday, 17 April 2018 20:14:27 UTC