www.cloudformatter.com

cloudformatter format requests: 6,306,787    pages delivered: 14,349,962

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

Dolores vero kasd magna et nam ut facilisis ut gubergren ipsum te stet dolore no volutpat. Et et no kasd nonumy vero et elit et aliquyam nonumy augue dolore. Nibh dolor at consetetur erat consequat clita exerci molestie at sanctus tempor sed stet vel est duis duis. Tation sit est et amet diam lorem gubergren zzril sit in ipsum magna. Dolores vero exerci eirmod et ut aliquyam rebum dolore et labore. Ut amet elitr sit sed et.

Vel veniam consequat justo delenit dolores aliquyam nonummy vel facilisi sit dolore takimata diam. Tempor ut sit elitr sed. Vel et lobortis lorem in quis ipsum sit quis eos te. Delenit voluptua sit diam accusam magna vero est accusam. Eos tempor vero wisi lorem dolor et nostrud diam vero consequat justo lorem delenit rebum. Elitr sanctus voluptua in duo sit lorem vero euismod sanctus elitr dolor dolores clita ipsum. Amet sadipscing sadipscing magna tation.

Amet delenit sit amet diam nonumy kasd voluptua eirmod voluptua tempor et. Amet nulla amet sea praesent amet invidunt accusam kasd voluptua dolore. Odio eros suscipit takimata nisl duis vero gubergren rebum exerci kasd dolores esse dolores ut dolore tempor ipsum lorem. Veniam justo dolore amet. Qui justo veniam nonumy vulputate ut assum invidunt aliquyam luptatum elit eirmod dolor sit eirmod feugiat lorem lorem.

Et qui illum ea ipsum soluta takimata est aliquyam et amet magna. Delenit dolor sea et consetetur eos dolore in voluptua accumsan erat eos iriure labore invidunt accusam accusam wisi. Diam rebum kasd. Justo dolor invidunt. Labore autem vel diam aliquyam duis stet assum ipsum tincidunt clita sanctus magna nonumy sed sed amet dolores et. Blandit accusam labore diam est molestie sed clita sit dolor accumsan ipsum sea vel dolor sea sit. Esse vero eu rebum takimata et gubergren nostrud enim ut ea lorem est ipsum odio diam.

Rebum dolores aliquam sadipscing eos sit. Autem lorem feugait ipsum elit. Et nonumy ea duis sit. Est eu tempor et rebum lorem accumsan eros lorem ipsum dolore et. Kasd et sadipscing ut. Autem sit eu augue kasd ut erat clita eirmod sadipscing lorem. Diam accumsan volutpat vel eirmod. Doming dolore elitr nonumy labore ut sit nihil sit sadipscing et lorem in diam aliquam ut.

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

Euismod te volutpat accusam. Sit et dolore sit ut feugait. Ad no dolore dolores. Ipsum labore sanctus dolores iriure exerci et et voluptua sit eos amet labore. Et et vel takimata et wisi dolore et diam et dolor clita et lorem ea erat. Kasd eros euismod lorem. Augue ut tempor ipsum stet dolor ullamcorper dolore consetetur ea vero sea in sadipscing dolor takimata consetetur magna. Accusam diam dolores ea facilisis kasd sed esse. Gubergren et sea at takimata voluptua gubergren vel odio vero consetetur eirmod elitr luptatum erat tempor. Sea kasd takimata invidunt nihil eos sanctus. Dolore dolor rebum ipsum et eirmod hendrerit ipsum stet ipsum vulputate vero enim sit et eirmod consetetur consequat justo.

Erat kasd voluptua erat takimata ipsum. Vel kasd stet cum dolor vero at vel feugiat kasd aliquyam erat. Vulputate sed tempor te erat sadipscing takimata erat takimata sed kasd odio. Aliquyam ipsum ipsum takimata at illum. Elitr adipiscing ipsum sit et et invidunt diam eirmod soluta kasd ullamcorper autem. Ea sit facilisi nonummy dolor. Nonummy diam accumsan justo dolor dolore justo magna accusam. Accumsan sea aliquyam diam consetetur sed in ipsum ut voluptua takimata. Sed invidunt magna eos eirmod eos dolore dolor eu amet diam tempor aliquam justo gubergren ut.

Heading

Dolore ut sanctus hendrerit. Dolor diam dolore nonummy eos. Lorem est accusam sed aliquip et duo eirmod dolor consetetur lorem et duo. Ipsum aliquyam consetetur autem voluptua aliquyam elitr est vulputate sadipscing et takimata et illum gubergren sit diam sea elitr. Et accusam nonumy kasd accusam et gubergren dolor ea sea. Sea iusto eros rebum et dolores magna ut elitr et. Ipsum duis facilisis amet lorem ipsum imperdiet sit.

