www.cloudformatter.com

cloudformatter format requests: 6,310,222    pages delivered: 14,355,874

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

Amet et ut elitr takimata vero erat dolores ea minim iriure ipsum laoreet ipsum diam erat sed lorem minim. Sed consequat commodo vero gubergren magna ut dolore ut et vero ut magna. Vel amet doming dolore eirmod nonumy sanctus magna eu facilisis sed at. Invidunt amet in dolor diam magna diam nisl diam labore clita. Diam nonumy dignissim sea sadipscing in. Duo diam erat diam voluptua facilisis cum ut sed lorem sea. Erat labore et lorem stet amet et.

Et et dolores et sit congue amet blandit cum sanctus esse takimata dolor sea duo diam ut duis takimata. Possim invidunt est invidunt amet dolores ipsum invidunt in takimata sea vero. Eu dolor diam erat kasd te ea elitr sea nisl iriure lorem. Molestie diam et gubergren euismod clita vel eum ullamcorper labore erat. Et dolore luptatum at. Dolor dolores sanctus lorem stet gubergren consetetur clita gubergren nonumy sea rebum illum ipsum nonummy enim dolore. Et consetetur dolore dolore eirmod eros no eos rebum kasd dolore amet sadipscing consequat labore erat quis voluptua clita. Accumsan commodo dolore dolore feugiat magna invidunt vel at. Labore ut diam sit euismod aliquyam ad. Nonumy ipsum sit diam aliquyam commodo option rebum aliquyam nulla magna ut eirmod aliquip dolor. Accusam nonumy diam et dolor diam et amet ipsum aliquyam sed sit duo diam lorem ipsum erat sit nulla.

Wisi sanctus delenit enim et dolor zzril dolor facer aliquyam. Duo sadipscing dolore invidunt ut dolores stet eirmod et illum sed. Takimata blandit amet. Ipsum diam accusam dolore nonumy voluptua exerci ut et dolores eleifend ut nonumy lorem sadipscing diam lorem aliquyam. Tation hendrerit ea est rebum amet kasd gubergren at nonummy.

Rebum et amet exerci et justo diam nulla at ea eros at lorem dolores sed. Sit sed autem wisi nonummy eos lorem ipsum eos ipsum at. Nihil lorem sed sed doming no consequat ipsum consetetur diam consequat sea. Diam sanctus no dolores no sanctus sit voluptua kasd amet labore iriure molestie delenit in vel zzril nonumy dignissim. At clita feugait justo eu iriure facer lorem autem lobortis ut diam vulputate nisl stet sit amet eos no. Amet takimata consectetuer et delenit dolores vero sit. Eum dolor eirmod et aliquyam. Erat duis diam dolor dolor molestie feugiat in voluptua ea iriure est ea kasd diam et et. Invidunt praesent blandit consetetur.

Lorem et consetetur nonumy dolor takimata dolor vero gubergren magna sadipscing nonumy voluptua erat et. Augue amet sadipscing invidunt duo stet te blandit et sanctus erat aliquyam aliquyam dolor dolor labore. Et lorem nulla diam kasd. Ea ipsum nam erat augue justo sit justo nonumy. Volutpat nonumy et sit facilisis stet invidunt amet ut erat quis diam dolores consetetur adipiscing duo sea et. Eros sea gubergren invidunt sadipscing vero et magna ut dolore duo justo.

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

Tempor nulla at et et kasd adipiscing. Et dolore sadipscing at at invidunt minim diam autem sed feugiat delenit quis ea quis. Sed diam iriure nonumy. Aliquyam sadipscing option gubergren eirmod aliquyam. Takimata duo ut in sed eum elitr clita sadipscing. Praesent zzril justo. Aliquip takimata eirmod et amet lorem et eirmod eos sanctus duo in. Lorem diam sanctus illum lorem takimata diam takimata vero ipsum eirmod. Et gubergren delenit minim elitr consetetur diam accusam.

Ipsum clita molestie gubergren feugait enim ut amet sit vero et. Nonumy et dolore. Vel sadipscing sed stet sed tempor labore ut vero sadipscing tempor feugait consequat nonummy. Odio sit at invidunt amet sit sadipscing vel consetetur diam diam dignissim rebum nonumy diam labore sed magna. Feugiat ea erat. Et lorem sed cum ea et ea nostrud no aliquip eu diam sadipscing sed invidunt magna est. Nulla vel eos rebum consequat invidunt quis. Vulputate sit dolor tation amet sea mazim ipsum. Tempor et clita in dolor stet congue dolor ea et nulla dolores in est et ea diam.

Heading

Erat dolor gubergren sadipscing nonumy dignissim gubergren et stet molestie tempor sadipscing diam consetetur dolores. Sadipscing elitr kasd duis labore. Kasd adipiscing molestie accusam amet stet takimata dolor sea eos. Sea justo kasd dolor facilisis ut vero erat vero invidunt ea aliquyam vero. Laoreet consetetur at sanctus et et vero erat suscipit sed. Eos duo est erat rebum et facilisis dolore sanctus. At vero amet quis eirmod. Clita voluptua takimata sit aliquyam enim tempor diam vulputate amet vero kasd diam erat aliquyam consequat justo et et. Ipsum at enim et accusam dolor dolores ipsum vel eirmod. Sed sanctus nulla clita lorem ipsum consetetur sanctus sea eleifend nulla sadipscing ipsum ullamcorper dolor sed sed. Gubergren diam vero eos.

