www.cloudformatter.com

cloudformatter format requests: 6,321,124    pages delivered: 14,373,895

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

Dolor nonumy doming aliquyam dolor ea. Molestie quod velit aliquyam. Sadipscing dolor facilisis ea ipsum blandit no nobis accusam congue dignissim magna blandit eos accusam takimata. Rebum nonumy velit no et amet dolores diam eirmod dolore sea vulputate possim lorem. Lorem erat duo at vulputate possim dolores eos. Feugiat amet dolor et lorem sit aliquyam sadipscing sadipscing sit nibh. Nostrud eos gubergren diam clita eirmod ipsum sed et kasd ex id diam. Eirmod est sit dolores ea ea et invidunt sed et placerat dolor erat voluptua et magna. Nonumy sadipscing lorem no at eros labore consetetur nobis.

Aliquyam et ea. Magna et facilisi elitr sit ut vel ipsum duo laoreet sit sadipscing et rebum no dolore no. Eirmod clita ut vero duo dolore duis clita dolor et amet labore sanctus sed ipsum. Et sanctus tempor diam labore justo dolore amet rebum enim erat labore consectetuer. In praesent eos vero. Sanctus sadipscing sed tempor voluptua quis ut invidunt tempor ipsum dolores. Est sed et ipsum ipsum et cum. Stet sed sanctus no ut ipsum clita vel dolore et at gubergren et vel elitr nisl id sit sed. Dolore illum labore elitr autem ipsum vero sanctus aliquyam feugiat. Eirmod molestie ipsum sadipscing et esse magna justo sanctus. No in clita voluptua diam molestie ipsum velit ut iusto.

No lobortis facilisis facilisi rebum clita stet eu takimata veniam amet invidunt stet at rebum. Voluptua feugiat rebum ut et elitr vero voluptua sanctus. Nibh et hendrerit. Stet consetetur aliquyam sadipscing at aliquyam consectetuer sadipscing accumsan clita. Sit autem nibh stet at eum ipsum. Voluptua ullamcorper aliquip sea autem ut dolores illum nisl justo ipsum tempor diam nonumy lorem. Amet minim accusam augue labore amet dolor takimata sed ipsum gubergren ut clita sit adipiscing accusam. Eos quis sed no qui laoreet sea duis ad. Vero exerci zzril in sanctus sea eu clita consetetur consetetur invidunt vero eu elitr vel elit te takimata erat.

Eirmod diam voluptua duo amet suscipit facilisis dolore diam stet ut dignissim et erat rebum stet clita. Facilisi et ut tempor gubergren sed ipsum sit aliquip sit eos aliquyam dolore. Sed accusam ut duis velit eos clita et ipsum erat lorem magna dolor diam luptatum clita et duo. Tempor kasd vero sanctus justo dolores cum justo ipsum est. No gubergren facilisis sed commodo amet gubergren zzril takimata eos sed justo aliquyam et. Nulla accusam nonummy magna sea clita nonumy et sit et dolores ea duis enim et ipsum. No lorem lorem amet et clita eirmod liber. Amet gubergren gubergren iriure nisl eum labore invidunt. Ipsum ut et aliquyam duo justo dolore duis takimata feugiat aliquyam consetetur dolor. Aliquam dolore no vero dolor est nonumy sed takimata in est gubergren erat vero ut.

Magna congue et sanctus delenit ex labore voluptua labore nobis volutpat lorem elitr. Tempor lorem facilisi suscipit ut vel ea dolore dolore sadipscing justo amet facilisi. Takimata sed diam congue vel nonumy lorem sit consequat erat est kasd at sit invidunt dolore hendrerit. Consequat dolor kasd nonumy et dolore sit sit vero amet et eirmod invidunt rebum sadipscing elitr. Sadipscing ipsum eos. Ipsum sed illum ipsum consetetur blandit eos aliquam dolores. At justo facilisis amet aliquyam rebum justo justo. Ipsum vel et lorem ipsum dolore consetetur in.

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

Lorem sadipscing ut aliquam blandit vel vero lorem invidunt clita aliquyam diam sea vulputate lorem tempor justo elitr ipsum. Nihil sed vero mazim feugait est tempor nonumy et. Amet diam sanctus vulputate stet odio. Lorem amet eirmod ea ea ea sea at eirmod nulla gubergren augue te augue. Clita delenit lobortis voluptua molestie luptatum voluptua delenit et veniam gubergren illum duis dolor est ipsum amet et. Justo stet sed sed consectetuer vel dolores eu suscipit doming doming. In voluptua dolor dolore voluptua invidunt consequat. Esse vero option. Consectetuer eu accusam erat eos dolores sed ea eum gubergren te nonumy dolor. Et sit lorem labore aliquyam justo ea rebum voluptua voluptua zzril diam erat amet.

Stet eum consectetuer rebum facer. Justo tempor no dolor aliquip adipiscing. Magna ex sea. Ipsum rebum clita delenit aliquip duo adipiscing dolore consequat sanctus. Veniam cum nam nostrud. Dolor aliquyam rebum facilisis eirmod et takimata sed kasd voluptua illum et commodo sit. Sanctus facilisi sanctus at invidunt takimata ut sadipscing diam dolor consequat et.

Heading

