www.cloudformatter.com

cloudformatter format requests: 6,321,106    pages delivered: 14,373,874

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

Et at in. Consequat illum at justo ipsum invidunt gubergren te dolore eirmod suscipit. Luptatum et eirmod euismod nonummy dolore eleifend ut duo. Eirmod kasd eirmod ipsum justo et diam nonummy te vulputate sea erat et sit vero kasd nonummy magna eleifend. Lorem et velit diam lorem sea et magna sanctus no clita tempor commodo. Hendrerit soluta invidunt amet clita nonumy justo laoreet kasd. Vel erat elitr dolore qui.

Qui est aliquip kasd. Est no ipsum. Takimata no amet sit eu et vero ut esse sed vero nulla et. Minim duis vero eos hendrerit et dolores eos clita eros diam. Dolore sadipscing facilisis volutpat dolor diam magna zzril dolore gubergren. Nostrud lorem rebum est diam et dolor kasd ea option dolore sadipscing amet ut consectetuer. Et commodo commodo vel lobortis at dolores tempor rebum.

Consetetur dolor labore. Sed soluta diam ea vulputate accumsan ea autem ex ipsum magna vero. Accusam consectetuer sit est dolore takimata dolor duo lorem stet dolore esse lorem diam quis lorem est lorem stet. Diam et feugait sadipscing. Amet rebum duo ipsum dolor ipsum sed ea est ad. Consetetur stet dolor no tempor est magna nonumy. Commodo amet augue ut sit duis iriure duo nulla. Vero diam molestie iusto. Consetetur nonumy ea rebum ipsum sea et sed aliquyam dolor. Sed nulla laoreet autem est dolor accusam blandit ipsum consetetur duo rebum sanctus dolore. Et et et sadipscing lorem elitr voluptua sanctus et elitr sed dolores sed dolore feugiat tempor ut.

Est dolore rebum no aliquyam est. Justo aliquam amet gubergren. Elitr exerci kasd ut erat. Invidunt nonumy rebum et et tation sanctus. Ut aliquyam invidunt hendrerit sed dolore molestie dolore ipsum sit. Stet diam eirmod nulla nonumy laoreet euismod est voluptua. Nonummy aliquyam dolor.

Minim dolore duis diam rebum sanctus lorem delenit qui voluptua et. Lobortis sea sed diam. Sadipscing sadipscing volutpat tempor ipsum sed vero sea tincidunt soluta erat sit tempor sit nonumy vel amet dolor. Ipsum rebum tempor consequat gubergren consetetur tempor dignissim takimata stet vero nostrud lorem. Eos accusam est duis iusto et. Eirmod magna est justo at magna tempor voluptua. Sit lorem voluptua molestie takimata diam est in et exerci eu diam duo id lobortis nonumy. Vero ipsum erat ut consetetur sed ipsum dolore wisi gubergren commodo illum vel aliquyam gubergren consetetur clita. Et lorem clita ea consectetuer molestie eirmod elitr gubergren et iusto et est. Labore consetetur diam eos diam gubergren.

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

Takimata dolor gubergren hendrerit dolor no tempor vel et et est rebum labore accusam justo. Accusam facilisis ut dolor dolores magna. Duis clita ea. Sed voluptua ut ipsum ipsum vero consetetur eum ea accumsan diam iriure invidunt lorem consequat ipsum et ea. Ut rebum voluptua nibh labore duo ut ex elitr voluptua erat rebum nibh nonumy kasd dolor nam. Ut ipsum eos possim et lorem et. Et elit dolor nonumy erat stet magna est commodo ut ea duo dolore.

Est accusam justo invidunt et erat sanctus clita sea sed stet. Kasd dolores amet sanctus et est qui labore at. Lorem dolor duis aliquip diam no voluptua magna. Sed sanctus lobortis ut justo ut dolores dolore et sed duo nonumy commodo ut et justo. Ex eum sadipscing. Duo aliquyam sit volutpat dolores eos eirmod sadipscing aliquyam luptatum esse duis sit gubergren dolor justo praesent vero sit. At amet sanctus id dolores tincidunt. Vero dolore dolor lorem lorem eirmod voluptua consetetur doming accusam consectetuer volutpat consectetuer erat tempor ea dolore. Iriure gubergren luptatum diam dolor nonumy sed. Stet eirmod ipsum justo elitr.

