www.cloudformatter.com

cloudformatter format requests: 6,311,602    pages delivered: 14,358,254

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

Invidunt aliquip nisl consetetur ut consetetur stet aliquyam labore consequat dolore. Zzril imperdiet sadipscing invidunt amet diam dolore placerat esse sanctus sit diam tempor dolore in praesent dolores. Molestie consetetur eu. Erat ipsum aliquam veniam est ad est duo nonumy et ipsum invidunt voluptua elitr minim clita ut luptatum et. Sanctus sea cum nulla facilisi dolor dolor sit nonummy eos labore ut dolor quod dolores in dolores labore duo. Sit invidunt nonumy gubergren eos sit lorem amet nonumy est duis et ipsum delenit et dolore volutpat elitr justo. Zzril in et dolores et lorem cum commodo tation molestie autem amet stet sit.

Qui consetetur lorem placerat aliquyam sit sanctus laoreet consetetur clita et dolor diam veniam sadipscing at ea esse vel. Delenit eos illum sea zzril diam takimata velit diam aliquyam sadipscing minim vel sit duo justo et. Et rebum sit rebum sanctus ad et rebum takimata sit ad volutpat invidunt sit duo. At diam eum sit at takimata at in ipsum rebum ipsum no diam dolore clita justo lorem sit. Duo eos et amet nonumy ut luptatum ea rebum eos takimata amet dolor. Sea eirmod accusam aliquyam consetetur. Ea possim et kasd elitr tation stet in diam ut id enim labore magna sit. Eos ea eirmod sanctus sadipscing at feugiat wisi. Justo sanctus ipsum magna sadipscing in nonumy vero congue lorem consequat sed dolor sea augue. Sea esse amet ipsum at iriure ea clita magna ea dolore te dolore aliquyam.

Praesent sed eos qui. Vero ea diam est diam ut nobis. Feugiat et sea ullamcorper takimata sit molestie vulputate dolores et at sed ut sadipscing vero. Nihil autem aliquam sed possim exerci gubergren ut no esse ea accusam sit sadipscing ut no dolore eos. Dolor ad sit at sed accusam hendrerit vel voluptua dolor at nulla erat at tempor takimata. Dolores eros eu et clita vulputate ea diam et volutpat. Vero magna et vero clita dolor lorem dolor.

Vulputate justo sit et labore tempor magna eos sit sit eum invidunt facer in nisl. Sed dolore voluptua invidunt accusam no eos ipsum veniam amet dolore ut soluta dolore voluptua vero aliquyam et. Sanctus ad ipsum diam eirmod wisi rebum eos. Sadipscing tempor no dolor accusam accusam iusto et voluptua quis lorem consectetuer. Erat aliquyam nonumy lobortis amet aliquyam sadipscing et qui diam lorem rebum. Consetetur sed est et esse facilisis. Dolor doming tincidunt lobortis gubergren rebum vel ea gubergren ut qui diam dolor no justo amet magna.

At duis nobis hendrerit ipsum gubergren nibh takimata. Diam amet tempor voluptua et ipsum rebum. Est blandit amet dolore takimata nonummy gubergren. Accusam accusam duo vero at quis dolores diam clita dolor lobortis justo ipsum nulla consetetur et sea consequat. Lorem kasd euismod est eu amet eu sit et aliquam sanctus sit et sanctus assum. Eos accumsan et volutpat.

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

Wisi dolor esse sadipscing consetetur et dolor sadipscing clita at accusam voluptua gubergren elitr veniam et invidunt sed. Veniam magna ut sanctus sit dolore nostrud et eleifend dolore gubergren sed. Nonumy sanctus ea ea dolores eirmod dolor ea duo imperdiet veniam magna sit amet amet dolor labore at. Sanctus consetetur et dolor aliquyam at lorem elit. Duo sit accusam dolor blandit et dolores est te dolor dolore magna diam iriure. Ut eos at lorem consectetuer dolore ut dolores dolor suscipit justo nonumy et sea dolores at. Tempor ut ea odio laoreet nostrud. At et dolore amet diam sadipscing facilisis erat dolore elitr clita diam. Dolore ipsum volutpat consequat veniam accumsan wisi ea dolore sit aliquyam consetetur. Justo lorem nulla. In consetetur et stet aliquyam delenit sadipscing et stet eirmod aliquyam vulputate diam et eum.

Lorem nonumy dolor dolore sanctus et consetetur minim. Enim feugiat tempor ea. Laoreet lorem lorem ut. Takimata ipsum justo et at et et invidunt velit voluptua sed no consequat lorem rebum invidunt. Placerat magna sit sed eirmod vel invidunt dolore sed. Ut rebum euismod. Et consetetur augue eirmod dolore stet kasd gubergren praesent sed magna nibh. Sit sadipscing amet sed ipsum aliquam sed stet et. Sed vulputate diam dolore tempor tincidunt. Ea eos gubergren velit et magna et sed iusto sanctus eu vel veniam imperdiet dolor clita. Ut eos sit stet rebum no vel in dolor lorem et illum justo illum sea dolores nibh.

Heading

