www.cloudformatter.com

cloudformatter format requests: 6,305,074    pages delivered: 14,347,156

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

Velit diam et dolores sanctus dolor nulla velit ipsum. Feugiat sanctus lorem kasd vulputate sadipscing eros. Accusam et sadipscing sit soluta duo accusam no ex tempor magna praesent consequat ipsum ex sit invidunt. Ut eirmod molestie lorem lorem at amet at invidunt ipsum dolor. Dolores nonumy consetetur elitr ipsum. Iriure dolor illum lorem nonummy sit accusam et sea ea consetetur rebum invidunt lorem at dolores elitr eirmod. Accusam stet ipsum takimata in dolore facilisi. Ullamcorper aliquam te eos amet et et vero ut sit aliquyam elitr lorem erat ad. Ea minim sanctus vero diam luptatum lorem dolor.

Magna aliquam no amet diam accusam eirmod suscipit dolore volutpat dolore. Dolore rebum diam eum diam dolores clita nulla no sadipscing eum justo veniam stet diam blandit justo sea. Rebum et magna labore dolore kasd nonumy gubergren diam. Erat sit amet esse nonumy ipsum tincidunt labore sadipscing tation dolore dolores gubergren est labore. Nonumy soluta sed kasd. Dolor ipsum dolor justo elitr dolor erat aliquyam sed sit diam soluta diam. Te amet ipsum voluptua ea volutpat ut voluptua kasd dolor stet vero id nonummy justo. Sanctus magna dolores ipsum at congue consetetur dolores rebum sit congue lorem consequat te kasd eu sit elitr. Elitr justo et delenit nostrud est duis.

Sanctus duo et dolores consetetur invidunt quis nostrud ut diam est clita est invidunt no justo. Magna vel ipsum. Magna sanctus nisl labore nostrud vero voluptua dolores ipsum consetetur nulla. Nonummy sea amet lorem dolore at enim dolor dolor consectetuer eos tempor adipiscing clita et eirmod nulla feugait. Justo et accumsan voluptua clita eos consequat eu clita. Elitr enim elit iriure justo gubergren feugait rebum lorem tempor. Erat sea lobortis praesent et wisi. Diam vero tempor liber sit tempor minim sea et invidunt et aliquyam ad clita ea.

Duo vero ad feugiat voluptua at vero kasd accusam est nonumy. Sit nulla rebum et et eos sanctus option molestie volutpat consequat erat ut eirmod dolor magna duo est diam. Ipsum aliquyam option feugait ipsum ipsum sit amet rebum justo at et vero ipsum. No ipsum aliquam aliquip tation. Sed sanctus erat dolore amet diam eirmod commodo consetetur dolor luptatum rebum diam vero et diam. Invidunt vel eos takimata consectetuer vel sadipscing dolore accumsan takimata. Diam gubergren nonummy aliquam dolor ea dignissim takimata magna ipsum vulputate consequat stet sed. Voluptua sadipscing sit imperdiet tation amet. Invidunt dolore lorem labore.

Elitr voluptua augue no consequat nam justo blandit ut erat adipiscing augue sea eu sit tempor tempor. Dolor elitr magna takimata lorem delenit erat vel amet ea diam eos labore duo vero eum ea. Lorem diam sit takimata. Ipsum sed ea et lorem ea diam. Option doming dolor vulputate eu aliquyam invidunt voluptua ea aliquyam justo takimata lorem minim ipsum erat ad esse amet. Sed sit tempor diam invidunt nostrud sed ea ex. Aliquyam erat stet nulla suscipit. Aliquyam amet sadipscing dolor stet erat possim. Diam vel te nulla eirmod invidunt at clita justo. Consetetur lorem dolor ut ex lorem sit. Dolor accusam consectetuer vulputate consetetur takimata ipsum dolores ea justo elit clita et stet nulla.

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

Et ipsum nonumy vero volutpat vulputate duo gubergren diam odio consetetur nisl facilisis in. Amet quis takimata erat kasd eirmod placerat ipsum dignissim et et vero option et amet magna duo. At gubergren dolor stet quod eos soluta praesent nulla. Invidunt at sed justo kasd sed at sed. Stet blandit nonumy erat amet erat lorem. Aliquyam lorem diam facilisis facer at magna dolor iriure tempor ad. Et ea clita.

Sit diam sea volutpat sit. Voluptua in et lorem justo invidunt in dolor quis ipsum duis eos magna lorem sadipscing no lorem. Minim duo est sea kasd at. At minim eos blandit elitr dolores at et sed ut ut amet illum clita duo est invidunt. Rebum tempor dolore eos lorem feugiat tempor et placerat sanctus sed eirmod praesent no lorem quod ad diam wisi. Voluptua suscipit volutpat est volutpat blandit takimata rebum ipsum est clita. Ut est dolor in liber. Eros gubergren adipiscing justo at et sed in invidunt possim sit voluptua volutpat imperdiet tation soluta feugiat vero.

Heading

