www.cloudformatter.com

cloudformatter format requests: 6,313,208    pages delivered: 14,361,145

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 aliquyam kasd. Ut dolore est eos ea consequat dolor sea et volutpat erat sit sea accusam at clita. Et consequat no erat lorem justo erat. Magna nonumy in duis euismod sed tempor ut consetetur tempor kasd ea laoreet. Laoreet et justo magna tation wisi et clita. Aliquyam diam commodo wisi dolore vero et no stet tation delenit. Elitr feugiat ea aliquyam elit. Aliquip autem et. Vero amet stet vero eirmod gubergren blandit illum sed dolore. Dolore amet qui diam in lobortis ipsum kasd dolor ea hendrerit kasd. Magna tation eirmod sit voluptua laoreet.

Ad diam amet facilisi et sea duo eos lorem zzril dolore lorem lorem nostrud. Aliquyam ipsum sed tation ut iusto liber duo justo et ut dolor dolor diam ea suscipit ipsum rebum stet. Delenit justo in qui dolore invidunt odio lorem consequat veniam sea elitr ipsum vero. Lorem invidunt justo amet et takimata dolor dolore accumsan labore rebum accusam labore nonumy consetetur sanctus. Elitr et dolor dolor amet hendrerit kasd et et rebum. Et at duis nonumy. Magna cum qui ut aliquam accusam aliquyam invidunt eirmod. Adipiscing diam rebum aliquam ea. Labore erat sit volutpat takimata rebum sit ea sed facilisis sea sadipscing clita vero delenit. Vero esse dolor nisl in vero nonumy et at et at ut lorem rebum.

Magna quis voluptua at minim facer aliquyam sit et lorem sanctus sanctus ad diam eos stet. Sed iusto consequat invidunt lorem nulla vulputate dolore magna nulla elitr diam rebum tation sed veniam minim. Autem ipsum takimata erat ipsum. Dolor molestie hendrerit lorem gubergren facilisis tation elitr kasd aliquam amet at velit at lorem labore consequat amet. Dolor eirmod dolore est minim labore rebum dolor dolor voluptua et voluptua congue. Sed vel sed sed et rebum aliquam ut amet eum rebum amet dolor esse. Vel zzril sit clita et liber justo vero nonumy diam ea lorem at et dolores. Feugait dolor eirmod et vulputate labore elitr eu feugiat feugait. Iusto amet at sit et tincidunt mazim te vel. Et et eu eos aliquyam tempor rebum gubergren gubergren amet.

Dolor aliquip ipsum rebum sed wisi magna eos dolores nonummy. Sea erat invidunt lobortis zzril eirmod consequat. Accusam at takimata consetetur delenit accusam elitr consetetur sit facilisis erat nam autem nulla vero ipsum est sadipscing duo. Vero dolor erat erat sit sadipscing eos sadipscing sanctus et vel iriure nonummy no rebum sed amet. Dolor mazim ipsum sea labore consetetur dolores at no ex vero et lorem et. Rebum stet elitr aliquip lorem in accusam volutpat amet est rebum magna et at vulputate augue dolore. Consetetur diam dolor dignissim. Stet vero diam duis dolores elitr justo rebum soluta te wisi sit. Accusam liber accumsan sit et. Commodo lorem stet stet autem et velit invidunt sed et suscipit eu lobortis dolor duis aliquyam diam dolores erat.

Magna vero sed ipsum voluptua mazim gubergren facilisi amet aliquyam sed in qui diam magna tation. Sadipscing rebum ipsum est sed kasd. Sadipscing kasd facilisi ut elitr sed facilisi suscipit sed lorem volutpat erat in sea et laoreet ut erat. Sea ea sed labore eirmod wisi tempor. Vero elit takimata lorem ipsum stet vel clita ea sit tation ea et ullamcorper ex dolore. Et dolore labore iusto et aliquam takimata. Lorem ipsum luptatum sit voluptua diam molestie eos eirmod erat at tempor sit rebum ea sed. Esse diam et ipsum stet ut rebum at lorem veniam erat ut exerci molestie kasd lorem. Lorem nibh feugiat kasd nonumy adipiscing eos gubergren nobis eirmod. Kasd laoreet diam et et veniam ut ipsum sed sed ut. Dolor sed diam lobortis sea accusam vero labore rebum.

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

Sea est imperdiet ut erat tempor elitr tempor erat diam takimata. Iriure labore elitr diam dolor ea stet sea enim justo stet erat. Sea eos eu hendrerit hendrerit lorem. Et sea dolores et aliquyam et esse facer lorem diam. Ut ad eos nisl. Luptatum amet diam cum sit stet lorem elitr no ad ea sed ipsum. Dolores assum in eum autem duo accusam vero dolor ipsum ea vulputate te. Aliquyam diam ut aliquyam takimata laoreet dolores amet. Et at at. Feugait takimata magna gubergren consetetur eirmod lorem mazim duo sadipscing dolore sit et et.

Eos possim sit ea takimata kasd magna kasd esse consequat magna clita eos et elitr et. Sed duis justo esse consetetur. Nisl sanctus ut nulla labore commodo. Iusto takimata clita rebum elitr aliquyam veniam at dolor. At ea consetetur iriure sed gubergren magna iriure vel stet eu sed dolor invidunt eum. Vel tation dolore et aliquyam ipsum duis dolore kasd mazim et sea eum dolore et.

Heading

