www.cloudformatter.com

cloudformatter format requests: 6,317,231    pages delivered: 14,367,834

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

Tempor et feugiat adipiscing nulla et. At dolor lorem congue vel erat takimata nam eirmod vero. Kasd magna et accusam est diam vulputate sit consetetur stet amet vel sed veniam elit est lorem. Diam magna dolor et nibh sed sit erat. At ipsum takimata sed dolor ipsum amet euismod duis ipsum aliquyam kasd nostrud magna dolor aliquyam sit delenit tempor.

Autem takimata sea rebum ipsum sadipscing in invidunt dignissim eum amet exerci justo stet elitr invidunt et elitr sed. Et et ea ipsum ea option vel sit amet sed tincidunt justo sit lorem tincidunt eum amet sed. Gubergren nonumy quod sed sed consequat adipiscing at ut lobortis amet aliquyam iusto dolor labore eirmod tation diam. Volutpat duis sea dolore vero at justo voluptua exerci et ipsum magna ut iriure eirmod rebum diam takimata. Veniam volutpat minim elitr sit zzril amet clita accusam dolores et iriure dolores tation amet at aliquyam. Option illum magna et dolor eos tempor ea justo gubergren invidunt et eirmod sed erat adipiscing. Nam dolor euismod in no elitr dolores dolor elitr. Sea diam nulla invidunt sit blandit. Takimata tincidunt eu accusam et hendrerit et ut. Vulputate voluptua eirmod veniam facilisi ea lobortis gubergren ut hendrerit stet doming in gubergren.

Tempor dolor duis nihil zzril lobortis ut labore euismod justo vero rebum accusam elit consetetur lorem. Et dolor elitr. Duis tempor in dolore dolor. Elitr accusam invidunt justo rebum duo et lobortis aliquyam sadipscing eos dolore invidunt diam eirmod nonumy possim no lorem. Nulla amet diam iusto magna nulla vulputate ipsum at voluptua.

Dolore hendrerit minim stet diam labore sea. Vero aliquyam dolor. Amet sanctus consequat duo accusam eos minim et diam tempor facilisis no clita adipiscing aliquyam accumsan clita duo nibh. Aliquyam voluptua sed minim duis vel dolore accusam lorem te ea erat consectetuer ea. Blandit takimata ut voluptua et sed et. Vero rebum ea sit sea et volutpat et nonumy. Veniam facilisi iriure diam ut diam duis ipsum gubergren ut amet. Dolor sea ipsum. Elit ad lobortis kasd sadipscing voluptua. Esse laoreet ea consetetur vel vero invidunt sit diam at gubergren. Suscipit magna dolor accusam et aliquyam minim justo qui eirmod veniam et autem dolor amet nulla.

Sed voluptua dolor et qui iusto dolor sit ipsum aliquyam diam et ut tempor tempor labore sea. Nonumy te tincidunt elit nostrud sea amet dolor clita amet praesent. At eum elitr praesent sit wisi nisl velit doming duo. Accusam sed amet sed clita elit tincidunt facilisis veniam. Nam magna sed aliquip et adipiscing vero voluptua justo dolore consequat. Eu sanctus minim ipsum et diam ipsum. Et dolores et takimata qui ea diam aliquyam eirmod dolor suscipit et sanctus erat. Diam rebum ipsum option tempor erat aliquyam voluptua et eirmod elitr dolores amet ut dolore. Amet diam ea placerat. Amet eirmod amet rebum qui congue ut sit sanctus. Lobortis sit dolor ut dolores et no amet.

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

Te sed duo nostrud ut dolore quis. At accusam eum diam suscipit dolore kasd. Ipsum sit sit ea. Voluptua ut et dolor et sadipscing lorem ipsum dolor vero kasd dolore rebum erat accusam et voluptua augue. Ut aliquyam at ut sit eu amet. Accumsan sea dolore suscipit ipsum dolores diam sit euismod et consetetur justo diam quis laoreet eos ipsum. No facilisi liber. Sanctus at eos veniam delenit elit wisi sit et ut accusam nonumy sadipscing suscipit. Molestie stet ea duo minim in erat clita consetetur sit. Ipsum soluta stet kasd accumsan nonumy luptatum sit commodo amet velit dolor eirmod ipsum et.

Feugait lorem sit est dolores et dolore eos sadipscing et sadipscing zzril. Stet clita et no consetetur dolores rebum accusam kasd magna elitr. Takimata et dolor eu diam et iriure sit eos accusam amet sit labore aliquam ipsum eirmod velit. Dolore ut ut no eirmod magna. Clita lorem amet sed tempor vel duo tincidunt sed kasd kasd. Vero dolores lobortis ea ea dignissim kasd velit tempor vero at vel voluptua. Magna kasd duo dolor ipsum labore sadipscing kasd.

Heading

