Loading ...
Sorry, an error occurred while loading the content.

forcing a border line to be drawn before the data moves across to next page

Expand Messages
  • inder
    Hi , I m stuck at something.I tried diff options but cudn t go thru Well I m using XSL, XSL-FO using FOP to generate PDF. The table below is being populated
    Message 1 of 9 , Nov 19, 2003
    • 0 Attachment
      Hi ,

      I m stuck at something.I tried diff options but cudn't go thru'

      Well I m using XSL, XSL-FO using FOP to generate PDF.
      The table below is being populated by data from XML.
      Now at the end row (Row4) which is outside of for-each loop , i m
      drawing a line using border-bottom-style to mark it as end of xsl-
      region-body.

      My requirement is that i want that all the rows(Row1,Row2,Row3)
      shuld appear together in a page and when the space is less in page
      for all the rows to appear together , all the three rows shud be
      moved to next page and also i want the end of each page shud be
      marked with a border-line as i have mentioned in Row4 due to
      symmetry purpose.

      IS there any way thru way i can force the border of the page (Row4
      of table) to be drawn before the data flows across to next page.


      <!-- written is xsl-region-body--->

      <fo:table-body>
      <xsl:for-each select="somecondtion">

      <!-- Row1 -->
      <fo:table-row border-style="none">
      Value2
      </fo:table:row>

      <!-- Row2 -->
      <fo:table-row border-style="none">
      Value1
      </fo:table:row>

      <!-- Row3 -->
      <fo:table-row border-style="none">
      Value3
      </fo:table:row>
      </xsl:for-each>

      <!-- Row4 -->
      <!-- This row is used to draw a border line ----->
      <fo:table-row border-bottom-style="solid" border-width="1pt">
      </fo:table:row>

      </fo:table-body>



      Thanks in advance and please help me with early reply.
      Inder..
    • inder
      Hi , I m stuck at something.I tried diff options but cudn t go thru Well I m using XSL, XSL-FO using FOP to generate PDF. The table below is being populated
      Message 2 of 9 , Nov 19, 2003
      • 0 Attachment
        Hi ,

        I m stuck at something.I tried diff options but cudn't go thru'

        Well I m using XSL, XSL-FO using FOP to generate PDF.
        The table below is being populated by data from XML.
        Now at the end row (Row4) which is outside of for-each loop , i m
        drawing a line using border-bottom-style to mark it as end of xsl-
        region-body.

        My requirement is that i want that all the rows(Row1,Row2,Row3)
        shuld appear together in a page and when the space is less in page
        for all the rows to appear together , all the three rows shud be
        moved to next page and also i want the end of each page shud be
        marked with a border-line as i have mentioned in Row4 due to
        symmetry purpose.

        IS there any way thru way i can force the border of the page (Row4
        of table) to be drawn before the data flows across to next page.


        <!-- written is xsl-region-body--->

        <fo:table-body>
        <xsl:for-each select="somecondtion">

        <!-- Row1 -->
        <fo:table-row border-style="none">
        Value2
        </fo:table:row>

        <!-- Row2 -->
        <fo:table-row border-style="none">
        Value1
        </fo:table:row>

        <!-- Row3 -->
        <fo:table-row border-style="none">
        Value3
        </fo:table:row>
        </xsl:for-each>

        <!-- Row4 -->
        <!-- This row is used to draw a border line ----->
        <fo:table-row border-bottom-style="solid" border-width="1pt">
        </fo:table:row>

        </fo:table-body>



        Thanks in advance and please help me with early reply.
        Inder..
      • Chris Bowditch
        ... ... put keep-with-next= always on first 2 fo:table-row to ensure the 3 rows stay together. ... This is more tricky. I m not sure exactly what you
        Message 3 of 9 , Nov 20, 2003
        • 0 Attachment
          >From: "inder" <inderbir_ruby@...>
          >

          <snip/>

          >
          >My requirement is that i want that all the rows(Row1,Row2,Row3)
          >shuld appear together in a page and when the space is less in page
          >for all the rows to appear together , all the three rows shud be
          >moved to next page

          put keep-with-next="always" on first 2 fo:table-row to ensure the 3 rows
          stay together.

          >and also i want the end of each page shud be
          >marked with a border-line as i have mentioned in Row4 due to
          >symmetry purpose.
          >
          >IS there any way thru way i can force the border of the page (Row4
          >of table) to be drawn before the data flows across to next page.
          >

          This is more tricky. I'm not sure exactly what you are trying to accomplish
          here, but you could try putting keep-with-next on row 3 as to ensure that
          row 4 stays with rows 1-3. Not sure if that is good enough for your
          requirements though.

          Chris

          _________________________________________________________________
          Express yourself with cool emoticons - download MSN Messenger today!
          http://www.msn.co.uk/messenger
        • inder
          Hi Chris, Thanks for ur reply. But as mentioned in xsl snippet for-each loop contains row1, Row2,Row3 and row4 is outside the loop as it has to be used only
          Message 4 of 9 , Nov 20, 2003
          • 0 Attachment
            Hi Chris,
            Thanks for ur reply.
            But as mentioned in xsl snippet for-each loop contains row1,
            Row2,Row3 and row4 is outside the loop as it has to be used only
            once .

            For an example consider if the data being populated in the for-each
            loop amounts to more than one page then row wud4 appear only in
            second page as row 4 is outside the for-each loop.
            If i put it in the for-each loop it wud appear couple of times in
            the page.But i just want to use it as border line to mark the end of
            page.

            I hope i m clear this time.
            waiting for ur reply.
            Inder...


            --- In XSL-FO@yahoogroups.com, "Chris Bowditch"
            <bowditch_chris@h...> wrote:
            > >From: "inder" <inderbir_ruby@y...>
            > >
            >
            > <snip/>
            >
            > >
            > >My requirement is that i want that all the rows(Row1,Row2,Row3)
            > >shuld appear together in a page and when the space is less in
            page
            > >for all the rows to appear together , all the three rows shud be
            > >moved to next page
            >
            > put keep-with-next="always" on first 2 fo:table-row to ensure the
            3 rows
            > stay together.
            >
            > >and also i want the end of each page shud be
            > >marked with a border-line as i have mentioned in Row4 due to
            > >symmetry purpose.
            > >
            > >IS there any way thru way i can force the border of the page (Row4
            > >of table) to be drawn before the data flows across to next page.
            > >
            >
            > This is more tricky. I'm not sure exactly what you are trying to
            accomplish
            > here, but you could try putting keep-with-next on row 3 as to
            ensure that
            > row 4 stays with rows 1-3. Not sure if that is good enough for
            your
            > requirements though.
            >
            > Chris
            >
            > _________________________________________________________________
            > Express yourself with cool emoticons - download MSN Messenger
            today!
            > http://www.msn.co.uk/messenger
          • inder
            Hi , I m stuck at something.I tried diff options but cudn t go thru Well I m using XSL, XSL-FO using FOP to generate PDF. The table below is being populated
            Message 5 of 9 , Nov 20, 2003
            • 0 Attachment
              Hi ,

              I m stuck at something.I tried diff options but cudn't go thru'

              Well I m using XSL, XSL-FO using FOP to generate PDF.
              The table below is being populated by data from XML.
              Now at the end row (Row4) which is outside of for-each loop , i m
              drawing a line using border-bottom-style to mark it as end of xsl-
              region-body.

              My requirement is that i want that all the rows(Row1,Row2,Row3)
              shuld appear together in a page and when the space is less in page
              for all the rows to appear together , all the three rows shud be
              moved to next page and also i want the end of each page shud be
              marked with a border-line as i have mentioned in Row4 due to
              symmetry purpose.

              IS there any way thru way i can force the border of the page (Row4
              of table) to be drawn before the data flows across to next page.


              <!-- written is xsl-region-body---

              <fo:table-body
              <xsl:for-each select="somecondtion"

              <!-- Row1 --
              <fo:table-row border-style="none"
              Value2
              </fo:table:row

              <!-- Row2 --
              <fo:table-row border-style="none"
              Value1
              </fo:table:row

              <!-- Row3 --
              <fo:table-row border-style="none"
              Value3
              </fo:table:row
              </xsl:for-each> <!-- End of loop -->

              <!-- Row4 outside the for-each loop -->
              <!-- This row is used to draw a border line -----
              <fo:table-row border-bottom-style="solid" border-width="1pt"
              </fo:table:row

              </fo:table-body



              Thanks in advance and please help me with early reply.
              Inder..
            • Chris Bowditch
              ... Yes you are clear. I think you will need to use something other than a table-row to get the border line that you want. A table in the region-after with a
              Message 6 of 9 , Nov 20, 2003
              • 0 Attachment
                >From: "inder" <inderbir_ruby@...>
                >
                >Hi Chris,
                >Thanks for ur reply.
                >But as mentioned in xsl snippet for-each loop contains row1,
                >Row2,Row3 and row4 is outside the loop as it has to be used only
                >once .
                >
                >For an example consider if the data being populated in the for-each
                >loop amounts to more than one page then row wud4 appear only in
                >second page as row 4 is outside the for-each loop.
                >If i put it in the for-each loop it wud appear couple of times in
                >the page.But i just want to use it as border line to mark the end of
                >page.
                >
                >I hope i m clear this time.

                Yes you are clear. I think you will need to use something other than a
                table-row to get the border line that you want. A table in the region-after
                with a top border. Of course, there may be a gap between the last occurence
                of row3 and the line itself. I cant think of another solution for this
                tricky problem.

                Chris

                _________________________________________________________________
                Express yourself with cool emoticons - download MSN Messenger today!
                http://www.msn.co.uk/messenger
              • inderbir_ruby
                Hi Chris, Thanks for the reply but unfortunately the table in my program is not as simple as mentioned in the posting. If i m able to know when the page break
                Message 7 of 9 , Nov 20, 2003
                • 0 Attachment
                  Hi Chris,

                  Thanks for the reply but unfortunately the table in my program is
                  not as simple as mentioned in the posting.

                  If i m able to know when the page break is going to occur then i
                  think i can do something abt it.
                  Any idea abt that..?

                  Thanks ..
                  Inder..





                  --- In XSL-FO@yahoogroups.com, "Chris Bowditch"
                  <bowditch_chris@h...> wrote:
                  > >From: "inder" <inderbir_ruby@y...>
                  > >
                  > >Hi Chris,
                  > >Thanks for ur reply.
                  > >But as mentioned in xsl snippet for-each loop contains row1,
                  > >Row2,Row3 and row4 is outside the loop as it has to be used only
                  > >once .
                  > >
                  > >For an example consider if the data being populated in the for-
                  each
                  > >loop amounts to more than one page then row wud4 appear only in
                  > >second page as row 4 is outside the for-each loop.
                  > >If i put it in the for-each loop it wud appear couple of times in
                  > >the page.But i just want to use it as border line to mark the end
                  of
                  > >page.
                  > >
                  > >I hope i m clear this time.
                  >
                  > Yes you are clear. I think you will need to use something other
                  than a
                  > table-row to get the border line that you want. A table in the
                  region-after
                  > with a top border. Of course, there may be a gap between the last
                  occurence
                  > of row3 and the line itself. I cant think of another solution for
                  this
                  > tricky problem.
                  >
                  > Chris
                  >
                  > _________________________________________________________________
                  > Express yourself with cool emoticons - download MSN Messenger
                  today!
                  > http://www.msn.co.uk/messenger
                • inderbir_ruby
                  Hi , I m stuck at something.I tried diff options but cudn t go thru Well I m using XSL, XSL-FO using FOP to generate PDF. The table below is being populated
                  Message 8 of 9 , Nov 20, 2003
                  • 0 Attachment
                    Hi ,

                    I m stuck at something.I tried diff options but cudn't go thru'

                    Well I m using XSL, XSL-FO using FOP to generate PDF.
                    The table below is being populated by data from XML.

                    Now at the end row (Row4) which is outside of for-each loop , i m
                    drawing a line using border-bottom-style to mark it as end of xsl-
                    region-body.

                    If the data being populated in the for-each loop amounts to more
                    than one page then row wud4 appear only in second page onwards as
                    row 4 is outside the for-each loop.

                    If i put it in the for-each loop it wud appear couple of times in
                    the page.But i just want to use it as border line to mark the end
                    of page.

                    IS there any way thru way i can force the border of the page (Row4
                    of table) to be drawn before the data flows across to next page.


                    <!-- written is xsl-region-body---

                    <fo:table-body
                    <xsl:for-each select="somecondtion"

                    <!-- Row1 --
                    <fo:table-row border-style="none"
                    Value2
                    </fo:table:row

                    <!-- Row2 --
                    <fo:table-row border-style="none"
                    Value1
                    </fo:table:row

                    <!-- Row3 --
                    <fo:table-row border-style="none"
                    Value3
                    </fo:table:row
                    </xsl:for-each>

                    <!-- Row4 outside for-each loop -->
                    <!-- This row is used to draw a border line -----
                    <fo:table-row border-bottom-style="solid" border-width="1pt"
                    </fo:table:row

                    </fo:table-body


                    Thanks in advance and please help me with early reply.
                    Inder..
                  • J.Pietschmann
                    ... If you want a line at the end of the body region on each page, then don t put it into the flow, that s what static content is for. Define a region after
                    Message 9 of 9 , Nov 20, 2003
                    • 0 Attachment
                      inderbir_ruby wrote:
                      > Now at the end row (Row4) which is outside of for-each loop , i m
                      > drawing a line using border-bottom-style to mark it as end of xsl-
                      > region-body.

                      If you want a line at the end of the body region on each page, then don't
                      put it into the flow, that's what static content is for.
                      Define a region after and put a leader in it:

                      <fo:layout-master-set>
                      <fo:simple-page-master master-name="whatever" ...>
                      <fo:region-body margin-bottom="4cm"/>
                      <fo:region-after extent="4cm">
                      </fo:simple-page-master>
                      ...

                      <fo:page-sequence master-reference="whatever" ...>
                      <fo:static-content flow-name="xsl-region-after">
                      <fo:block>
                      <fo:leader leader-length="100%" leader-pattern="rule"/>
                      </fo:block>
                      </fo:static-content>
                      ...


                      J.Pietschmann
                    Your message has been successfully submitted and would be delivered to recipients shortly.