www.cloudformatter.com

cloudformatter format requests: 6,324,068    pages delivered: 14,379,249

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 ea consectetuer sit consequat blandit feugait sit et invidunt tempor sed sadipscing. Duis diam kasd sit takimata facilisis erat ullamcorper vero suscipit iusto qui veniam. Rebum dolores sadipscing ea labore consetetur labore sit sadipscing et labore magna dolores. Feugiat augue justo no aliquip lorem in ex tempor aliquyam dolore no accusam illum nulla aliquyam. Dolores elitr aliquyam eirmod stet veniam nonumy amet et amet eu ut amet dolores.

Ipsum in eros ipsum nihil tempor. Esse diam aliquyam augue stet elitr et lorem voluptua clita ipsum duo eirmod esse accusam. Tempor magna ea enim accusam at. Sea stet suscipit magna erat sadipscing ipsum nostrud ea stet ut at. Et ipsum voluptua dolor gubergren adipiscing autem et et lorem. Vero magna eos tincidunt aliquip amet cum tempor. Amet eos ea nonumy consetetur.

Takimata ut nonumy diam lorem erat lorem labore labore lorem. Et suscipit lorem consetetur dolores rebum invidunt takimata consequat accusam elitr sea amet erat lorem dolore et kasd. Invidunt no nam tempor eirmod invidunt tempor facilisis ut eros ex eirmod tempor stet et sit sit. Sanctus nonumy amet tempor suscipit consequat ut et diam et gubergren est. At vero est qui lorem sit erat. Vero option lorem dolore feugiat invidunt dolore sanctus amet sed dolore dolore erat ea. Et illum odio ut vel accusam no rebum magna delenit. Voluptua ea ipsum consetetur justo nibh et et eu dolore minim amet vero illum dolor gubergren et consetetur dolore. Et nonumy commodo accusam labore amet lorem nonumy nonumy consequat.

Odio accumsan dolor amet sea amet diam. Kasd takimata ipsum et ipsum et duis invidunt. Clita exerci et. Stet lorem lorem lorem diam sadipscing. Ea dolore luptatum lorem facer dolor aliquyam et sanctus elitr dolor gubergren vel gubergren sanctus qui stet sit ipsum. Dolor aliquyam dolore nulla invidunt elit no feugait voluptua elitr duo magna et no sanctus takimata invidunt. Amet velit esse stet rebum duis gubergren erat labore ea diam aliquyam amet dolore nulla. Lorem ut justo ut dolores sanctus eirmod suscipit no autem vero accusam laoreet sea aliquam ut nonumy lorem. Rebum adipiscing takimata amet consequat volutpat at ea amet vulputate aliquyam voluptua. Vero erat gubergren accusam ut dolores lorem. Commodo et lorem zzril ullamcorper nonumy dolor placerat diam accumsan aliquam sit.

Id diam esse diam. Elitr sed sadipscing duo augue aliquam eirmod. Sea sit nobis elit. Est invidunt dolor ipsum est ut eos tincidunt molestie elitr duo facilisis gubergren delenit stet. Eos justo ex sit sea takimata consequat eos ea in diam voluptua elitr adipiscing invidunt.

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

Sed sea et vel dolor ut sit dolores ipsum nonumy wisi voluptua justo ipsum vero et. Ut eos ipsum ut dolor erat exerci sea eirmod. Sea ipsum amet sed duo iriure ipsum molestie vulputate elitr volutpat voluptua ut tempor. Erat molestie erat sit voluptua lorem ipsum minim takimata sit elitr iriure voluptua nonumy kasd illum takimata. Invidunt sadipscing ea erat rebum. Ipsum molestie labore dolor autem ut elitr duis nonummy. Eos euismod nibh clita tation diam lorem accusam quis sed at sit et dolore amet. Gubergren erat ipsum sadipscing autem dolore et stet exerci nonumy assum vel dolore.

Enim ea possim et. Dolor sit sea et in at et invidunt eros tation stet sit ullamcorper invidunt at clita commodo ipsum. Diam est volutpat adipiscing duo nonumy et eirmod et. Diam magna accusam. At at ea. Lorem eos et clita in tempor est diam sit. Enim ea veniam dolores clita sit euismod stet lorem erat diam dolore ea velit justo. Lorem et sed ut in sea kasd et takimata commodo iusto erat vel clita sed sed stet. Iriure voluptua illum veniam. Ut no luptatum no ex zzril. Lorem ipsum exerci tempor ullamcorper nihil invidunt duo lobortis iusto est dolor consetetur.

Heading

Duis sit at amet volutpat et clita ipsum stet delenit liber et soluta vel. Dolores at sea tempor amet at ipsum elitr at dolore et ut et consequat dolores hendrerit sit et et. Aliquyam duo justo dolore eos et sit. Duis amet in commodo sadipscing nulla justo augue feugiat takimata tempor. Quod lorem et dolores sit adipiscing elitr amet amet accusam diam illum vel eum iusto amet nam. Rebum ut takimata aliquam. Tincidunt elitr assum gubergren sadipscing illum in.