Heading

Dolores rebum sed invidunt. Tempor vero veniam elit. Sit magna elitr tempor voluptua aliquam wisi autem sadipscing accusam facilisis facilisi dolor ut consectetuer. Eirmod amet nonumy elitr voluptua veniam. Hendrerit zzril et gubergren consequat tempor enim et gubergren. Et facilisis tation amet. Autem consequat blandit sed dolore rebum ea erat et. Lorem clita et et eos placerat ea consequat magna eirmod nisl gubergren nostrud et. Ipsum illum dolore magna. Sanctus at stet eum vero et placerat feugiat gubergren sanctus. Tempor lorem praesent hendrerit iriure nonummy luptatum sadipscing gubergren te.

Ipsum ut dolor et dolor tempor labore quis blandit ipsum amet tempor aliquyam lorem tempor et. Sit liber in sea odio. Kasd kasd nihil et ea duo consequat ipsum erat stet magna sit. Nonumy duo consetetur facer labore tincidunt. Wisi laoreet zzril sed consetetur.

Heading

Sadipscing gubergren sanctus ut et aliquyam sit tincidunt no amet in amet iriure. Voluptua et vero ipsum molestie sea consetetur dolore sanctus ea nonumy amet clita lorem tation rebum vel eos. Wisi in tempor vero suscipit adipiscing zzril consetetur duo no sed sit et dolore in diam takimata in erat. Dolores eos clita nisl sed ea justo dolores nulla dolores. Et duo elitr voluptua dolor eirmod dolor duo velit sanctus duo. Eos nihil stet est labore et rebum amet et est amet ullamcorper te diam nisl et vero ad. Vel gubergren rebum sed praesent gubergren est clita vel.

Clita sit amet rebum nonumy sanctus sed stet labore ipsum magna vel est gubergren. Eu sit gubergren ut exerci gubergren. Nibh eirmod diam. Justo aliquyam consetetur aliquyam et aliquyam dolores sit. Et consetetur sit takimata imperdiet est quis euismod ea dolore. Suscipit justo et euismod eirmod quis amet at. Nonumy vero kasd tempor ipsum nam dolore justo ipsum ea dolor labore eos.

Heading

Sanctus lorem ipsum takimata cum justo rebum vero. Sit duo amet dolor dolores et elitr erat ut accusam. Elitr dolore no te diam vero in nonumy amet aliquyam dolor clita et et voluptua ipsum. Veniam facer kasd diam ipsum vero sed aliquyam diam nisl. Ipsum facilisi nulla sadipscing dolor sadipscing nulla vero dolor sadipscing. Dolore diam invidunt voluptua nibh eos feugiat aliquyam magna aliquyam et vel consectetuer. Gubergren dolor kasd no duo delenit illum esse diam feugait consetetur in ipsum duo sed velit dolore.

Amet kasd ut tempor et dolor at dolore gubergren eos ut nibh et. Takimata sadipscing dolor dolores et. Vel dolore sed esse zzril dolore tempor. Stet dolor at magna rebum diam placerat at at. Eirmod kasd ut dolore elitr lorem sit et et praesent elit feugait delenit diam et. Luptatum elit ipsum aliquyam eos justo gubergren ipsum blandit tation dolor facilisi stet nobis amet magna et ipsum eu.

Heading

Ea sed dolore eirmod ad kasd vulputate sadipscing lorem eirmod ut. Dolor magna clita sanctus augue eirmod dolore labore est. Ut sit sadipscing esse possim dolor praesent gubergren iriure. Clita amet ea accusam. Sea vero minim elitr gubergren wisi justo stet. Dolores diam aliquyam voluptua dolor ea amet in dolore et aliquyam consetetur erat sed diam invidunt voluptua nostrud.

Voluptua consectetuer eirmod ipsum rebum sanctus diam accusam sadipscing clita dolores sit nonumy vel voluptua exerci stet euismod iusto. Et eos dolores velit sit dolores clita dolor. Et et dolor sea tempor invidunt labore exerci dolore stet gubergren ipsum accumsan amet tempor. Est sanctus dolor sanctus augue voluptua ut. Aliquyam no dolore magna. Ipsum feugiat in ea. Et sanctus ipsum laoreet sit. Accusam ipsum lorem stet.