<
p:declare-step xmlns:p=
"http://www.w3.org/ns/xproc" xmlns:px=
"http://www.daisy.org/ns/pipeline/xproc" xmlns:d=
"http://www.daisy.org/ns/pipeline/data" xmlns:dtb=
"http://www.daisy.org/z3986/2005/dtbook/" xmlns:smil=
"http://www.w3.org/2001/SMIL20/" version=
"1.0" type=
"px:daisy3-add-smilrefs" name=
"main">
<
p:documentation xmlns=
"http://www.w3.org/1999/xhtml">
<
p>Add <
code>smilref</
code> attributes to a DTBook based on a set of SMIL documents that
reference the DTBook.</
p>
<
p>Apart from <
code>src</
code> attributes of <
code>text</
code> elements,
<
code>epub:textref</
code> attributes on <
code>seq</
code> elements are also regarded as
references.</
p>
</
p:documentation>
<
p:input port=
"source.fileset" primary=
"true"/>
<
p:input port=
"source.in-memory" sequence=
"true">
<
p:documentation xmlns=
"http://www.w3.org/1999/xhtml">
<
p>Fileset with a set of SMILs and a DTBook without smilref attributes</
p>
</
p:documentation>
</
p:input>
<
p:output port=
"result.fileset" primary=
"true"/>
<
p:output port=
"result.in-memory" sequence=
"true">
<
p:documentation xmlns=
"http://www.w3.org/1999/xhtml">
<
p>Copy of the input fileset with the modified DTBook.</
p>
</
p:documentation>
<
p:pipe step=
"update" port=
"result.in-memory"/>
</
p:output>
<
p:import href=
"http://www.daisy.org/pipeline/modules/fileset-utils/library.xpl">
<
p:documentation>
px:fileset-load
px:fileset-filter
px:fileset-update
</
p:documentation>
</
p:import>
<
px:fileset-load name=
"load" media-types=
"application/x-dtbook+xml application/smil">
<
p:input port=
"in-memory">
<
p:pipe step=
"main" port=
"source.in-memory"/>
</
p:input>
</
px:fileset-load>
<
p:sink/>
<
px:fileset-filter name=
"filter" media-types=
"application/x-dtbook+xml">
<
p:input port=
"source">
<
p:pipe step=
"load" port=
"result.fileset"/>
</
p:input>
<
p:input port=
"source.in-memory">
<
p:pipe step=
"load" port=
"result"/>
</
p:input>
</
px:fileset-filter>
<
p:sink/>
<
p:xslt name=
"xslt">
<
p:input port=
"source">
<
p:pipe step=
"filter" port=
"result.in-memory"/>
<
p:pipe step=
"filter" port=
"not-matched.in-memory"/>
</
p:input>
<
p:input port=
"stylesheet">
<
p:document href=
"add-smilrefs-from-smils.xsl"/>
</
p:input>
<
p:input port=
"parameters">
<
p:empty/>
</
p:input>
</
p:xslt>
<
px:fileset-update name=
"update">
<
p:input port=
"source.fileset">
<
p:pipe step=
"main" port=
"source.fileset"/>
</
p:input>
<
p:input port=
"source.in-memory">
<
p:pipe step=
"main" port=
"source.in-memory"/>
</
p:input>
<
p:input port=
"update.fileset">
<
p:pipe step=
"load" port=
"result.fileset"/>
</
p:input>
<
p:input port=
"update.in-memory">
<
p:pipe step=
"xslt" port=
"result"/>
<
p:pipe step=
"filter" port=
"not-matched.in-memory"/>
</
p:input>
</
px:fileset-update>
</
p:declare-step>