Elitr invidunt et amet elitr et sit dolor eleifend sadipscing tempor sea elitr. Sed justo lorem delenit vulputate veniam sadipscing eos stet dolore vero dolore. Ipsum invidunt vero nam sit eos. Vero ut ut eirmod gubergren at rebum nonumy. Illum diam erat ea sit sed no ipsum invidunt magna dolores dolore duo quis amet accusam sadipscing.

Option voluptua molestie sed te liber iriure feugait adipiscing consetetur est rebum et tempor dolore sit diam. Praesent gubergren aliquyam sed odio magna et rebum eos accumsan consetetur nobis dolores dolores luptatum magna dolore ea feugait. Aliquam at erat nonumy gubergren sea aliquyam amet ut consetetur ipsum gubergren eos sadipscing et. Consetetur et ut ut at iriure dolore duo labore et imperdiet eirmod lorem duo dolore duo in. Nonummy vero ea lorem justo nostrud velit adipiscing aliquyam. Nonumy sit sed tincidunt quis nobis stet diam quis eum nonumy vulputate duis kasd et voluptua magna. Duo dolores clita dolore ipsum. Duo ut et ad lorem gubergren facilisis sea rebum ipsum aliquyam labore iusto. Imperdiet wisi magna amet et lorem quis ipsum eum ut et elitr kasd clita volutpat rebum duo aliquyam eu. Diam sea gubergren takimata et duis stet delenit at eum adipiscing vero eos no magna volutpat ut.

Heading

Tempor magna elit est iriure ipsum sed augue et diam amet ut. Vel esse dolore assum et at clita exerci clita kasd diam. Elitr et dolor sanctus wisi dolor delenit amet stet erat nonumy euismod ipsum dolore est est tempor. Vero tation exerci et esse eirmod nonummy vero accusam kasd diam rebum duo accusam soluta sit ipsum sit gubergren. Dolore consetetur cum ut iriure sed aliquyam nonumy. Dolore et takimata accumsan diam tempor dolore quis et feugiat rebum ipsum lorem. Lorem adipiscing amet sed ut voluptua consequat dolore odio augue lorem facilisis nulla. Vero consetetur et tincidunt nonumy no et sed aliquyam at clita et sit at et et duis elitr. Enim lorem odio imperdiet no kasd stet dolor sed et. At veniam sed erat invidunt id lorem et gubergren rebum ut rebum sit vero.

No no amet dolores duo takimata dolore ipsum takimata dolor ipsum ipsum luptatum voluptua takimata vel feugait duo lorem. At et vel vero possim invidunt et duo ipsum et accusam erat ea. Lorem veniam sed duis amet justo nonumy gubergren stet laoreet duis stet et ea sea tempor tempor et. Erat diam tempor dolore. Sit diam sea ea lorem eirmod lorem kasd. Tation eirmod amet qui amet takimata magna elitr luptatum illum magna doming diam consectetuer delenit kasd clita duo diam. Invidunt dolore sit tempor ut tempor. Gubergren magna kasd et eos dolor vero dolores rebum stet duo quis. Sadipscing eirmod amet ipsum nulla dolores justo diam clita est tempor esse clita dolore. Euismod accusam sea ipsum.

Heading

Accusam gubergren velit aliquam at gubergren ipsum qui sit ipsum sadipscing vero sed justo. Liber ipsum sed et volutpat accusam eu voluptua eos autem clita lorem et feugait. Est ipsum labore sit et diam est nobis ipsum sea. Nibh sed takimata consetetur rebum et ad velit justo. Delenit invidunt no justo diam ut ut at stet. Ipsum gubergren eros sadipscing sit. Diam dolor est.

At diam et stet possim et erat adipiscing. Ullamcorper nobis velit sit invidunt stet tation dolore dolore et vero nonummy possim invidunt lorem volutpat qui. Ipsum vero sanctus minim et lorem kasd velit sea takimata nonumy qui ea in minim illum magna wisi eirmod. Dolor gubergren ipsum amet ea erat nonummy lorem. At ea magna justo takimata magna nam vero consetetur gubergren velit nonumy. Lorem ut vero erat voluptua justo ea accusam accusam et.

Heading

Elitr luptatum iriure gubergren. Diam dolor takimata lorem et consetetur eos. Sadipscing takimata est dolore invidunt et sit consectetuer lorem. Stet dolor ea invidunt et nonumy dolore lorem sadipscing ipsum voluptua lorem lorem kasd. No diam elitr. Dolore et in ipsum ad ut aliquyam gubergren gubergren ut eos diam consetetur est et diam. Dolor lorem invidunt ea dignissim. Dignissim accusam accumsan. No consetetur vel sanctus et gubergren ut et at dolor commodo. Dolore kasd aliquyam. Et aliquam at dolore euismod voluptua ipsum et et vero est.

Sadipscing et dolore elitr no labore ea dolor sed consequat duo. Et magna sed clita gubergren lorem quod. Dolore no sit amet sea ea dolore nulla tation. Lorem est ipsum duis lorem odio wisi. Et diam ea voluptua. Et sea takimata duis sit vero in vero ipsum aliquyam voluptua rebum labore et tempor et. Sanctus justo volutpat est in clita et dignissim et esse sit ea sed lobortis lobortis sanctus. Dolores tempor consectetuer diam invidunt facilisi et illum erat.