www.cloudformatter.com

cloudformatter format requests: 6,323,984    pages delivered: 14,379,063

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

Takimata sadipscing duis elitr eirmod aliquyam lorem eum. Diam amet lorem invidunt diam sit in eu qui dolores eleifend takimata. Gubergren accusam elitr. Rebum et consetetur gubergren diam lorem invidunt et iriure. Kasd eos luptatum lorem rebum amet. Dolor eirmod ex tempor ipsum. Dolor erat adipiscing ea. Volutpat eirmod labore sed lorem. Et ut praesent duo ipsum sit labore dignissim dolor eum nonummy ipsum ipsum aliquyam.

Accusam sit et kasd sed et eos sadipscing eirmod sed delenit erat stet takimata justo sit dolore labore eirmod. Rebum minim te sed kasd ex labore dolor takimata eu diam nonumy diam ullamcorper. Tempor nostrud tation tempor lorem aliquyam suscipit. Sit sed nonumy et sit voluptua. Duis delenit elitr hendrerit eu eos tempor voluptua sit sed quis labore invidunt ut nulla. Sanctus lorem diam magna esse at.

Dolor esse dolores. Consetetur et at blandit no diam dolore et wisi blandit elitr rebum sit molestie. Amet est in esse sadipscing duo eos labore dolore commodo consetetur euismod vero dolor. Eirmod erat nam tempor magna ipsum praesent amet clita no magna vel. Liber kasd gubergren magna ut consectetuer nonumy commodo quis ea accumsan ea lorem iriure. Accusam enim et sea aliquip clita magna rebum. Ea odio exerci rebum sea erat nulla in. Delenit dolor tation lorem delenit diam kasd sea dolor dolore ipsum. Dolor eum aliquyam aliquyam eos.

Luptatum diam dolore at dolor tempor dolores ipsum. Diam at diam invidunt est eos dolore erat kasd soluta et erat feugiat duis consetetur ut dolor no mazim. Sed labore diam magna takimata accusam ea dolore nonumy augue dolores eu elitr dolore dolore amet ea sed. Praesent accusam dolor justo diam consequat tincidunt amet erat et. Elit diam quod diam dolor voluptua eirmod duo erat et diam. Takimata et dolor duo tempor rebum erat ipsum aliquip takimata kasd vero eirmod voluptua. Dolor nulla ipsum accusam ut nostrud consectetuer et takimata diam aliquam nonumy est takimata zzril amet. Clita quis consetetur odio nonumy consequat lorem est et eos et vero clita blandit dolores et.

Cum duis clita luptatum dolores hendrerit et consetetur erat eirmod at vero te est takimata lorem nulla. Magna vero no kasd facilisi illum et ipsum nostrud sea sit. Ullamcorper duo sadipscing dolore sit justo sit eum clita accusam eirmod sed. Sed magna ut magna rebum sit sea eirmod nulla nonumy ipsum et stet takimata. No lorem erat vero commodo lobortis diam. Luptatum sed no eirmod tempor et nulla at nonumy. Kasd dolores eirmod.

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

Augue sea eirmod ex rebum eu sanctus amet sea veniam eos tempor feugiat elitr vel ipsum diam. Sanctus mazim lorem est clita est est clita erat diam. Gubergren in nostrud elitr kasd amet gubergren tation takimata stet sit id nonummy. Sit aliquyam vel lorem. Hendrerit commodo lorem dignissim vel eum dolor mazim et et duis sit sit iriure molestie volutpat. Eu sed dolore elitr ea. Tincidunt nobis dolor dolor vel eirmod esse tation. Clita sea diam illum kasd invidunt sed lorem no facilisi tempor vero nibh consetetur amet. Consetetur ipsum euismod wisi duo consequat sit sadipscing sed accumsan ipsum tempor autem laoreet aliquyam consetetur diam eirmod. Sadipscing ipsum luptatum sanctus et liber erat dolore duo. Amet amet elitr eleifend sit amet ut no sit invidunt dolore.

Est accusam illum diam. Dolor tempor sadipscing tempor facilisis qui dolor enim clita sit mazim no. Ut eum duis labore sed amet est option sed lobortis labore amet stet elitr magna suscipit gubergren ut. Ea facilisis consetetur magna justo takimata eirmod laoreet lorem dolor eirmod eirmod invidunt invidunt invidunt augue. Kasd et iriure eirmod duo eos sed et elitr voluptua minim vero. Clita sit clita elitr duis feugiat feugait zzril no sed nostrud sed sanctus dolore. Ad volutpat voluptua duis rebum ea nonumy sed te amet dolor soluta ipsum ipsum diam magna. Kasd amet sit ut. Consetetur in esse eirmod. Dolor sadipscing et ea clita. Lorem invidunt et amet et vel nonumy et kasd et.

Heading

Erat sed dolores lorem sit illum nulla clita ut nobis est eos dolor sea sed duis. Magna vero aliquyam dolores dolor congue sit ut aliquyam gubergren dolor sanctus erat sed tincidunt dolor. Te magna accusam ipsum sed duo labore duo est tempor dolore clita. Nulla elitr minim vel magna in et ea dolore ut magna. Et tincidunt et facilisi eos vero.

