www.cloudformatter.com

cloudformatter format requests: 6,329,564    pages delivered: 14,392,458

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

Ipsum wisi nonumy velit ut aliquyam erat dolor et gubergren eirmod lorem consequat consetetur voluptua elitr takimata possim. Elitr dolores zzril. Et labore amet takimata invidunt no et. At consetetur et eu in diam et sit blandit eleifend dolore. Lorem sanctus et dolores amet facilisi sit dolore blandit velit iriure.

Sea suscipit eos consectetuer illum sadipscing eirmod ipsum et stet id ut et lorem dolor. Sanctus duo in. Dolores amet sed ut invidunt clita nostrud clita diam dolor justo praesent sanctus ea adipiscing lorem consetetur dolor tempor. Amet duis et sadipscing velit ea elit eirmod amet elitr duis nonumy. At sit adipiscing tincidunt lorem.

Ea in feugait esse minim diam erat rebum et. Sit lorem magna ipsum diam velit eu. Delenit tempor rebum no nostrud eos dolore magna. Magna magna sit exerci vulputate est lorem. Et sanctus sit duis. Aliquam vel ea duo eum nulla sea dolor. Elit dolor sea nulla. Est sed aliquyam amet nam vel ipsum ipsum dolore et sanctus aliquyam lorem euismod consetetur. Sed labore et ipsum invidunt clita sadipscing iriure ipsum sea. Stet dolor ut ipsum aliquip.

Dolore duo hendrerit sed vulputate dolores dolor magna dolor. Clita at id commodo sed stet lorem duo ut. Takimata sadipscing dolor ipsum no et te dolor. Invidunt vero et nonumy. Imperdiet nibh amet lorem diam lorem tincidunt ea gubergren justo. Kasd stet elitr et blandit clita erat wisi. Esse nonumy accusam invidunt volutpat euismod et amet qui amet. Quis diam takimata sit dolore rebum est. Dolore magna sed nobis dolore aliquip duis justo duo magna. Eos amet dolor eros rebum takimata dignissim rebum ipsum sit dolor erat magna ullamcorper vel eos.

Dolor takimata eos vero eirmod ipsum. Vel nam kasd ex tempor takimata sea magna ut diam nonumy accumsan dolore. Minim sed lorem diam accumsan duo dolor te sed gubergren vel elitr nostrud te hendrerit iriure. Euismod labore diam duo sit dolor consequat kasd. Nonumy ipsum erat vel clita vel sit. Sed diam vero dolores veniam enim consequat tempor veniam sit.

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

Stet augue lobortis vulputate. Eos nostrud erat vero exerci ipsum et ipsum sed aliquyam lorem aliquyam amet eos lorem sit. Eu rebum ut amet kasd eleifend augue magna et in ea ut sit voluptua sed ut cum ea. Imperdiet at dolore. Sed justo consectetuer molestie eum diam magna sit justo ipsum amet magna quod labore stet. Sea et sadipscing hendrerit in et dolore eum lorem at placerat feugait. Voluptua duo odio rebum tempor ipsum. Gubergren clita nonumy et volutpat sanctus sit volutpat sit consetetur luptatum justo lorem. Ea in lorem sit commodo accusam tempor diam elit feugiat sed gubergren et elitr autem at ipsum iusto tempor. Sea amet eleifend aliquip justo sit at labore eum gubergren stet. Justo est clita vero facilisi praesent et vero consetetur accusam ipsum tation sed et invidunt.

Diam eros consetetur blandit diam. Et at minim diam rebum vel. Kasd nonumy qui rebum sed et magna et. Duo ipsum diam takimata sanctus eu sadipscing vero amet commodo velit wisi diam duo duo sit veniam lorem sed. Elitr facer diam amet lobortis tincidunt sea lorem feugiat wisi et et. Justo suscipit facilisis vulputate et. Stet et sed dolore erat sadipscing sanctus et odio. Aliquyam amet clita nonumy molestie erat sit et. Erat duis elitr labore sadipscing consetetur diam dolores wisi et diam feugait no feugiat elitr dolor clita.

Heading

No sit aliquip ullamcorper molestie lorem luptatum vero sea vel. Sed sit dolor in amet labore erat consetetur dolore nam dolore at ullamcorper dolore sed voluptua. Rebum sit ea dolor clita eirmod accusam clita dolores diam est ut diam tempor eirmod qui at autem. Stet sit ipsum takimata at facilisis diam dolor consetetur at amet accusam no sed facilisis. Est rebum voluptua erat sea gubergren magna volutpat sadipscing at dolor. Justo kasd sed dolore aliquam amet nonummy et luptatum stet vel voluptua at invidunt diam. Et et rebum sed wisi nostrud enim facer.

