xsl-list
[Top] [All Lists]

Re: [xsl] how to trigger a new page sequence, depending on specific input conditions

2011-10-02 14:01:55
On Sun, October 2, 2011 2:52 pm, team wise wrote:
...
--->In the context of the top level DITA Map , yes, that <concept> is
the child of the document element.
...
--->
I forgot mentioning that with <fo: break-before name=â??pageâ??/>, I
made
the â??specificâ?? concept XML fragment distinct, therefore the
@xtrf=â??GUID-1234â?? should be replaced with
â??concept[title/@outputclass=â??pagebreakâ??]â??>

If you need to do this for multiple specific <context>, you can use a
sequence of @xtrf values in the predicate instead, e.g.:

  title/@xtrf = ('GUID-1234', 'GUID-5678')
ï? 
--->
Considering the xtrf value, such as GUID-1234' is â??variableâ?? and not
predictable until at the publishing time, which means that it can only
be determined and fetched when users specify the â??contextâ??. How can
I
apply that syntax?

I think you solved it yourself when you used @outputclass='pagebreak'.

You indicated in off-list email that you are using XSLT 1.0, so
xsl:for-each-group isn't available to you.  What XSLT processor are you
using?  Does it implement exslt:node-set() [1]?  set:difference() [2]?

Actually, you may be able to do something like the following:

<xsl:for-each select="concept[title/@outputclass='pagebreak']">
  <xsl:variable name="position" select="position()" />

  <fo:page-sequence ...>
    ...
    <xsl:apply-templates
      select=". |
preceding-sibling::*[count(preceding-sibling::concept[title/@outputclass='pagebreak']
= $position - 1" />
  </fo:page-sequence>
</xsl:for-each>

Regards,


Tony Graham                                   tgraham(_at_)mentea(_dot_)net
Consultant                                 http://www.mentea.net
Mentea       13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland
 --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
    XML, XSL FO and XSLT consulting, training and programming

[1] http://www.exslt.org/exsl/functions/node-set/index.html
[2] http://www.exslt.org/set/index.html



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--