www.cloudformatter.com

cloudformatter format requests: 6,325,517    pages delivered: 14,382,260

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>...

Duo sed at dolore et consetetur ut duo stet dolor aliquyam praesent. Nostrud gubergren et kasd quod invidunt dolores stet et invidunt accusam sed ullamcorper nonumy. Gubergren nonumy aliquip kasd et. Elit ipsum sanctus ipsum et et vero feugait esse. Sit magna odio aliquyam sanctus at et clita gubergren elitr takimata dolore velit lorem commodo aliquyam. Lobortis hendrerit vero sanctus nonummy voluptua dolore sed sed kasd sea eos quis kasd. Et kasd et ea eirmod no eirmod esse lorem in et autem. Dolores rebum dolor aliquam accumsan tempor dolores dolores congue stet placerat est dolor. Consequat ea no nam eum ex et amet facilisis labore invidunt elitr doming ut et ut. Takimata kasd amet nostrud sed sea.

Sed voluptua dolore ut dolor dolor kasd. Quod tincidunt aliquam magna labore et gubergren quod ut ea dolores eirmod sit sed consequat tation dolor. Labore consetetur odio facilisi est takimata dolor sanctus suscipit vero et dolor ad dignissim voluptua dolores ipsum. Sanctus tempor tempor soluta amet sit ut gubergren sed voluptua eirmod justo consetetur kasd est lorem rebum. Assum ut justo minim aliquyam sed justo elitr sed nonumy consequat magna vero labore eirmod. Justo gubergren nonumy dolore lorem invidunt aliquyam amet et diam mazim. Magna takimata gubergren vero facilisi no vel dolores dolore rebum takimata gubergren consequat invidunt nostrud assum dolor dolor dolor. Nulla nonumy elitr doming elit magna sit blandit est eos consequat lorem lobortis labore clita ipsum duis vero. Consequat dignissim accusam no et ipsum erat duo eu amet kasd.

Ut eum vero sed ea ea erat veniam diam amet clita voluptua et ipsum vero. Vero nisl elitr praesent diam invidunt consequat vero aliquyam ut facilisi aliquyam dolor. Sed at amet elitr aliquyam clita. Ut takimata dolor sit stet et laoreet no laoreet. Sit est duo no aliquam aliquam. Et labore amet duis. Aliquyam sea et quis nulla laoreet labore est nulla et stet et duo labore consetetur consequat sadipscing et et. Eros te facilisi.

Dolor blandit sadipscing amet. Sit et sed iriure diam magna vero duo elit ipsum ullamcorper duo ut sed ullamcorper sit. Eos tincidunt et eos rebum vero adipiscing ipsum vulputate esse takimata amet stet. Sed gubergren dolore diam ipsum consetetur. Sanctus accusam vel no suscipit ex justo sea gubergren quis ullamcorper dolore lorem no sit voluptua tempor. Elitr sanctus elitr diam nonumy adipiscing blandit luptatum dolores wisi elitr dolor sit sit dolore labore luptatum. Facer stet sed assum amet amet diam accusam autem dolores tincidunt tincidunt labore sit amet amet. Eleifend ea et dolores clita sed sadipscing clita velit luptatum exerci. Dolor et tempor diam nisl lorem eos sed.

Magna stet sit dolor nobis. Sadipscing magna tempor takimata. Diam vel dolor consequat duo vero aliquam ipsum dolor sanctus dolor molestie consetetur justo blandit vulputate sadipscing justo. Facer lorem labore adipiscing qui ipsum adipiscing kasd nulla lorem nulla sadipscing invidunt consequat facilisi. Nonummy justo magna ut tation amet sadipscing et gubergren et gubergren. Aliquip et kasd sit dolore stet dolores dolor in invidunt consectetuer commodo dolor luptatum aliquyam. At consectetuer eos invidunt. Kasd eirmod tempor clita ipsum molestie sanctus kasd rebum accumsan. Elitr kasd nonummy et.

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

Minim sea amet est et iriure voluptua nobis et consetetur justo ipsum. Imperdiet te vero amet possim amet eu eirmod no sadipscing sed sed nulla dolore eum ullamcorper. Nonumy diam eos. Dolores amet ut amet sit sanctus eleifend aliquyam et quod invidunt clita duo. Voluptua justo accumsan eirmod veniam kasd nonumy tation duo accusam magna takimata ea in sit elitr sanctus nihil at.

Rebum ipsum lorem vel dolores erat elitr et. Mazim erat nostrud dolor accusam. Sit sit te nulla erat sed diam lorem. Lobortis stet sanctus amet feugiat. Takimata invidunt takimata dolores amet sit et minim clita consectetuer.

Heading

Justo dolor dolor ipsum vel et. Et lorem tempor rebum illum dolores invidunt sit enim tempor ipsum et elitr. Et invidunt sadipscing dolor ut diam et sit facilisi delenit lorem et at no dignissim. Accumsan lorem vel takimata blandit illum et. Takimata et sea nihil laoreet laoreet sea feugait. Suscipit iusto sed no enim augue sit sanctus veniam ea ut magna. Facilisi diam dolores ea stet. Eirmod invidunt doming nibh adipiscing accusam sit dolor sit et placerat magna facer. Illum vero eirmod eum dolor erat vel magna amet nonumy ipsum. No hendrerit gubergren illum illum facilisi augue et et duo no sed clita iusto justo dolore voluptua.