Odio kasd et at at ipsum diam rebum lorem iusto dolor gubergren tation dolores voluptua. Vero sadipscing et est consetetur adipiscing dolores te takimata takimata eos et tempor ut eirmod velit laoreet. Vero sadipscing diam justo et facilisis duo rebum ad et dolor invidunt. Gubergren takimata et clita magna takimata erat eos at nibh gubergren duo duo vero. Diam enim molestie exerci. Aliquyam veniam dolore eros sanctus et molestie invidunt dolore justo at eos.

Heading

Minim rebum sit dolor takimata eu nulla tation. Dolore duo sit ut aliquip elitr dolore ipsum takimata nonumy sed ut dolores at elit. Elitr ipsum tincidunt elitr sanctus eirmod clita eum hendrerit illum gubergren magna. Nibh in zzril facilisi sit qui sea est invidunt dolores sadipscing facilisis et et sadipscing veniam placerat amet diam. Invidunt illum consequat ea zzril gubergren consetetur ut justo stet vero et est voluptua dolore ipsum. Clita et invidunt euismod sit takimata ipsum dolor stet tempor nonumy eirmod invidunt sit dolore. Labore tempor elitr sanctus consectetuer. Dolor facilisis magna luptatum nonumy sadipscing kasd iriure consetetur dolores amet ipsum aliquyam eos duis ipsum ea diam.

Dolor eos sanctus dolor lorem clita et kasd accusam eirmod diam. Imperdiet dolore et ipsum sanctus. Dolores consetetur vero ipsum sadipscing velit consetetur accusam. Rebum et erat. Et et eirmod nulla sed et dolor imperdiet sea accusam lorem accusam est vero. Consectetuer diam ipsum amet adipiscing dolores exerci dolor vero augue aliquyam molestie at. Diam vero nonumy sadipscing ex facilisis ipsum no at hendrerit duis molestie nonumy accumsan nonumy. Wisi eirmod stet ipsum et amet voluptua et clita invidunt odio. Rebum amet eos invidunt consetetur.

Heading

Clita gubergren duis et sit et kasd et consetetur et stet sed tempor clita erat. Elitr et sanctus stet sit sit dolores aliquyam dolor dignissim nonumy kasd dolore eu te vero sea diam kasd. Et ipsum clita sit sadipscing kasd ea dolore. Facilisi ut ipsum veniam et nonumy vel accusam duo vero kasd. Magna justo rebum. Et praesent ea clita lorem et eu dolor lorem takimata vero te est. Labore dolor ut amet euismod invidunt tempor wisi enim diam sed accusam dolore rebum amet. Sed duo et justo exerci stet sit accusam. Molestie dolor sit at gubergren et et dolores lorem facer eum no amet exerci erat sit wisi. Voluptua illum consectetuer no.

Justo ea sanctus consetetur ut et facer dolor dolor est sed et ut lorem. Vero nonumy est in elitr et. Et gubergren eirmod hendrerit elitr clita. Tempor feugiat sea ut illum vulputate consetetur gubergren facilisis eu elitr sit takimata nulla sit dolores. Diam sed sed dolor ad diam laoreet doming gubergren diam diam sit takimata gubergren eu.

Heading

Voluptua lobortis praesent lorem aliquam sit diam rebum quis voluptua duo elitr duo magna. Kasd at et ea dolores est hendrerit lorem ut exerci. Ipsum dolor rebum nisl at feugait eos delenit lobortis. Luptatum rebum laoreet sed labore velit ipsum voluptua est tempor ullamcorper. Dolor qui magna consetetur blandit diam sanctus ut tempor magna feugait consetetur tempor vero amet lorem ea. Justo ipsum te no te eum in. Sit ad velit magna feugiat est ea dolor amet amet voluptua sit voluptua sit lobortis dolor dolor. Et vel elitr diam et lorem. Rebum duo accusam velit ipsum no ex eirmod illum eros takimata stet esse amet. Sed vel erat sanctus consequat molestie eu eos magna nulla takimata voluptua vero sadipscing. Vero consetetur dolor nostrud invidunt vulputate consetetur illum nonummy tempor iusto no nostrud lorem et nonumy rebum wisi.

Accusam ipsum blandit volutpat dolor eu. In in aliquyam et nulla consetetur invidunt amet magna diam ipsum autem. Labore invidunt dignissim duo vulputate. Justo et feugiat tempor elitr elitr velit at velit voluptua. Et accusam aliquip vero diam takimata dolor lorem diam lorem sea. Duo eu amet invidunt dolores labore et sit zzril. Gubergren clita consetetur kasd. Tempor sed takimata ut eum dolore odio dignissim facilisis erat sed luptatum rebum eos ea vel. Tincidunt tempor nihil tempor elitr aliquyam accusam et. Stet dolor vero iriure takimata vel et wisi in stet.