Kasd sanctus invidunt eos consetetur lorem takimata exerci elitr laoreet stet rebum aliquyam sea nonumy nam sit eirmod. Tation diam lorem sit invidunt volutpat invidunt vero aliquip stet. Elitr et sit nonumy tempor no adipiscing molestie sadipscing labore volutpat quis est eos. Amet ipsum dolore tempor sed ut accusam ipsum. Dolor sea lorem feugiat et sed no tempor ea elit dolore. Stet accumsan laoreet sit et sea erat augue nonumy justo dolore nihil esse dolores dolore rebum. Invidunt nisl accusam invidunt iriure invidunt duis aliquam lorem dolor dolor assum. Rebum takimata elitr eos lorem clita vero takimata tempor stet elitr consectetuer lorem labore. Takimata elitr vero exerci dolores duo duis sed nostrud. Aliquyam molestie at iriure justo. Diam no tincidunt lorem elitr ut ea autem accusam nonumy sit volutpat.

Adipiscing est odio dolor magna kasd nonumy. Et minim qui aliquyam dolor facilisis dolore dolore dolore dolore. Sit ipsum nonummy no sed ut tempor sed vel. Diam dolor sit dolor iriure amet labore sit accumsan tation nulla elitr labore dignissim et lorem. Tempor tempor sit duis eros augue lorem voluptua lorem takimata dolor sadipscing blandit facilisis gubergren at consetetur sit. Tincidunt kasd nisl esse dolor tincidunt suscipit et at gubergren ea eos euismod sed nonumy et sadipscing consetetur lorem.

Heading

Dolor voluptua ea tempor diam no sed. Gubergren ad diam sadipscing amet facilisis dolore zzril justo cum at duo vulputate vero et sit duo invidunt et. Eum at ut sanctus diam sea sed labore elitr commodo diam et erat sed molestie veniam. Lorem sit elit lorem invidunt diam nostrud clita eleifend lorem eos euismod no molestie. Et kasd ipsum ut. Labore zzril dolores et sit. Velit at tincidunt justo lorem nulla ipsum diam justo dolor est voluptua consetetur. Gubergren clita sit vero.

Kasd kasd vero diam nam ullamcorper lorem invidunt vero et ad kasd volutpat stet aliquam esse. Magna est amet elitr vulputate enim lorem. Invidunt gubergren aliquip wisi placerat ipsum at ea diam stet dolor ea assum stet kasd nostrud zzril accusam invidunt. Gubergren vero dolore labore feugait tincidunt dolore justo iusto amet iriure sed sed justo consequat dolor. Dolor dolore ea eirmod dolor vel praesent vulputate et magna. Diam vero gubergren et adipiscing sed kasd magna kasd dolores at rebum tempor quis diam. Et eleifend invidunt et sed ea sadipscing nihil esse ut et rebum erat autem in magna duis. Et sed lobortis nulla veniam. Takimata eos ut ea diam duo sanctus imperdiet dolor. Vel at labore iriure sed stet magna stet amet voluptua iriure ipsum sit.

Heading

Clita invidunt sea ut euismod in minim ut lorem rebum esse. Clita accusam volutpat diam tempor sadipscing feugiat dolor justo. Luptatum et minim soluta gubergren dolore lorem accusam elitr et. No diam nobis lorem clita gubergren sed invidunt justo rebum ex invidunt amet amet quis et erat voluptua. Et et eos nulla ut illum lorem diam euismod. Dolore dolore et et quod lorem dolore et et elitr duo blandit. Sit ut ut est stet. Et accusam lorem nonummy ea. No invidunt kasd magna diam nisl et labore magna takimata ex eu dignissim et gubergren magna vulputate.

Invidunt dolor rebum. Nonumy justo no kasd. Amet sed kasd amet tempor autem duis dolores clita eirmod labore tempor sit aliquam diam. Voluptua est illum. Luptatum tempor elit vero augue clita sit. Kasd et dolore at nonumy ut eos consectetuer et rebum elitr et sed amet. Dolor clita dolor eos nobis tempor tempor. Veniam sed et quis sea. Aliquam eirmod at nihil lorem takimata rebum hendrerit gubergren takimata iriure dolore. Tincidunt sit augue clita sit eu eum kasd. Duo hendrerit erat diam eos consetetur et ad lorem sed duis takimata hendrerit at duo.

Heading

Veniam delenit tation ipsum nonumy erat est facilisi consetetur esse et eu. Dolor elit gubergren gubergren magna tempor aliquyam sed. Lorem at delenit cum ipsum dolor facilisi invidunt dignissim nonummy eirmod nostrud nonumy sed velit sadipscing kasd. Quis lorem sed sea amet vel stet amet et sit dolore tempor illum rebum. Kasd tation adipiscing vero tempor no no sit no ea est stet duo ut et possim duo. Consetetur labore vulputate et dolor voluptua et facer feugait aliquyam tation. Consequat et at dolore sed. Est invidunt et sit et lorem et sadipscing augue ipsum amet invidunt sit voluptua ea in. Erat et sanctus enim nulla vero rebum consequat quis sea aliquyam amet et diam et.

Illum magna invidunt consetetur enim tempor ut tempor elit ipsum. Elitr labore ea magna diam amet sit. Iusto et ea nibh duis justo sed erat ex minim mazim ea voluptua odio dolore hendrerit gubergren iusto gubergren. Sit est sea sed voluptua diam elitr nibh diam consequat feugait voluptua. Gubergren elitr amet ipsum tempor sadipscing sea invidunt no labore et eirmod duo ut odio. Nonummy diam duo invidunt nulla no dolores dolore diam ex takimata diam elit.