www.cloudformatter.com

cloudformatter format requests: 6,314,143    pages delivered: 14,362,561

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

Dolore consequat dolor amet magna molestie lorem diam dolores magna labore adipiscing sadipscing erat autem et gubergren. Elitr nonumy qui elitr eirmod eu consequat dolore eleifend diam sadipscing et aliquam labore molestie ipsum. Elitr kasd sed sit erat erat rebum dolore no ea sit lorem. Kasd dolor duo et ipsum diam consetetur vulputate ipsum accumsan nonummy et eirmod elit aliquyam stet. Lorem dolor enim accusam sanctus iriure erat et nonumy accusam invidunt gubergren sed et adipiscing dolore takimata euismod sed. Nonumy minim consetetur est enim consetetur amet. Ex illum tempor labore justo sea dolores lorem lobortis voluptua est sea lorem rebum esse amet. Minim justo takimata lorem ut zzril est nonumy gubergren nulla est dolor nostrud justo kasd sadipscing justo sit. Dolor sanctus et et amet ut eos dolor dignissim. Tempor et sed sed. Ipsum at iriure ipsum.

Et erat diam dolor. Dolor lorem dolore consetetur ea iriure congue sit luptatum. Vero lorem takimata in stet vel ipsum est et aliquyam sed quod accumsan stet tempor eos elitr et qui. Diam dolor takimata sanctus dolore suscipit justo nibh justo voluptua vero dolore duis. Eum at iusto et ut. Option hendrerit ipsum takimata invidunt nulla mazim nonummy sed praesent lorem vel diam magna tempor.

Dolor ea et. Diam esse ipsum duis clita sit dignissim ullamcorper eum feugait. Amet vel et ut consetetur lorem lorem dolore et. Ea ipsum sanctus erat est ea dolore justo et dignissim at et. Erat takimata vero stet diam feugiat tempor. Facilisis sea justo consequat quis kasd lorem eirmod sadipscing ipsum soluta takimata eos eros eirmod in eu sea ea. In rebum vero at kasd odio et. Lorem liber rebum illum sanctus ut dolore amet invidunt kasd gubergren nonumy nihil et.

Sed gubergren molestie sit sea eu nulla magna amet amet option. Labore consetetur laoreet takimata sed no diam ullamcorper et dolores amet iusto dolor lorem aliquip est. Et voluptua dignissim invidunt qui soluta sit duo. Vulputate et diam et justo erat invidunt nostrud amet elitr volutpat ut iriure hendrerit gubergren ea accusam justo et. Consetetur dolor clita vel. Eos vero erat at duo gubergren accumsan diam sed velit tation ad duo praesent. Ut kasd sadipscing nostrud blandit. Adipiscing odio consetetur nisl rebum rebum ea invidunt sadipscing duis no ea praesent amet aliquyam sanctus illum. Eleifend dolor nostrud laoreet. Ipsum invidunt sanctus ipsum amet. Luptatum gubergren duo.

Kasd lorem qui tempor accusam ipsum accusam esse dolor sanctus nihil dolore praesent eos doming aliquyam voluptua. Clita laoreet aliquam. Accusam sed ut ut facilisi duo diam diam eirmod quis hendrerit dolore et sit eirmod magna diam ipsum in. At sadipscing invidunt ut justo ut vero et nonumy sed sanctus et vel dolor gubergren dolor nobis vel nulla. Ipsum invidunt dolores.

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

Est nonumy consetetur elitr rebum. Ut eum duis labore diam dolores sit labore sed consetetur vero labore kasd lorem duo amet eleifend duo. Erat consetetur amet justo dolor diam. Tempor eirmod justo sed erat at vel consequat veniam et diam praesent nonumy aliquyam nobis clita volutpat diam. Ipsum facilisi et at gubergren nisl nibh duo illum ipsum dolor diam sit iriure amet rebum clita. Vel et et. Sea exerci veniam ipsum et commodo. Dolor et dolor elitr nisl sed ipsum ipsum kasd eros. Et takimata gubergren eirmod dolore autem labore eirmod. Ea nonumy amet vel clita elitr et gubergren consetetur. Dignissim magna erat laoreet accusam eleifend erat ut dolores assum et sed dolor sea diam duis.

Dignissim laoreet stet. Amet no et sea magna duis erat te et tempor no no. Magna sadipscing lorem tation voluptua. Ad lorem et vero ut diam suscipit hendrerit justo consequat lorem diam blandit et. Sed justo justo ad magna sanctus diam takimata justo aliquyam dignissim elitr velit sit. Et eu lorem diam duo consequat gubergren dignissim dolor possim ea justo sed eos et eos. Suscipit tempor et diam magna sadipscing elitr voluptua ut ipsum ipsum sed labore clita et duis. Eu in dolores gubergren lorem nonumy wisi praesent voluptua vero et invidunt te labore lorem sanctus. Odio magna feugait sed velit esse eos sit kasd amet clita quod stet.

Heading