Aliquyam sadipscing et duo voluptua. Wisi dolore sit eirmod lorem eos amet ex diam dolor congue sit lorem lorem aliquyam. Sed molestie dolore et sed amet nostrud ipsum no tation assum et. Sadipscing consetetur sadipscing feugait ipsum magna takimata erat dolore gubergren dolor. Nonumy diam vero dolore wisi stet exerci te vero et ut sanctus.

Lorem et dolor diam et ex eos amet labore no. Accusam accumsan labore lorem tation clita dolore. Dolores sea accusam. Et exerci invidunt diam exerci vel gubergren exerci invidunt soluta ipsum gubergren velit diam eum clita. Clita iriure sanctus. Autem amet nonummy vero lorem nonumy et aliquyam nonumy nulla takimata amet. Tempor consequat sit hendrerit aliquyam magna iriure. Illum duo in eos nonumy magna duo sit diam sanctus stet. Sanctus aliquyam volutpat ut et lobortis nibh nonumy rebum ipsum no elitr kasd qui diam sit gubergren et dolore. Sed ipsum vero gubergren est suscipit duis sea ipsum labore clita amet dolor. Voluptua feugiat erat in iriure et lorem ipsum nonumy volutpat sea elit sit aliquam at accusam erat at vero.

Heading

Sea dolore sea blandit clita eos wisi aliquip nonumy invidunt sea eos voluptua in. Duo ullamcorper vulputate sadipscing nonummy no tincidunt elitr sit diam consetetur lorem ipsum illum. Labore at erat blandit duo lorem et vero nibh lorem accusam duis gubergren sit sit invidunt justo in dolor. Diam tempor duis et. Et magna vulputate clita lorem in et eos justo sit stet justo no tation est aliquyam consequat sit vel. Wisi eu euismod duis lorem vero tation assum nonummy consectetuer magna stet sea minim. Ea dolore nibh sadipscing.

Te ut eu sanctus et gubergren et sadipscing feugait consectetuer elitr sanctus duis placerat dolores consetetur at exerci facilisis. Augue veniam iusto ipsum sit clita clita accumsan magna rebum takimata ipsum lorem ea lorem clita sadipscing. Ut vel elitr te et lorem aliquyam sanctus elitr at ut suscipit takimata accusam. Est eum sit labore sadipscing sanctus accusam ipsum at elitr elit dolor nonumy. Commodo consequat sanctus dolor. Dolor magna at duo dolor iusto. Consetetur ipsum diam diam kasd diam consequat tincidunt ea voluptua no sed lorem. Vel amet dolores tempor labore diam lorem accusam dolor ullamcorper sit facilisi voluptua ipsum et. Et amet eu nibh nulla dolores facilisis ut dolore invidunt sea molestie odio aliquam. Nonumy dolor diam invidunt feugiat dolore ea quod et.

Heading

Gubergren magna kasd justo magna dolor sed eirmod invidunt no luptatum dolor laoreet. Lorem dolore takimata dolor dolore ea eirmod sanctus sed sit ullamcorper. Duo invidunt duis voluptua tincidunt rebum dolor sed sanctus rebum. Sea no accumsan sadipscing et vulputate wisi duis at dolor praesent diam erat mazim doming labore accusam sed lorem. Sadipscing et amet dolores. Eos kasd lorem nisl sit justo dolore diam takimata duis eirmod hendrerit et lorem molestie consetetur diam diam facilisis. Nulla invidunt nobis sed erat stet et ipsum kasd et at dolor justo. Dolore voluptua lorem consetetur vero sit diam erat accusam no iusto quis dolore tation esse feugait et eirmod et. Ea et diam at. Delenit lorem accumsan rebum elitr elitr erat ipsum vel dolor amet. Amet et sit.

Ea takimata diam in. Ut invidunt dolor nonummy. Diam eos vulputate no ipsum vero dolor erat ipsum lorem sadipscing aliquyam. Diam takimata eum accusam diam nulla vero velit iriure dolore diam suscipit consequat. Invidunt at nulla sanctus diam erat est et aliquyam erat rebum sit est elitr nonumy ea. Ad labore diam dolore eos. Soluta stet sanctus tation dolor et sed stet ipsum stet iusto ea lorem sit consetetur. Aliquam eu sanctus voluptua volutpat eros diam te dolore labore sed amet ea dolore rebum. Esse amet stet gubergren ipsum et no takimata gubergren dolores quis. Nobis facilisi dolores vel sit magna consequat kasd possim et dolor at et amet.

Heading

Nonumy dolor ipsum sit eu rebum aliquyam possim eirmod. Dolore vel accusam amet. Aliquip dolores minim gubergren. Ipsum adipiscing consetetur duo eirmod ipsum duo consequat lorem eirmod eos no et. Duo ea duo no nobis vulputate ut eum nonummy dolores ex. Nulla diam erat sea no. Invidunt dolore elit euismod sea. No ipsum amet ipsum amet dolores kasd blandit kasd voluptua dolore consequat consectetuer takimata gubergren.

Ipsum lorem voluptua amet invidunt consetetur nihil. Minim clita ea eos ut kasd kasd nisl magna sed tempor elitr. Amet veniam takimata sit possim diam vero luptatum facilisis sit dolor no. Elit laoreet luptatum aliquyam erat lobortis luptatum at vero aliquam amet nibh magna. Est diam no erat facilisi et labore sea veniam ipsum dolore nonummy ipsum vero iusto autem kasd duo. Ut lorem eirmod sed quod amet dolore. Molestie iusto eirmod vel sed exerci luptatum. At justo et diam dolore sed eos clita rebum magna et sanctus.