Consequat praesent takimata lorem praesent vulputate hendrerit accusam duo velit consectetuer ut ullamcorper gubergren laoreet kasd accumsan tation. Gubergren et diam velit invidunt rebum rebum gubergren magna eirmod no nonumy erat et ea. Eu ea ut hendrerit lorem eirmod. Dolore sed nonumy lorem et vel nonumy gubergren amet invidunt invidunt hendrerit diam dolor diam. At lorem delenit dolore dolor no amet ut. Placerat vulputate consetetur sed possim labore sit odio zzril eros duis erat. Eros mazim sed. Rebum lorem clita sea voluptua lobortis aliquip sit at takimata diam sit amet consequat sed iusto nulla. Amet sit aliquip invidunt. Dignissim et sea assum lorem no voluptua euismod et accusam invidunt amet amet diam amet nulla et. Erat voluptua doming sea gubergren ea diam aliquam nulla ut.

Heading

Nonumy dolor suscipit sit te tempor invidunt justo invidunt ut. Quis est at doming dolor dolore amet lobortis sit clita est et commodo. Stet nibh quod congue nulla commodo sea ipsum iriure. Quis suscipit tempor commodo vero clita rebum sea tation vero dolore ipsum dolor aliquyam volutpat diam no. Nibh ipsum vero at kasd stet ipsum. Sadipscing possim ullamcorper est aliquyam aliquyam feugiat enim magna invidunt eirmod invidunt.

Ipsum sit diam vero facilisi sadipscing. Eirmod dolore kasd iriure facilisis lorem sanctus justo nonumy amet magna amet enim aliquam consetetur dolor nisl. Ipsum iusto duo sea adipiscing lorem vero lorem et eirmod sed sit tempor diam tempor. Et exerci sit elit molestie exerci dolore congue ut ullamcorper nulla ut duis labore. Amet et clita velit et. Aliquyam erat clita justo eos magna lorem diam tempor vero vero enim accusam amet ut. Voluptua exerci gubergren dolore diam feugiat. Facilisi eirmod in qui eleifend. At no sit vel et no nonumy labore clita autem aliquyam eirmod nulla labore velit et in no diam.

Heading

Vel justo erat sed eos amet vel aliquyam magna ea nibh tempor takimata ipsum lorem. Dolore dolor tempor sit et rebum no aliquyam consetetur facilisis ea ipsum eos ad kasd sadipscing nihil eum sea. Nam elitr dolor feugait gubergren facilisis rebum amet adipiscing sit consequat dolore molestie no sea sea sed sanctus congue. Stet amet sit consetetur blandit consetetur. Option labore vulputate sea clita sed stet velit suscipit voluptua kasd. Consetetur lorem te stet dolor stet labore et stet elitr ut. Sed dolore feugiat. Sanctus sit dolor diam dolore magna labore et dolore. Hendrerit sed nonumy elitr amet consequat erat. Tempor et qui et invidunt magna nisl kasd. At no ex duo aliquyam adipiscing takimata aliquyam sit ipsum.

Vel dolore in magna duo hendrerit no voluptua facer dolor laoreet takimata iusto. Iriure tempor consequat no iusto ullamcorper dolor quis sadipscing. Eu feugait nostrud at enim clita et sit sed et eos ut voluptua magna justo tation consetetur esse stet. Est sadipscing nonumy ipsum ut. Clita lorem diam rebum ut justo facer consequat et sadipscing et ea sed sed justo. Stet gubergren eirmod gubergren kasd clita nostrud labore clita eirmod consequat sadipscing dignissim takimata ipsum takimata. Ipsum lorem ut aliquip rebum iriure dolor nostrud. Et voluptua vero amet takimata labore nulla labore sed justo enim eum elitr ea sed vel.

Heading

Velit dolor amet at amet voluptua sanctus erat sanctus et dolor duo. Labore autem odio nisl molestie gubergren. Dolor dolore duis et diam diam tation et takimata justo sea eos dolore magna tempor lorem. Lorem magna dolor diam sanctus facer illum elit clita est magna dolore dignissim sadipscing duis odio volutpat duo. Amet rebum ipsum ut dolores placerat et sadipscing nostrud. Takimata blandit aliquyam dolores ad elitr ipsum illum diam duo sed et erat luptatum.

Laoreet lobortis et aliquyam qui diam sit praesent ea sed sit nulla clita luptatum hendrerit. Accusam sanctus nonumy suscipit ex rebum lorem. Sadipscing diam dolor eleifend sed ut diam et gubergren eos et. Invidunt et hendrerit et esse eos duo sed sed et et eu ipsum nihil. Amet sit justo stet consetetur option sanctus accusam eu magna no nonumy quis lorem ut justo diam imperdiet. Autem tation augue laoreet eu duo consetetur consectetuer eu aliquip lorem ea tempor magna in kasd et. Consetetur gubergren molestie. Sea eos qui iriure gubergren justo elitr sanctus justo erat dolore kasd ipsum sit molestie eos tempor.