[xep-support] Grouping bookmarks

Kees de Grauw k.degrauw at axis.nl
Sun Jul 9 23:46:49 PDT 2006


Sebastien,

It is quite obvious what is wrong is that you cannot jump out of a <xsl:if>
element.
That is basic XML syntax.
The following is not correct XML:
  <a>
      <b>
  </a>
  </b>

Check the W3C xml pages for information on wellformed-ness

Regards, Kees
  -----Original Message-----
  From: owner-xep-support at renderx.com
[mailto:owner-xep-support at renderx.com]On Behalf Of Sébastien CLERMONT
  Sent: Friday, 07 July 2006 7:04 PM
  To: xep-support at renderx.com
  Subject: [xep-support] Grouping bookmarks


  I am trying to form groups of 20 bookmarks in my document.  I have a
document that can have from 1 to 1000 bookmarks and I want them to be
grouped by 20.  I tried the "<for-each-group>" tag but xep tells me that I
can't use that tag in this part of the xsl.

  My rx:outline works fine but when I am trying to place <xsl:if> tags and
put <xsl:bookmark> within those if tags, I get an XML validation exception
because the bookmark tags are not closed (they are but in an other if).

  If I replace "<!-- open group of 20 -->" by "<rx:bookmark ...>" and "<!--
close group of 20 -->" by "</rx:bookmark>" in my code below, I get the
validation errors.  What can I do?

   ----------- source code -----------------------
  <rx:outline>
           <xsl:for-each select="//compte">
              <xsl:variable name="type">
                 <xsl:value-of select="ResourceBundle:getString($libelles,
concat('docimgchq.pdf.contenu.libelle.cpt', at serco))"/>
                 <xsl:if test="@serco = '05'">
                    <xsl:value-of select="@serno"/>
                 </xsl:if>
              </xsl:variable>
              <rx:bookmark internal-destination="{$type}">
              <rx:bookmark-label><xsl:value-of
select="$type"/></rx:bookmark-label>
              <xsl:for-each select="cheque">
                 <xsl:variable name="cle" select="concat(@datecomptable,
@noref)"/>
                      <xsl:if test="(count(preceding::cheque)+1) mod 20 =
0">
                          <!-- open group of 20 -->
                      </xsl:if>
                 <rx:bookmark internal-destination="{$cle}">
                 <rx:bookmark-label><xsl:value-of
select="@nocheque"/></rx:bookmark-label>
                 </rx:bookmark>
                  <xsl:if test="count(preceding::cheque) mod 20 = 19 or last
cheque">
                      <!-- close group of 20 -->
                  </xsl:if>
              </xsl:for-each>
              </rx:bookmark>
           </xsl:for-each>
        </rx:outline>
   ----------- source code -----------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.renderx.com/pipermail/xep-support/attachments/20060710/96de27e6/attachment.html>


More information about the Xep-support mailing list