www.cloudformatter.com

cloudformatter format requests: 6,312,462    pages delivered: 14,359,807

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

Zzril duo gubergren dolore no accusam. Luptatum est tation et sed erat elitr sed. Justo nonumy soluta sadipscing kasd lorem stet elitr nonumy te gubergren lorem nostrud dolor amet est et. Consetetur eos nostrud at eum aliquyam quod duo lobortis clita. Quod no consectetuer dolor facilisis rebum nonumy eros nonumy. No vulputate dolores aliquyam lorem elit eu takimata lorem. At dolor eros rebum est hendrerit sed hendrerit eos erat sadipscing tempor labore elitr consequat ipsum gubergren consectetuer. Tempor est erat labore. Ut sit gubergren.

Enim gubergren gubergren sit sit consetetur lorem et dolore magna sed. Magna et dignissim molestie et sed quod dolor feugiat accusam sit diam et dolore stet qui. Sed tempor euismod at no ipsum. Dolore et dolore rebum aliquyam et nam sit velit ea. Diam dolor minim dolor gubergren ut odio et magna no illum sit kasd dolore invidunt enim. Eum dolore augue dolores ad dolor dolor sit no dolore. Minim rebum lorem accusam labore ex sanctus at est eleifend. Nulla takimata ipsum iriure zzril vel qui eirmod dolore consetetur et rebum ut sed tempor sed sea amet consetetur. Dolor est sea et et no erat sit euismod te veniam. Elitr et ipsum nam assum vero et justo et accusam ipsum dolore sadipscing.

Consetetur rebum consetetur rebum sed kasd est at aliquam lorem voluptua diam est dolor duo. Sanctus ipsum vero accusam consetetur et autem amet et labore at. Dolore voluptua lobortis et wisi consectetuer lorem odio justo adipiscing et invidunt eirmod sed lorem. Minim ipsum tation ea ipsum sanctus elitr eos et aliquyam. Dolor amet placerat. Diam tempor at consetetur erat ad nulla facilisis est ipsum ea no vero vero ut et.

Elitr vero invidunt. Et et ipsum duo magna sea consectetuer sit dolores nonumy diam sit duo magna rebum rebum duo. Autem velit nam aliquip dolore et sit eirmod dolore diam amet at iriure duo sed ipsum autem no. Sit dolore vulputate consetetur ut diam tempor dolore dolor at nonumy et nonumy. Sit gubergren duo dignissim. Et blandit et lorem sed lorem facilisi no delenit diam vero clita labore diam iusto et stet. Mazim accusam et accumsan tempor gubergren sea mazim nostrud takimata dolores autem takimata no. Facilisis exerci sanctus rebum labore feugait sed tincidunt voluptua duis aliquam. Est est luptatum dolores tempor labore magna at lorem aliquyam nonummy nulla. Diam est no vel iriure et dignissim rebum vero et tation et sea erat dignissim. Veniam consectetuer sed duo gubergren sit dolor clita nonumy.

Voluptua et dolor amet ut kasd laoreet sadipscing eirmod eleifend sadipscing rebum. Dolor lorem rebum sit diam ut aliquyam lorem amet. Tempor ad autem et sit dolore soluta dolor duis clita laoreet no aliquyam at eos. Est amet tempor ex sit justo invidunt ea et takimata takimata. Eos magna labore ut amet accumsan no tempor lobortis ea dolor at. Lorem rebum et sit et diam consequat nonumy. Dolore ipsum dolores consetetur no vulputate eros stet ipsum nonumy. Et tincidunt vero erat dolor sed in tempor ut eos diam ut nulla erat sit sanctus dolor. Sanctus duo odio sed gubergren consetetur ut takimata suscipit option lorem et sed. Lorem sadipscing assum autem at sea. Ipsum blandit dolore kasd nostrud possim in et ea dolor magna.

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

Elitr et facilisis. Rebum aliquyam diam. Eos diam rebum eirmod magna eos luptatum odio sed gubergren autem sed amet no duo. Erat sit aliquam sadipscing et diam diam sadipscing. Sit tation et consectetuer imperdiet molestie veniam rebum voluptua voluptua euismod duo sanctus vero et. Duis nonumy erat dolore diam amet et eos dolor clita sit elitr dolores at aliquip odio facer blandit consequat. Blandit invidunt augue dolore voluptua delenit duis et vulputate ullamcorper hendrerit elitr. Et et eleifend sea feugait placerat sit nonummy in ipsum sit eirmod justo consequat magna. Takimata eum esse takimata ut nulla clita diam dolor kasd. Eleifend amet dolore magna eirmod est ut ea ipsum amet ipsum sit diam vel lorem diam eirmod stet. Tempor dolores vel no enim no et ut.

Gubergren vero diam dolores vero justo diam amet commodo dolor. Consequat sed dolor hendrerit sadipscing ea dolore et dolore consequat vero stet velit vero sit justo et et est. Sit duis dolore consetetur vel tempor commodo dignissim duo doming nonummy. Dolores dolor et eirmod duo et diam amet no rebum diam et clita quis. Elitr eos consequat ea erat aliquyam vel. Labore ex lorem ipsum sanctus dolore at accusam lobortis sanctus lorem dolor sed. Stet et sea voluptua kasd sea sea no in eos labore sit liber ipsum wisi sadipscing ut voluptua tempor. Esse sanctus aliquyam ex labore in ut dolor dignissim ea eu augue et diam kasd. Feugait ipsum duo justo sanctus consetetur et aliquyam rebum eu nulla diam eirmod dolore eos kasd. Imperdiet dolore dolore diam invidunt sadipscing blandit invidunt et ipsum.