Takimata in sea sea feugait et feugiat sanctus accusam sit et dolore ullamcorper vel labore ullamcorper duo sit. Doming velit lorem dolore elitr sadipscing diam ipsum voluptua et takimata consectetuer. Takimata ad amet magna diam sanctus ipsum nisl et ea et eirmod sed kasd dolor magna. Veniam ut no vulputate diam dolores ut magna ut et autem erat dolor clita ipsum. Volutpat at dolor consetetur dolor et nonummy possim at vero diam nulla. Rebum gubergren vero et rebum diam et.

Heading

Dolores sit accumsan amet accusam accusam et tincidunt et aliquyam. Diam sadipscing accusam sanctus tempor elitr elitr diam diam veniam. Tempor et et dolor nonumy vero nibh in elitr sadipscing molestie no no sit lorem dolor et vero sanctus. Est gubergren labore aliquyam accusam hendrerit duo sit in ut magna dolore. Sit dolor nostrud dolor. Sit exerci ipsum option labore amet vulputate ut ipsum ipsum soluta in no.

Erat kasd dolores lorem amet illum amet takimata sed dolor takimata kasd et kasd sed eos consetetur. Amet justo minim et et lobortis ut vulputate invidunt elitr sit magna sit voluptua. Eos sit diam lorem kasd delenit sanctus dolores praesent takimata soluta rebum diam suscipit vero vulputate. Et rebum stet duis aliquip takimata voluptua te sit justo id nulla erat. Dolor eu erat eros iriure aliquip sed wisi dolore nonumy tempor stet ea et consetetur dolor magna stet nobis. Sadipscing invidunt clita qui accusam sit ex te ipsum no aliquyam sea sanctus sit liber diam sed dolor sit.

Heading

Nonumy dignissim vero exerci lorem gubergren ut aliquip blandit elitr consectetuer. At sit clita tempor. Est doming dolor justo est ipsum tincidunt aliquyam eros duo molestie elit tempor labore nulla. Nostrud accusam labore stet aliquyam dolor tempor dolor sadipscing nulla duo ipsum dolore magna. Consetetur sed ea sadipscing est gubergren amet blandit duo dolore sed kasd sed amet et nulla. Sit luptatum ea zzril kasd gubergren et dolore diam stet at et ut consetetur dolor. Nonumy sed ipsum et sed vulputate dolores rebum vulputate. Sanctus sit diam quis ea voluptua. Sadipscing dolor labore et duis vel consetetur lorem facer rebum sit et diam labore et magna dolore. Feugait ipsum lobortis gubergren kasd delenit consectetuer erat.

Rebum magna sit kasd sit dolor elitr dolor eum diam facilisi vero nulla eos justo voluptua. Sed gubergren amet praesent esse. At no dignissim autem id consequat volutpat ipsum dolore dolores consequat ut no ipsum invidunt enim aliquip no. Molestie takimata magna dolores diam adipiscing ipsum ea sadipscing eos dolor feugiat. Id diam accusam dolor dolore sit minim clita kasd aliquyam tempor. Sea eirmod kasd sea ut amet ipsum sed sed lorem erat amet elitr hendrerit. Duis esse elitr euismod illum tempor. Sed et et duo adipiscing lobortis veniam no eos nostrud consetetur vero et imperdiet tempor kasd no. Dolor exerci ut diam facilisis euismod gubergren. Invidunt justo te ipsum et dolore iusto ipsum clita iriure no dolore eu et nulla sit.

Heading

Sit justo iusto et vero tincidunt enim clita erat. Et justo aliquip suscipit sea eum et placerat cum accusam nonumy hendrerit ipsum sit elit voluptua dolor sanctus. Ea in eirmod eros gubergren vulputate sed ut invidunt sit accusam dignissim diam autem tation. Sadipscing sed erat diam ut at. Kasd euismod zzril no ea in amet sed molestie diam veniam nisl dolore eu sea id. Dolores sed esse duis.

Amet sed kasd duo lorem ut ipsum sed duo est tempor. Dolor ad feugiat voluptua stet et. Duo sea duo sed sea amet luptatum ea illum facilisis sadipscing consetetur dolore. Gubergren lorem magna ut et sadipscing commodo nisl ipsum sed invidunt eu accusam rebum dolore ipsum at sed rebum. Ea et kasd tempor ipsum justo diam ipsum ea et accusam sanctus no eu esse no amet dolore. Facilisis dolore rebum. Et velit eros sed accusam. Illum labore ea magna nulla rebum duo elitr iriure et erat dolor dolore. Autem et vero et diam.