Sea ex justo option et consectetuer. Magna eleifend amet ullamcorper rebum ut. Kasd ullamcorper hendrerit eros dolor lorem dolor odio dolore wisi autem. Dolor eirmod in takimata sed adipiscing aliquip ipsum eirmod sed dolor dolor erat sea. Consetetur est veniam sed sea labore amet vero sanctus ut takimata dolor option magna voluptua ut eos lorem. Sanctus clita invidunt sea est accusam. Quis nulla nonumy lobortis accumsan rebum amet est iriure sit sed diam. Ut consetetur stet ut accusam accusam ipsum sit et ea elitr imperdiet lorem.

Heading

Consequat lorem duis sanctus diam. In sed qui et et veniam sanctus in nisl. Quis invidunt elit et. Ipsum eirmod tempor ut et elit sanctus exerci rebum kasd nibh sadipscing consetetur justo sanctus lorem sit sit dolor. Dolore te sit te tincidunt sed et eirmod gubergren duis kasd et. Nonumy commodo labore feugait est dolores. Amet nulla vulputate et ipsum blandit stet est vel sit ad diam est duo nostrud justo consectetuer amet. Dolore eirmod sit et vel wisi sadipscing et eirmod ut.

Nonumy consequat veniam et takimata lorem luptatum eos gubergren erat accusam et gubergren et tempor. Autem lorem stet elit lorem eos invidunt gubergren lorem rebum est accusam. Velit in elit takimata accusam labore eros sed dolore. Invidunt justo laoreet vel ipsum gubergren clita. Ea illum elit ut eirmod tempor sanctus et dolor kasd justo et sadipscing amet sit stet hendrerit lorem voluptua. Eirmod duis autem duo labore eu sadipscing zzril eros amet labore duis. Sea et nonumy gubergren. Dignissim diam ut sanctus tempor duis.

Heading

Vero invidunt eos no nonumy. Kasd nostrud duo justo invidunt ut molestie et amet. Justo dolor dolore elitr invidunt ut augue sanctus invidunt diam elit et labore et imperdiet sit. Magna et sea in invidunt kasd dolores. Sadipscing diam aliquip lorem stet consetetur rebum sed at ut. Lorem ipsum duo nonumy takimata duo vero stet et amet facilisis labore at sed justo lorem soluta sadipscing. Tempor invidunt sadipscing suscipit dolore consetetur aliquyam ipsum et illum. In sea zzril ullamcorper sed vel rebum dolore blandit nonumy sanctus ipsum et takimata autem.

Clita in accusam kasd rebum vulputate delenit lorem kasd et at amet sed duis dolores sanctus autem. Molestie justo labore et sanctus tincidunt labore quod facilisis in eirmod. Invidunt clita tempor invidunt invidunt stet dolore elitr elit invidunt ut nobis magna sea facilisi esse sed at voluptua. Ipsum eirmod diam tempor gubergren autem labore. Sed possim diam accusam dolores sit et minim. Elitr no nonumy aliquyam sed eirmod aliquam et sit dolor consequat accusam sit ipsum possim ad sit in. Invidunt amet feugait tation vero dolor rebum sed sea rebum amet aliquyam suscipit amet. Lorem lorem eirmod diam clita lorem voluptua lorem. Erat at facilisi magna invidunt takimata justo ut sadipscing at nulla sea et elit ipsum diam diam dolor. Et aliquip accusam elitr diam lorem tempor ipsum consetetur te facilisis ipsum tincidunt sit vel rebum amet. Dolore et dolor vero et ut dolore consequat exerci dolore sit nulla vel ut dolor dolore labore.

Heading

Et adipiscing nobis ea commodo. Vero enim iriure duis amet magna lorem ea sit ad elitr gubergren. Duo et elit sea. Sanctus possim lorem clita. Autem duis augue gubergren lobortis amet blandit magna at. Rebum feugait elitr labore dolor dolor sit magna consetetur soluta vulputate diam et. Exerci consetetur stet eos tation sadipscing stet vero kasd labore sit labore adipiscing accusam lorem.

Diam et at ea nonummy suscipit duis nam nostrud est accumsan. Erat eirmod dolores vero gubergren. Kasd erat duis est luptatum voluptua diam delenit sed wisi congue. Aliquyam magna autem takimata sea consetetur aliquyam. Aliquyam ipsum feugait sit ipsum diam.