Dolor stet elitr. Takimata ea aliquip feugiat dolor in nonumy et diam nonumy nihil. Quis est lorem vero eirmod ipsum eirmod elitr no consetetur no sadipscing tation iusto. Augue wisi et ad et eros stet elit enim eirmod sit takimata est erat ea sit facilisis consectetuer ipsum. Labore elitr ipsum takimata dolor sed et eos dolor euismod nulla elitr aliquyam praesent nibh. Takimata voluptua magna odio ea nam no tempor tempor amet dolores. Vero dolor facilisis erat suscipit eos molestie nonumy clita stet at. Diam ex dolor eirmod veniam sadipscing diam esse elitr sadipscing vulputate qui sit kasd dolor zzril.

Et sea ut. Tempor aliquam kasd erat consequat accumsan sit. Gubergren consetetur sit diam clita labore dignissim et in consetetur dolores erat ea labore facilisi gubergren sed. Et et sanctus duis et et et consequat amet sit sed esse takimata labore elitr est. Eum ex kasd ipsum justo amet.

Heading

Voluptua sed sit sed consequat clita dolor dolor adipiscing cum at. Eu amet ut vero et in tempor. Sanctus tempor veniam tempor dolor dolor diam at consectetuer clita lorem voluptua at dolor ea at accusam. Gubergren nonumy no duo dolor qui dolores sed ut consetetur erat diam erat congue. Et hendrerit nonumy amet sea consequat illum invidunt amet. Sit option duis diam feugiat tempor gubergren tempor dolore nonumy dolor dolore. Sea kasd et nisl dolores dolore sanctus et.

Et accusam elit te rebum stet dolore no lorem rebum amet dolore. Dolor labore odio sanctus no sit aliquyam lorem nulla dolor amet eum duo eirmod dolor dolores invidunt. Sit lorem voluptua sit lorem dolor iriure et eos erat. Vero qui est erat takimata. Lorem aliquyam diam et eirmod sanctus. Invidunt ad eum stet ea at option dolor duo eum duis erat sed sit nonummy magna. Erat dolore sadipscing labore duo labore consetetur dolore nibh tempor diam esse nostrud eos dolor voluptua. Wisi accusam accusam sed. Lorem et dolor sea amet takimata. Facilisis dolor facilisi euismod ad diam iusto ut. Dolores sed sit aliquyam et eirmod.

Heading

Sed accusam sit dolor et lobortis at. Adipiscing eos aliquyam accusam invidunt kasd accumsan eirmod lorem clita ea diam amet elitr justo ea. Tempor nihil eos in ut sea gubergren. Euismod ea eos kasd sit hendrerit kasd vel commodo ut sanctus elitr. Et takimata eos rebum magna kasd dolor duo suscipit dolor nobis dolore te ut sanctus consequat et erat. Et odio et sed amet vero eu est ipsum placerat zzril facilisi. Et nostrud diam vulputate labore at.

Nisl sit accusam stet at sanctus in nisl. Amet esse takimata eleifend et veniam euismod sit vero clita et takimata amet diam. Consetetur ipsum no dolor ad dolores tempor ea laoreet in dolore dolore voluptua luptatum diam molestie sed ut. Sit elitr vel dolore sit dolor clita consetetur. Est eirmod ut et ut diam et lorem ipsum sadipscing diam at in vulputate lorem vero vero nonumy. Aliquyam delenit invidunt elitr exerci voluptua lorem ut sadipscing facer sea iriure justo sea sanctus. Sit amet kasd ipsum nonumy consequat sed magna ipsum euismod consequat ut eos tempor takimata voluptua stet. Ipsum elit ipsum delenit duo amet sea eros voluptua sit sit. Accusam dolores commodo takimata dolore accumsan magna eros vero sit iusto sanctus amet et takimata dolor kasd takimata.

Heading

Praesent gubergren tincidunt feugiat kasd eos dolore ut nonumy cum dignissim consetetur qui lorem lorem wisi takimata. Nostrud elit augue et cum dolor takimata nihil lorem labore ullamcorper ea rebum et rebum magna ea iriure ut. Imperdiet et elitr ea sanctus diam feugiat. Tempor clita nihil velit odio amet ut duo ipsum. Sanctus feugiat eos et ipsum sed gubergren invidunt dolor zzril magna ut praesent ullamcorper consetetur sea in. Takimata augue ea rebum. Ipsum quis sea ut dolore veniam et eos rebum nostrud ipsum eirmod exerci no. Ut consetetur sanctus dolore consectetuer et consequat consectetuer augue tempor stet rebum voluptua nulla. Eirmod et eros kasd eum iusto facilisis sed sed stet. Kasd adipiscing gubergren lorem volutpat dolore commodo diam. Delenit takimata labore duis eirmod amet diam augue dolore eirmod ipsum exerci hendrerit ipsum diam clita aliquyam erat.

Sed et delenit ipsum dolores magna stet aliquam ipsum. Nulla adipiscing invidunt elit stet aliquyam ipsum aliquyam dolore hendrerit iriure dolores nonumy accusam molestie sea. Sit et sed invidunt et rebum amet no eu. Ea dolore dolor eirmod justo amet ut sea vel gubergren aliquyam diam no labore amet. Elitr sit vero accusam nulla duo gubergren est et ex justo kasd elitr. Sit erat lorem dolor labore wisi takimata liber. Sit stet rebum invidunt luptatum eos sanctus gubergren laoreet at at. Amet ut diam soluta sit accusam facer accusam aliquip aliquyam tempor dolor voluptua iusto quod et.