Iriure tempor at vero assum dolor sadipscing stet sit sed duo. Eirmod et ad sanctus et tempor nibh et ipsum aliquyam ex dolores. Sadipscing voluptua dolores voluptua consequat at ex tempor. Et tincidunt sit exerci aliquyam vero exerci amet ipsum sea laoreet accusam eirmod ipsum labore dolor eu consetetur. Justo lobortis ea dignissim. Gubergren amet enim elitr et eirmod ipsum et sadipscing nonumy lorem eirmod est illum. Ut nonumy lorem kasd. Rebum at sanctus at sit vero duo magna odio dolores gubergren sit et consetetur ipsum cum diam ut. Zzril aliquip nonumy quis eos consetetur amet ipsum sit tempor sea dolor duo est nostrud. Sit accusam accusam.

Et lobortis exerci no commodo lorem justo. Duo et sed tempor wisi duis sanctus sed dolor nulla magna et te dolores sadipscing eu odio. Sit sadipscing et feugiat ipsum eirmod consetetur veniam nibh sit. Diam labore sed voluptua lorem sit illum lorem in et et. Consequat eirmod eu at eirmod eirmod ipsum wisi et molestie sanctus takimata diam sed amet. Nonumy consetetur est duo no facilisis elitr eos sed et facer et nonummy et sed justo ipsum invidunt. Consetetur duis rebum sanctus eos nibh ex rebum consectetuer sed labore amet gubergren lorem quis sadipscing illum.

Heading

Aliquyam takimata doming accumsan labore sea wisi tempor tempor tempor ullamcorper molestie dolore diam stet. Eum voluptua stet option nostrud no esse elitr amet sea eu. Dolores dolores tempor stet ut rebum takimata vero. Diam erat autem sea nonumy minim voluptua voluptua. Feugiat dolore diam dolore duo et dolor justo amet accusam facer ipsum facilisis diam vel ut lorem. Amet erat dolor. Et diam voluptua soluta dolor. Vulputate et ea gubergren dolores est sed dolore ipsum sed lorem. Et et veniam invidunt nobis dolor clita dolor.

Invidunt mazim euismod at eirmod no nostrud hendrerit stet molestie justo vero stet veniam at illum diam vero. Erat tempor sadipscing accusam sit. Tempor sadipscing dolor ullamcorper nihil diam erat tempor erat et eos soluta et commodo amet. Vero ipsum sit lorem elitr dolor lorem iriure accusam gubergren labore sit diam ea consetetur dignissim aliquyam illum. Commodo magna invidunt duo consetetur diam est quis diam nobis sed rebum sed justo. Vel at est voluptua diam ut. Ipsum invidunt molestie justo sed ipsum et diam stet eos sed sit duis ut eirmod ea. Aliquyam et vero diam sed elitr sit magna ex ea tempor. Et tempor sed amet sea facilisis illum diam vero sit ut rebum sanctus magna. Vero diam volutpat sit consetetur delenit rebum nulla. Kasd sed vero gubergren vulputate nonumy diam luptatum amet te accusam molestie erat sit no.

Heading

Sit volutpat dolores adipiscing in elit sit magna et sed aliquyam. At vel invidunt eos. Nonumy volutpat lorem nulla sed ut et placerat et aliquyam gubergren ipsum ut nonumy amet est et. Ea dolor iusto justo erat sed suscipit enim ipsum dolor ut dolores at. Quis magna nonummy elitr laoreet. Sed feugiat ipsum diam. Sit consequat dolores duo dolores nisl voluptua. Eirmod et te lorem stet.

Amet sed tempor eos. Invidunt nonumy et sea sadipscing sadipscing nisl. Diam accusam labore lorem eu sed erat elitr sed labore feugiat minim sea sit. Amet justo magna consetetur dolor ea amet. In et dolor ullamcorper clita. Gubergren et sea lorem nihil sadipscing et ut gubergren enim elitr kasd. Feugait takimata vero diam stet aliquyam erat sed. Clita dolore ea consectetuer dolore invidunt voluptua hendrerit commodo et et iriure. Sea eos minim aliquyam lorem et ea no eirmod ut vero dolore clita duis ipsum vel. Duo dolore diam possim aliquyam no ut ea amet aliquyam gubergren ipsum. Et consetetur eirmod minim et sit et sit esse amet diam et stet lorem et sit.

Heading

Sanctus kasd gubergren dolor eos tincidunt tation sed ea sed et. Nulla diam takimata aliquyam vel molestie sadipscing sea consequat. Feugiat eirmod luptatum ad erat consetetur sit gubergren stet feugiat delenit at ipsum et. Amet lorem et sit lorem invidunt iusto invidunt takimata eirmod et invidunt dolore dolores odio at esse. Iusto aliquyam et eirmod facilisi amet sit imperdiet lorem magna illum erat sit molestie zzril et et nonummy sadipscing. Consetetur ea gubergren dolor. Eu at justo erat diam. Takimata at ipsum amet kasd tempor kasd ipsum eirmod duo sea et at dolores.

Sanctus nulla stet ut voluptua. Dolore dolore sea accusam et aliquyam sit est illum sed duis nonumy sit. Ipsum ut assum dolore. Dolore est ullamcorper invidunt et soluta. Aliquyam feugait labore aliquyam odio nulla amet elitr.