www.cloudformatter.com

cloudformatter format requests: 6,316,813    pages delivered: 14,367,063

Pass-Through XSL FO Styling

xportability LLC

Pass-Through XSL FO Styling

http://www.cloudformatter.com

Note:

We implemented the spacialized attribute fostyle to carry this information. Because the browser just ignores this, you must be careful to structure it correctly for processing. The proper structure is name: value; noting that the ":" after name is followed by a space and the ";" between items is also followed by a space.

In some instances you may wish to pass through XSL FO attributes that are not supported in HTML. This is an example, while the text in the HTML has a brown color applied, we have applied a CMYK color for the PDF generation through the use of the fostyle attribute. All fostyle attributes are applied after HTML css and also after direct attributes and override those in the HTML. This paragraph also has text-align justify in the HTML and font-stretch, font-size-adjust and hyphenate in the PDF output. The fostyle attribute is attached right in the HTML, just like style and uses the same structure internally as style.

The code for the paragraph above looks like this:

<p style="color: brown; text-align:justify;"
    fostyle="text-align-last: left; 
    font-stretch: wider; 
    font-size-adjust: 0.6; 
    hyphenate: true; 
    color: rgb-icc (255, 255, 0, #CMYK, .1, .2, .7, .5);">In some instances ...

Keeps of Various Kinds

Another common use for passing through custom elements is for properties that have specific meaning in a pagination situation like "keeps". There are several forms of keeps that can help you organize content so it is glued together as you like it.

The following are the most commonly used keeps:

  • keep-together.within-page: set to "always" and used to keep a block of content always together in a single page
  • keep-with-next.within-page: set to "always" and used to keep a block of content glued to the next one always together in a single page
  • keep-with-previous.within-page: set to "always" and used to keep a block of content glued to the previous one always together in a single page
  • keep-together.within-line: set to "always" and used to keep a span of content glued always together in a single line

The following shows some demonstrations of these capabilities.

Keeping Together Within a Page

This paragraph, the instructions and the following three para's of LoremIpsum text are surrounded by a <div> with keep-together.within-page as always, like this:

<div fostyle="keep-together.within-page: always;">
    <p>This paragraph, the instructions and the following five para's of LoremIpsum text are surrounded 
    by a <div> with "keep-together.within-page" as "always", like this:</p>...

Sit eirmod justo lobortis ipsum voluptua dolor justo at magna erat eirmod et lorem sit erat rebum lorem. Duis kasd nonumy erat et aliquyam laoreet eirmod. Stet et sea dolor ipsum consetetur illum eirmod ipsum elitr at aliquyam duo justo dolor suscipit. Takimata rebum accusam autem ad justo invidunt lorem illum at. Takimata ea diam lorem tempor feugait dolore sadipscing elitr et accusam nostrud ea sea ipsum lobortis nonumy sit. Sed sit accusam stet vero sea amet eu sea diam dolore ipsum sit lorem nisl stet. Eu feugait sadipscing et eirmod sadipscing amet kasd suscipit. Voluptua sea ea duis et ipsum ipsum est consetetur duo ea. Sed eirmod lorem vero eu et sit justo ipsum nonummy doming wisi at qui lorem. Ipsum sed diam et sit nonumy minim accusam kasd labore sit.

Amet sit consetetur ipsum kasd ex velit autem ea rebum aliquyam. Invidunt voluptua at stet lorem erat sanctus amet clita dolor et sed dolore lobortis invidunt. Erat nulla vel vero takimata dolor et. Praesent volutpat sed et dolore amet est rebum euismod kasd luptatum nobis duis sea duis. Diam consetetur tempor elitr dolor ea et sanctus sit sit sit ut in sanctus.

Ipsum vel sit amet nonumy diam dolor dolores dolor vel ut et ipsum ut no eirmod justo. Labore sit dolores diam ut sit praesent sed sit esse facilisis erat voluptua vero diam praesent commodo. Clita sit elitr sit sadipscing consequat sit sit feugiat dolor lorem eu tempor aliquyam. Et et takimata amet at ipsum erat dolore ipsum ut dolores nonumy. No clita dolore accusam accusam in voluptua sanctus est et justo nulla dolore iusto accusam. Esse duo commodo. Tempor qui ut labore et et eirmod commodo vel gubergren. Hendrerit dolor ut lorem justo augue et doming ea lorem tincidunt et est esse. Dolor et sea ullamcorper consetetur odio tempor magna vero ut diam dolor et luptatum ea sadipscing sadipscing nibh et. Dolor erat et invidunt amet est sed et aliquyam nonummy lorem nulla.

Amet dolore tempor eirmod amet accumsan. Accumsan kasd rebum hendrerit. Sed erat duis dolor dolor in et. Amet illum sanctus eos lorem assum ea dolor sed enim at erat sit nulla. Est dolores est amet magna ullamcorper at. Diam vel sed consetetur sea est consequat elitr elitr dolore dolore. Dolore at et facilisi aliquyam voluptua ut ea kasd lorem eu stet accusam sadipscing at exerci aliquyam sit. Diam no clita ut vel et erat nonumy gubergren laoreet dolore praesent amet dignissim consequat eos et sit luptatum. Sanctus est rebum eirmod consequat ea volutpat eos.

Vero feugiat imperdiet. Sadipscing ipsum et feugiat placerat sit dolor invidunt dolores velit iriure accusam. Et eum ipsum sit feugiat rebum dolor ipsum cum. Feugait iriure dolore accusam. Est diam praesent diam est. Dolore vel ipsum sit vero sed sed ipsum diam sea iriure eirmod lorem. Aliquyam aliquyam labore consetetur et amet at facilisi sea vero sed sea amet amet eu duis. Lorem kasd invidunt zzril ipsum amet sed at ut vel delenit amet suscipit ut illum erat dolor voluptua vero. Exerci sea velit rebum est invidunt diam ipsum et nihil lorem. Aliquam invidunt esse dolores labore quis magna no tincidunt dolor dolor. Rebum at odio.

Thus all of this content from the header through this paragraph is together on a single page.

Keep Heading with Para and Table

A common practice in print documents is keeping together headings and some of the following lines of a paragraph so no heading is orphaned at bottom of a page and at least a few lines of text from any paragraph stay together.

What follows this are a series of headings and LoremIpsum paragraphs. The headings all have "keep-with-next.within-page" as "always" which will at least glue them to the paragraph. The paragraphs all have widows of "3" and orphans of "3" which will attempt to glue together at least three lines of paragraph at the bottom and top of any page. The LoremIpsum paragraphs are randomly generated on refresh of the page so you can test various layouts just by refresing and printing again.

Heading

Facilisis et justo takimata dolor consectetuer vel nonummy est te nulla accumsan elitr no takimata amet. Duis justo feugiat rebum consetetur ut amet nibh sed ut gubergren et amet diam ea elit sit amet. Justo facilisis nibh ipsum sanctus exerci clita ea clita possim et sadipscing feugait. Et facilisis ut aliquyam et vel amet vero stet justo diam iusto dignissim ut rebum aliquyam at diam elitr. Id ipsum invidunt. Vulputate est dolore est no diam augue at qui amet aliquyam dolores eos justo erat. Consetetur amet commodo. Voluptua dolor lorem elitr sit hendrerit wisi no volutpat facilisis duis vulputate tincidunt tempor.

Lorem tincidunt ipsum eos accumsan. Lorem justo sed dolor volutpat diam clita invidunt ut eirmod diam duis justo tation dolor sed est. Hendrerit lorem sadipscing nonumy justo vero ut amet veniam sit ipsum dolor dolor tincidunt. Diam lorem labore dolores ipsum accusam sed. Aliquyam vel stet sea aliquyam rebum commodo zzril consequat et gubergren lorem et sea rebum veniam commodo et. Feugait lorem at et invidunt lorem sed duis elitr sit velit et. Dolores sanctus nonummy ad diam lorem tempor magna stet elit sit nihil tempor. Congue dignissim invidunt est enim et erat adipiscing dolore lobortis veniam gubergren est ipsum. Consetetur et accumsan diam tation magna ipsum amet erat assum tempor ad. Imperdiet diam vero est ea ullamcorper lorem hendrerit sanctus stet sanctus ex lorem ad. Diam ipsum sit consetetur et nostrud molestie dolor sed takimata amet dolore zzril sadipscing praesent illum magna nonumy.

Heading

Consetetur sed takimata et no odio te eirmod tempor ea accumsan diam eirmod accumsan ut ut eirmod. Eirmod quis no takimata vel ipsum eirmod sea elit dolores labore imperdiet vero clita lobortis sed magna minim. Accusam aliquyam sit duo. Gubergren quod dolore duo lorem sed at invidunt dolor eirmod dolores adipiscing erat molestie autem no. Lorem eirmod sanctus et ullamcorper sadipscing eum lorem lorem diam lorem dignissim dolores rebum erat dolore feugait aliquyam. Consequat justo erat nulla elitr ipsum lorem dignissim consetetur voluptua amet nulla et tempor sed diam. Laoreet ut clita zzril invidunt no. Vel nam dolore magna at ad invidunt lobortis euismod id id vero vero aliquyam. Stet quis elitr. Sed et sit aliquip elit nonumy invidunt.

Feugait gubergren ullamcorper duis ut labore consetetur consequat vulputate dolor sit dolor invidunt sit sit takimata clita ipsum invidunt. Odio et gubergren iriure ipsum invidunt sanctus magna sit. No eirmod stet et. Zzril nonumy ipsum dolore. Et labore id facilisi. Hendrerit esse eros lorem eos.

Heading

Illum labore eirmod in sit rebum sadipscing labore erat clita labore. Consetetur vero eirmod exerci dolor est ea no accusam dolor. Laoreet doming tempor eum rebum commodo lorem et esse. Nostrud vulputate aliquyam aliquip at ea at lorem dolore kasd. Et sea quis nisl sanctus lorem dolore sed rebum sed doming sanctus ut kasd elitr stet invidunt stet. Rebum autem aliquyam et ipsum dignissim. Takimata autem diam consetetur gubergren quis esse mazim nonumy assum placerat. Hendrerit labore nulla. Et ut rebum magna sit lorem amet aliquip lobortis gubergren lobortis ipsum.

Invidunt consetetur dolor erat elitr erat eirmod ipsum duis invidunt accusam gubergren nisl eos sed sit. Facilisi diam erat iusto duo hendrerit. Takimata duo clita takimata odio sit ipsum tempor. Justo ut erat eirmod et sed aliquyam wisi eirmod eos erat gubergren invidunt ut gubergren kasd amet esse. Sea et zzril consequat est dolor wisi sea sit ea et duis dolore soluta sit sit et gubergren. Amet zzril sadipscing augue amet id feugait augue lorem amet dolor dolor kasd aliquyam. Sed ea et et euismod vero. Labore aliquyam dolores lobortis sadipscing diam nibh facer ea invidunt sit invidunt.

Heading

Ea magna magna elitr magna wisi eros ut commodo dolor nonumy. Stet eos aliquyam lorem lorem soluta sit amet consectetuer delenit nonummy sed dolore diam eirmod. Labore duis sit vero et clita wisi rebum placerat at amet sed augue voluptua duis rebum. Nonumy ipsum nisl te dolores clita. Accusam sed et duo nonumy sit velit diam nulla minim sea dolor. Labore nostrud sadipscing nibh illum.

Sed consetetur diam sanctus amet dolore sed dolor in cum lobortis dolores diam erat ipsum dolore. Magna euismod ipsum invidunt sea sed invidunt praesent vel at duo amet voluptua voluptua. Sadipscing takimata voluptua. Nonummy rebum ut. Consetetur kasd euismod diam est diam at gubergren erat rebum sed amet gubergren lorem consetetur et rebum duis facilisi. Takimata gubergren dolor volutpat eros diam in et sit voluptua dolor dolor.

Heading

Feugiat in ipsum ut ea tincidunt eirmod rebum tempor aliquyam eos. Et aliquyam stet voluptua stet labore elitr rebum labore. No kasd duo sea kasd ipsum elitr accusam erat sea. Feugait vel aliquam ut magna dolore aliquyam eu tincidunt et et invidunt voluptua. Diam takimata eros rebum sit consetetur.

Consetetur ut lorem labore vero amet et sanctus et dolor accusam ea et consetetur stet. Luptatum ipsum amet et facer voluptua diam vero iriure gubergren diam consectetuer wisi sea imperdiet dolores ea et. Duo feugiat dolor sea nisl ex tempor takimata et ea. Euismod eum at ut erat lorem ipsum sit. Justo magna aliquyam te dolor duo blandit. Sea vero lorem et lorem rebum erat amet tempor consetetur elitr adipiscing qui et. Gubergren et ut ut et sit gubergren erat duo ea imperdiet illum ipsum dolor molestie kasd. Magna autem lorem quis kasd nam euismod magna illum sea consetetur accusam takimata duo gubergren amet diam lorem no. Ea rebum ad dolor sadipscing invidunt lorem et dolore feugait no duis labore takimata duo elitr et possim elit. Sed labore et ullamcorper et diam clita ea lorem dolore iusto dolore diam lorem et duo.