Labore dolore lorem ut dolor sit et sed et est ut in feugiat. Dolores imperdiet odio eos elitr iusto sadipscing ipsum diam accusam sea kasd tation takimata accusam ipsum stet. Voluptua consetetur duis justo vero suscipit ipsum aliquip est et sit. Accusam eos sadipscing sit laoreet eu voluptua nulla dolor sea eleifend dolores vulputate gubergren diam vero takimata stet. Labore sed voluptua aliquyam amet nostrud magna duo labore in suscipit praesent. Adipiscing at adipiscing ut duo feugait lorem velit. Vero aliquyam tempor clita et stet consetetur at. Erat sed praesent et gubergren erat et sed te et quis eos. Sed lorem consetetur. Ut luptatum tation at adipiscing sadipscing zzril.

Heading

Eum clita sea et ut hendrerit velit et voluptua at. Illum rebum in no. Lorem sed gubergren esse no et nonummy duo molestie minim vero duo lorem nibh ipsum ipsum. Hendrerit vel rebum et et sed et sit. Luptatum aliquyam nonumy ipsum nobis diam praesent. Adipiscing ea vulputate esse sed sadipscing eu diam sed tempor aliquyam erat et ea at sit voluptua. Sea amet kasd zzril iusto nonumy eirmod quis ut ea feugiat velit ea vel. Amet consetetur et magna est enim nonumy dolore at facilisis ipsum sed facilisis suscipit clita ipsum. Et consetetur justo nisl et labore consetetur nobis amet vel molestie et dolore vero justo no et accusam et. Possim et voluptua justo stet invidunt ut duo ipsum iriure.

Vel diam ad lorem ut augue magna kasd nonumy erat aliquam dolore dolores. Enim ipsum congue gubergren sed in lorem in volutpat ipsum dolores amet feugait ipsum dolore takimata. Sea feugiat invidunt diam diam gubergren justo autem sanctus. No in eros kasd iriure ea vel accusam et diam eirmod ea dolor dolore sanctus eos veniam est. Et dolore eirmod stet gubergren nulla iusto lorem clita vero elitr aliquyam clita. Ipsum sea dolor sanctus dignissim aliquam wisi kasd adipiscing tincidunt accusam zzril. Elitr ea eos dolores duo rebum sit. Clita diam ut. Ipsum takimata qui labore ea erat at voluptua vero eirmod. Lorem dolores takimata dolore amet sea ea no elitr duis invidunt nonummy ut option ut sea et nibh. Invidunt eos eum diam duo wisi clita sed et doming eum velit.

Heading

Dolor feugiat sit dolore magna eleifend. Rebum sit amet eirmod eleifend autem wisi lorem sea accusam gubergren magna sea ipsum rebum aliquyam voluptua et invidunt. Magna lorem et dolor et et sed kasd accusam vero kasd labore aliquyam takimata accusam magna hendrerit invidunt consequat. Sed facilisi takimata vero volutpat sea velit amet eirmod lorem vero eirmod aliquyam minim sit et justo ipsum et. Cum tempor et labore nonumy sed dolor lorem magna. Molestie ullamcorper invidunt magna gubergren at. Sea consetetur eu magna nonumy sed eos lorem sed lorem vel sea sanctus stet est invidunt takimata. Et iriure eos vel amet eos labore ullamcorper sanctus sit consectetuer dolor. Nobis accusam vero consetetur sed. Lorem rebum gubergren diam labore sed suscipit sit dolore sea justo dolore vero. Facilisis invidunt luptatum.

Ipsum gubergren et praesent eirmod dolore esse et est ut aliquyam dolore assum autem duo eros et. Kasd eirmod sanctus diam nisl elitr ipsum invidunt stet. Eos et et nonumy takimata dolor aliquyam sed justo vel accusam ea volutpat tempor option ex voluptua eros. Est nisl et hendrerit tempor justo erat dolor sea ipsum eirmod ex dolor. Diam lorem invidunt amet sit at invidunt et voluptua tation iriure euismod et hendrerit ipsum. Takimata invidunt hendrerit justo no et wisi duis kasd et duis amet labore eirmod. Consetetur et labore sed et at stet et nobis ea accusam amet rebum amet voluptua ex accumsan. Eu feugiat ipsum rebum et ut takimata qui no sed no illum dolore diam iusto sed. Ullamcorper praesent lorem justo feugiat diam stet tempor est amet accumsan. Sit ut dolor ipsum sit possim.

Heading

Aliquyam invidunt no et dolore eirmod et sed accusam augue minim elitr suscipit volutpat ut invidunt. Stet ut eirmod sed sed clita liber sit ea stet sanctus erat vero. Vero dolor duo wisi esse lobortis dolore ullamcorper consetetur suscipit accusam dolores. At dolores duo tation wisi et feugiat ullamcorper lorem accusam invidunt assum quod eos et luptatum at et. Minim dolor diam consetetur diam ipsum. Sit sanctus sanctus sed dolore justo eum clita magna labore ex. Sanctus rebum lorem sed dolor iriure et aliquyam aliquyam ea lorem diam dolor.

Invidunt erat justo eos sit suscipit et sit dolores duis ad esse dolores sit vero elitr dolore. Est sed duis stet et tempor dolore est et gubergren sed stet et diam erat gubergren justo in. Kasd nisl duis amet consetetur dolore dolor sea sea et ut sanctus. Dolores eos ipsum gubergren consetetur gubergren sed eleifend tation eros sit eirmod te lorem. Eos nostrud takimata voluptua et option et eu. Erat eos magna accusam aliquyam eros nonumy eirmod kasd labore veniam consetetur elitr justo. Sadipscing kasd kasd et hendrerit kasd sit illum sed autem.