صفحات XSL-FO

XSL-FO از قالب‌های صفحه به نام "Page Masters" برای تعریف چیدمان صفحه استفاده می‌کند.

قالب‌های صفحه XSL-FO

XSL-FO از قالب‌های صفحه به نام "Page Masters" برای تعریف چیدمان صفحه استفاده می‌کند. هر قالب باید یک نام منحصر به فرد داشته باشد:

<fo:simple-page-master master-name="intro">
  <fo:region-body margin="5in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="left">
  <fo:region-body margin-left="2in" margin-right="3in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="right">
  <fo:region-body margin-left="3in" margin-right="2in" />
</fo:simple-page-master>

در مثال بالا، سه عنصر <fo:simple-page-master> سه قالب مختلف را تعریف می‌کنند. هر قالب (page-master) نام متفاوتی دارد.

اولین قالب نام‌گذاری شده به "intro" است. این قالب می‌تواند به عنوان قالب معرفی صفحه استفاده شود.

دومین و سومین قالب نام‌گذاری شده به "left" و "right" هستند. این‌ها می‌توانند برای صفحات شماره‌های حتی و غیرصحیح استفاده شوند.

اندازه صفحه XSL-FO

XSL-FO از属性 زیر برای تعریف اندازه صفحه استفاده می‌کند:

page-width
تعریف عرض صفحه
page-height
تعریف ارتفاع صفحه

حاشیه صفحه XSL-FO

XSL-FO از属性 زیر برای تعریف حاشیه صفحه استفاده می‌کند:

margin-top
تعریف حاشیه بالا
margin-bottom
تعریف حاشیه پایین
margin-left
تعریف حاشیه سمت چپ
margin-right
تعریف حاشیه سمت راست
margin
تعریف حاشیه‌های همه اطراف

مناطق صفحه XSL-FO

XSL-FO از عناصر زیر برای تعریف مناطق صفحه استفاده می‌کند:

region-body
منطقه اصلی تعریف شود
region-before
منطقه بالا (سر صفحه) تعریف شود
region-after
منطقه پائین (پایین صفحه) تعریف شود
region-start
منطقه سمت چپ (ستون سمت چپ) تعریف شود
region-end
منطقه سمت راست (ستون سمت راست) تعریف شود

توجه:region-before،region-after،region-start و region-end بخشی از منطقه اصلی هستند. برای جلوگیری از پوشش متن این مناطق توسط منطقه اصلی، حاشیه‌های منطقه اصلی باید حداقل برابر با اندازه این مناطق باشند.

تصویر:

مثال XSL-FO

این یک قطعه از یک مستند XSL-FO است که استخراج شده است:

<fo:simple-page-master master-name="A4">
 page-width="297mm" page-height="210mm"
 margin-top="1cm"   margin-bottom="1cm"
 margin-left="1cm"  margin-right="1cm">
  <fo:region-body   margin="3cm"/>
  <fo:region-before extent="2cm"/>
  <fo:region-after  extent="2cm"/>
  <fo:region-start  extent="2cm"/>
  <fo:region-end    extent="2cm"/>
</fo:simple-page-master>

این کد یک "قالب مدل صفحه ساده" به نام "A4" را تعریف می‌کند.

عرض صفحه 297 میلی‌متر و ارتفاع آن 210 میلی‌متر است.

حاشیه‌های چهار گوشه صفحه هر کدام 1 سانتی‌متر هستند.

حاشیه‌های موضوع 3 سانتی‌متر هستند (در هر چهار طرف).

منطقه‌های before، after، start و end هر کدام 2 سانتی‌متر هستند.

در مثال بالا، عرض موضوع از طریق کاهش عرض صفحه از حاشیه‌های چپ و راست و حاشیه‌های region-body محاسبه می‌شود:

297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.

توجه:منطقه‌ها (region-start و region-end) در محاسبات در نظر گرفته نشده‌اند. همانطور که قبلاً توضیح داده شده است، این مناطق (region) بخشی از موضوع هستند.