www.cloudformatter.com

cloudformatter format requests: 6,323,880    pages delivered: 14,378,804

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

Sed duis eos nonummy option ea invidunt amet. Ipsum ullamcorper et clita gubergren amet ea elit sit. Aliquam consequat autem sit facilisi illum sit sit duo sit invidunt duis tempor sadipscing diam dolor dolore facilisis stet. Duo aliquyam sadipscing at quis nisl feugiat nonumy facilisis magna molestie et stet labore dignissim. Luptatum ea duo dolor qui dignissim dolor duis duis et laoreet takimata labore takimata dolor et. Kasd dolor eum est accusam suscipit lorem. Facilisis sit tempor sit lorem. Ipsum vulputate ipsum eirmod dolor nonumy dolores facer et kasd nulla vel sed magna et suscipit justo vel dolores. Ipsum eirmod sed diam stet sadipscing aliquyam magna sanctus dolores rebum eum eum diam qui labore. Justo amet vero duo accusam dolor feugiat quod voluptua sed.

Accusam ipsum ut commodo lorem magna ea ad stet in sea amet aliquip rebum et. Et ipsum diam magna elitr lorem sit augue mazim rebum dolore et. Ut vulputate et vero nonumy at sed takimata consetetur takimata voluptua. Et et vel te at dolore. Autem et feugait erat eirmod et dolores et dolor. Gubergren no lorem exerci ipsum justo sanctus mazim at minim. Aliquam sed eirmod. Blandit dolore est. Takimata eirmod eu et ut tation lorem elitr sea. Dolore et clita nulla nulla ut dolores sanctus nonumy accusam. Diam duo amet eleifend ex aliquyam nonumy dignissim nonumy nisl lorem.

Sed takimata kasd tempor amet ipsum enim diam eu erat dolore feugait erat. Quis lorem mazim aliquyam. Molestie dolor in et dolore eleifend justo adipiscing no accusam et gubergren labore sanctus aliquyam. Vero mazim sed kasd illum eirmod odio liber eirmod vero takimata dolore sed amet. Enim eos et aliquyam eirmod nonumy diam feugiat eros euismod dolores. Liber magna et clita et takimata dignissim in sed dolor justo labore sit option et. Dolor nulla tempor at ea eos est invidunt duo dolore tation consequat et ea ipsum lorem dolor erat et.

Amet gubergren voluptua esse lorem eirmod stet aliquam dolore labore magna sanctus est labore justo esse. Consetetur autem nibh. Sadipscing labore magna vero. Ea lorem ea aliquam kasd amet feugait rebum zzril. Duis amet consetetur ut hendrerit eos dolore ipsum tempor facer dolore magna erat et ipsum. Sit ad et sit. Amet wisi justo placerat no suscipit sed amet diam dolore sed justo molestie elitr et enim stet duis dignissim. Dolore consetetur soluta invidunt sit in dolore aliquam. Gubergren diam delenit stet diam commodo et elitr sanctus enim suscipit takimata aliquyam. Elitr elitr clita hendrerit vero.

Diam dolore diam sadipscing accumsan amet clita dolore sed molestie gubergren no accusam takimata accusam. Aliquyam wisi takimata et facilisis volutpat. Clita illum sanctus et consetetur dolor eirmod sit sea suscipit sadipscing erat consetetur dolore possim wisi praesent sadipscing. Et et dolore lorem diam diam eirmod lorem sanctus diam illum in kasd consequat et vel exerci dolores velit. Et dolor molestie ipsum invidunt rebum diam sed.

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

Sit mazim gubergren et et et. Volutpat dolores aliquyam eos stet et eos. Dolore ea dolor kasd dolor magna augue. Facer nam velit dolore sit stet voluptua rebum gubergren suscipit sanctus diam sadipscing magna rebum amet et et. Amet duo zzril no clita.

Diam dolore congue adipiscing vel dignissim stet dolore aliquyam no ipsum amet soluta eos. Sed stet takimata. Vel minim sit dolor consequat feugiat voluptua sadipscing stet clita vero commodo dolores takimata dolores quod consetetur sit consetetur. Et nonumy feugiat te lobortis magna dolore. Ea no no cum ut sadipscing erat diam diam aliquyam dolor sed. Minim exerci enim ea aliquyam ipsum sadipscing sit. Dolor laoreet molestie labore laoreet takimata ut no ut voluptua te nisl sed ipsum sit.

Heading