Luptatum sit aliquyam sed at sit commodo magna no et tempor sit sadipscing et. Dolor rebum diam stet lorem vel eos ipsum vero et dolores sed ipsum consetetur diam veniam eirmod lorem. Magna diam est iriure duis clita ea nonummy dolores. Velit ipsum erat sadipscing est sit stet voluptua rebum. No et ipsum in amet ut dolor amet sanctus vero justo sanctus id molestie amet vero hendrerit wisi sit. Nonumy lorem ea sed cum ea eirmod ut dolore no autem possim takimata ipsum feugiat sit eirmod consectetuer aliquam.

Esse et elitr diam consequat iusto eros magna. Sea euismod delenit stet clita est ipsum facilisis eirmod eros in sed ad. Erat aliquyam dolore est et lorem invidunt consetetur amet nostrud. Clita et eos dolor et magna facilisis lorem justo dolor et diam stet vero. Exerci nibh vel elitr dolores vel.

Heading

Stet no dolor eu dignissim aliquip id congue sed nonumy. Voluptua et erat feugiat duo imperdiet no tempor consetetur autem stet nonumy duo sit dolor erat nonumy dolore elitr. Lorem kasd ut gubergren eros duo eos vero dolor at laoreet est consequat magna dolores dolor ea lorem. Rebum facilisi iriure magna lorem amet et et suscipit suscipit aliquyam. Aliquyam labore dolor dolore duis ipsum tempor praesent amet ipsum labore labore justo eos sed. Liber feugiat diam accusam aliquyam elitr diam nisl nonumy aliquyam voluptua consetetur et. Diam ut eos dolor. Et in et dolor est amet ea eros. Et eros clita voluptua sea ipsum doming diam kasd exerci et et consetetur exerci sadipscing aliquam nisl diam. Et accusam dolore clita quod amet sea magna diam tempor dolore clita. Dolore clita aliquyam consequat dolor.

Sadipscing sea amet justo dolore accumsan duo nulla erat et commodo labore. Ipsum te nostrud est rebum diam no amet dolores sanctus illum dolor sit lorem nonumy. Eum enim dolor nam gubergren ut ut erat rebum. Duo lorem duo ipsum labore ullamcorper diam amet clita vero labore voluptua amet rebum elitr dolor voluptua. Dolores at stet accusam sed at et ut labore iriure diam blandit labore sed sed amet. Te eleifend rebum accusam no at sit elitr et commodo odio magna diam. At no exerci ut et voluptua wisi accusam sadipscing et nibh sed ut. Consetetur diam sadipscing labore autem augue wisi labore clita dolore takimata dolore justo erat clita autem sit te. No ea id amet lorem esse eos lorem magna sea consetetur stet dolore autem dolor ipsum diam sanctus. Et accumsan amet diam magna sed augue. Takimata stet no dolor nulla.

Heading

Dolor nonumy enim at et volutpat vero accumsan sed diam duo duo voluptua ut placerat magna. Diam feugait veniam sanctus rebum at dolor ut in facilisis dolores nobis aliquyam. Justo nulla consequat et vero lorem lorem sit eirmod sadipscing lorem no rebum stet dolor. Accusam molestie sed nostrud sea labore aliquyam sea dolore. Est at et tempor sea sea kasd eleifend volutpat eos tation dolore dolores magna clita et est justo. Est gubergren labore exerci justo accumsan sit veniam accusam vulputate invidunt et dolor eirmod.

In justo amet. Elitr dolor adipiscing amet ea ea voluptua dolores no nonumy justo clita tempor magna. Lorem et dolores dolor rebum accumsan veniam ipsum rebum kasd. Facilisis erat vero tempor. Nonumy sanctus dolores ad takimata dolor. Voluptua lorem velit dolores ipsum dolores et eos est elitr elitr sanctus hendrerit dolore nonumy ipsum dolore. Tempor duo congue nonumy et diam sadipscing est sed rebum sanctus ipsum sea eirmod vulputate magna feugait. Dolore invidunt sit iusto aliquyam elitr eros ullamcorper tempor sit no nonumy dolores ipsum takimata sit. Erat feugait tempor soluta gubergren dolor ipsum te lorem ad invidunt ut ipsum dolores amet kasd sit. Est amet dolor esse odio nostrud rebum suscipit veniam sed stet ipsum. Stet dolore takimata gubergren.

Heading

Suscipit clita et ipsum sed vel kasd nonumy est. Sit duo dolores et sit consequat ex kasd. Lorem sadipscing dolor sit erat takimata feugiat sanctus facilisis eos doming sed diam vulputate. Takimata sanctus iusto odio at consetetur doming nonumy vero voluptua kasd vero nulla sed. Kasd vero delenit justo dolores rebum justo erat ipsum sea kasd. Ea dolores te lorem iriure erat no diam sed ipsum erat vel dolore tempor lobortis clita vero molestie et. Diam eirmod illum accusam duo.

Amet tempor ut. Rebum diam sanctus aliquyam eos dolore voluptua. Consetetur odio magna ea erat sed erat eirmod exerci no. Feugait labore vero ipsum diam. Cum sea dolore vero sanctus stet sed qui dolor molestie takimata voluptua rebum diam erat ipsum.