user2130400
user2130400

Reputation: 11

how to align the content in xsl using fo block

Im very new to xsl coding. I want the output in below format. a,b,c should be aligned in same line and content alone should be in same line. How to get this using fo block. Please help.

a. För att undvika missbruk av Kontot ska Kortmedlemmen
   signera Kortet omedelbart vid mottagandet
b. För att undvika missbruk av Kontot ska Kortmedlemmen
   signera Kortet omedelbart vid mottagandet
c. För att undvika missbruk av Kontot ska Kortmedlemmen
   signera Kortet omedelbart vid mottagandet

Upvotes: 1

Views: 909

Answers (2)

Mike Sulyaev
Mike Sulyaev

Reputation: 1

Use a list-block :-

Example :- http://www.renderx.com/tutorial.html#Lists

Upvotes: 0

ljdelight
ljdelight

Reputation: 486

If you want the content aligned all you need is three separate fo:blocks since they are block-elements like html div. But eventually you may want more flexiblity in your lists and would use an fo:list-block.

I created a simple fo to show two methods: three fo blocks vs the fo:list-block. The fo:list-block is great if you have an xsl driver.

Since you're new to xsl-fo, whenever you have a question about an element look it up at [1]. Seriously. Example: below I use provisional-distance-between-starts which is magic until you find it described at [2].

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Times Roman" font-size="10pt">

<fo:layout-master-set>
    <fo:simple-page-master margin-right="0.5in" margin-left="0.5in" margin-bottom="1in" margin-top="1in" 
        page-width="8.5in" page-height="11in" master-name="main">
      <fo:region-body margin-top="1cm"/>
      <fo:region-before extent="1cm"/>
      <fo:region-after extent="1.5cm"/>
    </fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="main">

  <fo:flow flow-name="xsl-region-body">

    <fo:block>a. För att undvika missbruk av Kontot ska Kortmedlemmen signera Kortet omedelbart vid mottagandet</fo:block>
    <fo:block>b. För att undvika missbruk av Kontot ska Kortmedlemmen signera Kortet omedelbart vid mottagandet</fo:block>
    <fo:block>c. För att undvika missbruk av Kontot ska Kortmedlemmen signera Kortet omedelbart vid mottagandet</fo:block>

    <fo:list-block start-indent="0.5cm" space-before="0.2cm" provisional-distance-between-starts="0.7cm">
      <fo:list-item margin-top="0.1cm">
        <fo:list-item-label end-indent="label-end()">
          <fo:block>a.</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>För att undvika missbruk av Kontot ska Kortmedlemmen signera Kortet omedelbart vid mottagandet</fo:block>
        </fo:list-item-body>
      </fo:list-item>

      <fo:list-item margin-top="0.1cm">
        <fo:list-item-label end-indent="label-end()">
          <fo:block>b.</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>För att undvika missbruk av Kontot ska Kortmedlemmen signera Kortet omedelbart vid mottagandet</fo:block>
        </fo:list-item-body>
      </fo:list-item>

      <fo:list-item margin-top="0.1cm">
        <fo:list-item-label end-indent="label-end()">
          <fo:block>c.</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>För att undvika missbruk av Kontot ska Kortmedlemmen signera Kortet omedelbart vid mottagandet</fo:block>
        </fo:list-item-body>
      </fo:list-item>

    </fo:list-block>
  </fo:flow>
</fo:page-sequence>

</fo:root>

[1] http://www.w3.org/TR/xsl/ [2] http://www.w3.org/TR/xsl/#provisional-distance-between-starts

Upvotes: 1

Related Questions