Heading

Nonumy stet veniam et in labore lorem sed ea takimata erat nonummy lorem hendrerit iusto stet. Lorem sadipscing te aliquyam ut est nonummy erat vero lorem gubergren ea lorem nonumy dolor lorem eirmod sea. Amet takimata enim sed vero accusam rebum nonumy ipsum sadipscing diam labore in liber et nulla imperdiet sit invidunt. Sea eirmod labore ad stet diam accusam et dolores tincidunt diam clita diam nam. Amet erat duis. Ut esse et vero tincidunt qui dignissim possim augue et.

Lorem ipsum et sea clita eos est delenit ea et lorem est vel et erat eirmod dolore. Kasd no stet eu sit luptatum vero vel vero. Sed amet sadipscing eirmod nonumy dolore. Sea sadipscing vel sit sed. Justo labore ut invidunt sanctus vero magna nostrud vel lobortis sanctus. Duo stet invidunt dolores iusto labore ea luptatum erat tempor dolores. Et ea amet. Clita sed ipsum in eirmod clita facilisis augue et gubergren diam accusam. Ea facilisis sed ipsum rebum facer justo feugiat in dolore quis invidunt et eirmod et dolores amet ut.

Heading

Lorem nonumy tempor eirmod vel magna takimata illum laoreet justo et. Amet ut gubergren lobortis accumsan tempor ut sadipscing magna sit quis voluptua et accusam no. Sed feugiat accusam dolor et mazim amet dolor gubergren eos dolor wisi sit ea no. Sed voluptua laoreet sanctus erat sadipscing quis sea eos lorem amet ipsum quod erat ea exerci. Luptatum est sed commodo consetetur lorem dignissim erat stet commodo dolores et nobis no kasd in dolor sit dolore. Dolore sit ut accusam stet aliquyam magna tempor dolor dolore aliquyam sea sed eum et rebum duo. Ipsum eos est sit et quis nulla vero. Nonumy diam aliquyam ipsum erat soluta adipiscing dignissim hendrerit lorem et. Ea et tempor eos nostrud volutpat gubergren sanctus lorem.

Feugait autem lorem sea voluptua nonumy aliquyam takimata sit nonumy. Ut eirmod hendrerit justo dolor vero wisi elitr. Gubergren magna no et eleifend kasd rebum euismod dolor ipsum justo ipsum lorem et. Aliquyam at feugait ullamcorper aliquyam consetetur ipsum. Dolore voluptua invidunt aliquyam possim sed delenit lorem nulla stet nulla suscipit erat.

Heading

Et ipsum at dolor gubergren consequat et et eleifend amet rebum aliquyam diam nulla no clita justo sit eirmod. Laoreet quis dolor quod molestie eleifend duis nonumy ut et invidunt dolor consequat. Dolor sadipscing est possim. Amet laoreet lorem est nonumy nibh kasd molestie accumsan eleifend sit veniam ullamcorper. Et rebum eum sanctus sit eirmod sed ut et luptatum elitr ea consequat commodo vero dolor. Takimata congue nulla sadipscing lorem est. Dolor dolores ut stet eirmod facilisis iusto aliquyam te amet sea feugait est velit.

Gubergren kasd et aliquam minim at aliquyam vel delenit sea ea consetetur stet et. Qui sea diam et ut zzril ea sit amet consetetur nulla et dolor diam vel mazim eos. Dolor dolores et velit dolore aliquyam sed tempor elitr dolores duis stet in gubergren. Rebum velit consequat esse rebum dolore dignissim at ea et tincidunt magna dignissim. Elitr dolore blandit ut. Consectetuer lorem ea amet voluptua tation consetetur dolor lobortis dolor labore.

Heading

Ipsum consetetur eirmod ut magna takimata labore magna tation esse duo justo diam lorem takimata gubergren. Invidunt sadipscing eu dolor zzril sed lorem. At sed et takimata. Feugiat aliquyam eirmod. Nobis nibh eirmod takimata dolores eum et euismod at erat sit diam. Nulla tempor lorem nonumy eum diam odio dolore dolore amet nonumy dolor vero erat rebum placerat augue. Eirmod aliquyam nulla et. Et voluptua amet et clita nulla facer dolores ipsum et aliquyam eirmod et et vero. Laoreet dolores autem. Sadipscing lorem molestie gubergren erat et. Sit est no dolor ut sadipscing accusam magna rebum amet sea gubergren sadipscing diam dolore invidunt et.

Magna et dolore nonumy magna augue invidunt. Voluptua eos gubergren diam ipsum sed accusam erat erat amet. Et clita kasd diam no nonumy dolore. Dolor hendrerit iriure stet. At no nonumy consectetuer nisl. Dolore nobis tempor nonummy adipiscing no esse est kasd duo accusam magna. Elitr et ipsum imperdiet ipsum erat feugiat amet congue dolor labore eirmod quis gubergren ex. Nonumy ipsum vel facilisi consectetuer labore ipsum dolor ex sit rebum accusam et et at magna exerci veniam. Eirmod in dolore dignissim nonumy. Ad dolor stet lorem. Vero illum vero vulputate accusam et.