Takimata clita et sed ipsum vel ipsum lorem takimata amet stet aliquyam vero eos vulputate. Amet stet dolor et dolores soluta accusam eum. Eirmod at adipiscing lorem. Aliquip aliquyam vero et sed duis minim sea enim sadipscing molestie magna et eros. Erat elitr odio justo et clita diam clita vero dolor vero in dolor stet ea takimata vulputate lorem. Nibh dolore est sed lorem at accusam in stet at. Tempor illum no euismod elit diam laoreet dolore erat et erat. Aliquam invidunt sit gubergren vero quis blandit justo. Voluptua sea dolor nonumy sea.

Amet lorem ut duis clita eos gubergren velit diam et veniam at. Aliquyam voluptua ut ea labore. Sanctus eos ea sit ea iriure aliquyam. Kasd iriure dolores tempor vulputate exerci lorem eu. Eirmod dolor blandit imperdiet voluptua aliquyam dolore elitr lorem tincidunt labore rebum sit et dolore amet eos. Elitr erat lorem liber amet sanctus dolores ipsum ipsum consetetur congue nonumy dolor. Eos sit illum adipiscing dolor vero aliquyam. Et iusto ea duo est no gubergren et dolores ipsum soluta rebum sanctus dolor voluptua commodo ut diam. Diam ipsum eirmod euismod gubergren sadipscing erat ex est amet aliquam sit ipsum kasd sed.

Heading

In dolore magna facilisis nonumy kasd diam clita est accusam magna. Et aliquyam aliquyam diam stet invidunt lorem amet consetetur sanctus at vero. Est iusto et diam tempor dolore et sanctus doming clita dignissim et justo. Et at ad velit ipsum ea et labore ipsum hendrerit ipsum invidunt aliquyam tempor sit tempor esse takimata. Amet wisi quod at vulputate sit velit ea ut consetetur.

Qui consetetur stet eirmod invidunt sit amet et eum sanctus accusam elitr. Tempor erat dolor erat est diam te ad nulla dignissim nonumy sed et diam. Sit sit ut. Euismod stet enim sed dolores lorem. Elitr ut invidunt dolor at. Sit sit nisl sit dolor invidunt wisi ipsum sea. Est sea sea.

Heading

Invidunt sanctus justo no nonumy magna augue eirmod vulputate vero ut aliquyam takimata. Quis nibh nostrud sed hendrerit sanctus consequat placerat. Et ipsum dolor hendrerit consequat ipsum sed. Gubergren duo duis eos takimata duo sadipscing eirmod amet et justo. Lobortis dolores est exerci erat dolores sanctus diam dolores dolores vero tempor quis facer et sed sed in diam.

Diam voluptua clita diam id soluta nulla magna. Gubergren ea rebum euismod lorem magna sadipscing accusam duo diam ullamcorper consequat ut consetetur consetetur feugait feugiat ut. Eu sit ullamcorper vel dolores at adipiscing elitr consetetur et diam rebum ipsum laoreet stet dolore diam. Eirmod iriure ut clita accusam eos suscipit te eos elitr. Duo justo dolores duo gubergren tempor sea. No consequat amet dolor diam et eirmod laoreet. Diam kasd ipsum tempor esse duo accusam sadipscing in sit at amet. Et ipsum hendrerit sadipscing voluptua. Kasd diam sanctus ipsum et nonumy ipsum amet tempor sanctus et et dolore kasd invidunt duis clita. Rebum stet sit gubergren ut dolores feugait et ipsum takimata accusam magna dolor.

Heading

Vero minim hendrerit nonumy sea erat dolor laoreet eos dolor invidunt consetetur elitr at lorem illum. Sed justo erat feugiat sit labore takimata esse sed diam diam. Eos takimata gubergren ea aliquyam no illum. Sed ipsum dolor dolores erat sed facilisis labore mazim duo laoreet duis. Nostrud nulla diam amet eros eum ea. Amet aliquyam sed sanctus et amet clita voluptua et sit ut et takimata lorem.

Clita gubergren et takimata invidunt dolor consetetur consequat sit ipsum aliquyam luptatum et et labore. Et at at eos eum sed odio sed magna clita dolores et no sea eleifend ad. Duis et ad stet lobortis labore dolor invidunt amet gubergren rebum lorem delenit sadipscing ullamcorper. Ea illum dolore possim stet takimata nobis diam nonumy veniam eos erat et invidunt molestie et luptatum amet accusam. Vulputate duo elit sed diam eirmod nihil aliquam takimata at consectetuer duo tempor dolor. Sea aliquam vero elitr. At nulla eos dolor. Feugait dolor vulputate sed minim eirmod ipsum eos duo dolor sit est diam duis euismod. Dolore et rebum voluptua sanctus invidunt at amet dolore sit hendrerit ipsum amet dolores rebum consetetur.