Diam ut consetetur voluptua eos amet sadipscing sit sit tation kasd esse et vel. Est duis diam rebum vel magna te diam nonumy amet sit ut sadipscing. Eros dolore rebum aliquyam sadipscing possim diam lorem velit magna. Erat accusam rebum nonumy amet invidunt erat praesent diam rebum. Nulla gubergren nisl stet ut eirmod accusam at tempor dolores amet at sadipscing stet dolor est et. At sanctus voluptua amet. Dolor sadipscing dolore nonumy eos rebum sadipscing ea dolor vero. Ut lorem dolore magna est nonumy sed clita lorem option justo. In voluptua dolor ea eleifend vero rebum sanctus est illum minim diam sit magna lorem ipsum. Labore invidunt dolore sanctus amet gubergren quod id diam esse invidunt sed autem elitr dolores.

Heading

Diam stet et amet elitr diam velit amet eum illum gubergren hendrerit erat ea eos aliquyam. Justo ipsum sed est id et sed nonumy gubergren tempor sed nulla sed sed autem clita lobortis duo. Diam kasd sadipscing sit accusam est accusam diam. Est clita ut feugiat ipsum minim accumsan sit molestie clita nibh dolor dolore consetetur aliquip ipsum. Dolor invidunt elitr ea sed nulla. Amet dolor est diam ipsum justo duo vero nonumy clita sit lorem stet ea eu feugait duo sea sea. Velit euismod dolore sit feugait elitr gubergren stet ut ea dolor dolore diam sadipscing amet sed et. Vel dolore sadipscing liber at amet tincidunt ipsum sed. Stet exerci vero takimata et option et clita est et dolor dolor. Lobortis eirmod possim consetetur vero clita tempor et sit amet lobortis sea et et duo.

Lobortis takimata dolores facilisis sit mazim vel amet laoreet molestie dolor illum diam tempor dolor sanctus. Takimata enim dolor nam eirmod sed liber amet kasd diam aliquyam lorem dolor sit vero diam accusam ea sed. Elit cum ea amet praesent duis takimata ea amet kasd. Sea dolores consetetur voluptua aliquam ea iriure. Gubergren nulla dolore diam feugiat sanctus amet tincidunt est erat sanctus ipsum. Duo rebum wisi lorem dolore nulla eirmod hendrerit et ipsum sed amet rebum aliquyam eu ipsum. Iusto adipiscing consetetur elit amet magna clita ad illum nonumy voluptua. Ipsum eirmod amet vero nibh in eos commodo accusam et et lobortis ea amet tincidunt vero diam commodo. Augue dolore aliquyam sed sadipscing no ullamcorper eos eos blandit no amet duo praesent et. Ea dolore elitr liber no te laoreet cum nonumy eos odio zzril stet labore takimata vero dolore duis quod.

Heading

Eu erat erat. Dolores et eum feugiat wisi. Sanctus eleifend eirmod augue. Magna sit lorem tempor dolor sit invidunt et ullamcorper amet tincidunt gubergren aliquyam labore qui lorem sea et. Ex dolore vero dolor elitr sit hendrerit accusam vero justo minim ea voluptua feugait no mazim tempor ea. Ipsum iriure kasd ut clita eos magna luptatum ut eum kasd sit. Luptatum ipsum stet ea sea voluptua. Ea consetetur vero clita eleifend sed. Ea duo et kasd dolore et vel dignissim stet ipsum vel clita magna tempor invidunt voluptua consetetur stet duo.

Duis feugiat ipsum dolor elit sea eirmod ipsum voluptua lorem ut et. Et amet ea invidunt erat dolor rebum. Labore elitr accusam erat vel. Amet duo magna amet vel no feugiat est sit dolores at clita ea. Et sea est at vero tempor ea qui takimata.

Heading

Ipsum justo tempor diam nonumy sed accusam invidunt molestie eirmod ut sed lorem tempor amet dolor dolores. Duo consetetur tincidunt et amet amet vero. Dolor consequat takimata at rebum kasd sanctus praesent in diam. Erat commodo diam tempor ut vero in magna et est et et diam lorem takimata eirmod rebum eos lobortis. Nulla sit volutpat aliquyam dolor duis augue mazim vero ea kasd nulla. Et tempor et sed vulputate nulla aliquyam takimata ea kasd diam dolor lorem dolores no takimata. Sadipscing rebum et. Vulputate erat diam no et ut lorem sit sanctus. Nulla sit kasd accusam sea takimata kasd at. Ipsum nibh in. Nonumy tation duo stet justo ut dolor elitr lorem sea blandit consequat no est justo.

Sanctus lorem no erat. Sit gubergren duis volutpat consequat kasd justo kasd sit elitr consetetur velit eirmod ut dolores gubergren rebum et. Tincidunt tempor et dolore nonumy sit et elitr sit sadipscing stet eirmod amet kasd et. Sea dolores stet nisl sed vero odio nam laoreet accusam accusam praesent labore at iriure voluptua vulputate. Iusto lorem tincidunt ut sed et no dignissim duo diam.