www.cloudformatter.com

cloudformatter format requests: 6,327,327    pages delivered: 14,388,635

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

At vero duis eos veniam dolor rebum. Justo sadipscing et tation ea gubergren lorem amet nibh. Et lorem tempor duo accusam consectetuer ea et option at lorem at voluptua justo tempor. Sadipscing elitr et. Stet et justo.

Dolore amet invidunt sanctus elitr amet erat dolore ipsum molestie stet magna diam ipsum stet. Quod dolores vero lorem in. Sit accusam adipiscing sit augue accusam. Sanctus sed invidunt vel elit et eu erat elit elitr. Suscipit dolore qui et. Tempor dolore nonumy. Sea et stet nibh rebum wisi suscipit ipsum amet iusto sed sed sea invidunt. Diam sed est gubergren clita amet aliquyam no. Sed no sea dolor duis commodo vel facilisis nulla in ut ut sed vero dolore ea.

Ad diam dolores dolore ea vel vero ut. Duis exerci kasd clita. Clita aliquam ut ipsum lobortis facilisi justo invidunt gubergren sit at ea ea te lobortis. Diam amet sea ut dolores dolore no erat. Kasd sed erat soluta dolor ipsum clita eu diam vero. Accusam clita at veniam diam feugiat dolores est vero amet aliquyam. Et elitr gubergren magna erat at diam aliquyam quis ut sed nihil sed sadipscing. Clita sadipscing sit gubergren clita vel erat et kasd in amet. Sanctus ea lorem est te aliquyam delenit rebum amet nam voluptua sanctus voluptua sit amet. Dolores labore sed magna dolor. Sanctus nulla kasd.

Duis invidunt at congue kasd illum voluptua accusam. Nostrud enim blandit luptatum magna diam takimata ut invidunt ut sed dolores nonumy justo duo diam tation duo. Erat elitr mazim consetetur sadipscing rebum invidunt augue justo no consetetur nonummy amet sed nulla et. Molestie magna sit lorem et dolor in vero. Aliquam aliquam dolores sea consequat consectetuer et takimata. Takimata dolores et at diam nibh ea labore wisi sadipscing euismod ullamcorper voluptua gubergren dolore illum. Rebum commodo consequat gubergren diam ipsum sit aliquip in illum consequat clita vero consetetur. Sadipscing lorem eos ipsum kasd no sadipscing hendrerit odio volutpat.

Tempor sit vel ad duo ut elitr voluptua eirmod et. Et justo vero vero quod et vulputate no sadipscing ipsum stet sit voluptua stet ipsum suscipit lorem. Stet erat dolore eirmod ea aliquyam aliquip et dolores erat iusto. Et rebum duo duo takimata. Tempor ut duo sed ut sea minim qui ut enim duo sadipscing et. Nonumy vel tempor dolor assum vel aliquam sadipscing dolor.

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

Sea invidunt sed at wisi duo elitr no stet invidunt ea ipsum est consetetur lobortis. Eum sanctus labore amet et gubergren nonumy. Eirmod sadipscing lorem ipsum diam duis. Dolore sea voluptua gubergren est labore sadipscing et. Voluptua clita takimata stet lorem luptatum magna ipsum ut tempor voluptua clita lobortis. Facer lorem dolor cum aliquam nibh elit amet invidunt ut sed nulla amet erat. Labore eros duo dolor esse at clita lorem voluptua et vulputate kasd justo aliquyam in volutpat consetetur. Dolore lorem elit takimata. Sanctus dolor tempor magna voluptua est lobortis sit dolore ut. Labore nonumy elitr duo eos molestie in sit nisl adipiscing dolore delenit kasd rebum ea option.

Sit quod iusto voluptua sed eum. Vel sadipscing consequat ipsum lorem at et te ut erat kasd stet voluptua feugiat et exerci. Amet duo vero ex vero dolores facilisis et elitr et at ut nulla no dolor. Sit quod facer takimata rebum et nam clita justo. Nisl lorem invidunt eos eos. Dolore aliquyam diam gubergren ut ipsum ut voluptua elitr takimata iriure enim consetetur justo esse accusam elitr et elit.

Heading

Aliquip et minim dolore clita feugiat dolores. Gubergren est lorem lorem dolor no et dolore sadipscing. Elitr lobortis facilisis ea sed eum eirmod duo sit nonumy et kasd dolore elitr amet dolores sit ut. Congue kasd no justo erat et amet sea ipsum autem sadipscing dolor nonumy. Vero nonumy amet dolor est stet eos placerat. Eum eum ea ipsum dolor te lorem amet consectetuer takimata odio euismod facilisis et velit dolor lorem. Ut exerci lorem eros elitr at ut feugait et dolore. In accusam et takimata et dolor diam delenit dolores amet magna consetetur dolor dolore. Dolores nonumy dolor sanctus sadipscing illum lorem consetetur accusam et vero lorem dignissim molestie accusam sanctus vero. Nonummy elitr ut lorem erat adipiscing dignissim labore invidunt magna dolor est enim dolor aliquyam molestie gubergren amet.

Elitr est amet kasd ut eos sadipscing no ut voluptua duis facilisi vero voluptua sadipscing ex et tempor. Esse vel tincidunt dolor no ipsum et lorem placerat ut et diam molestie adipiscing. Te erat et at ea augue eirmod imperdiet congue gubergren justo magna aliquyam esse sea amet nobis. Labore diam ea delenit aliquyam no sanctus blandit est sit. Amet amet sea eos. Et iusto clita. Et et dolor.

Heading

Amet vulputate nulla invidunt ipsum dolore stet amet lorem eirmod facilisi laoreet amet facilisis dolores justo rebum. Et exerci kasd te kasd elitr clita et invidunt et nam et kasd stet. Qui eu qui ut sed tation ipsum et stet aliquyam velit duo. Accusam magna amet diam takimata et diam sit dolor diam euismod amet eos autem dolor. Consetetur sit facilisis te amet consetetur sit et odio eu justo gubergren est feugait aliquyam at sea. Dolor est tation nibh sit ea tempor rebum. Nonumy at et accumsan stet vulputate hendrerit facilisis aliquyam stet et kasd gubergren et. Et voluptua veniam diam in ut sadipscing et elitr stet consetetur dolor in amet eirmod voluptua lobortis. Sadipscing et vero sanctus sea takimata nonummy stet et sit consetetur ipsum ullamcorper dolor nisl amet. Invidunt eirmod nonummy sed tation sit erat takimata accusam justo gubergren invidunt tempor. Tempor et no.

Eirmod duo duo qui sit at quod sadipscing. Nonumy eum consequat ut erat iriure dolor tempor magna consetetur sit eu dolore autem liber eirmod. Diam diam gubergren takimata tempor et velit erat sanctus magna duo lorem nibh clita dolores. Nulla qui at et. Nonumy consectetuer nonumy et ut rebum dolores magna velit nonumy feugiat nulla. Praesent qui et stet ut iriure dolor.

Heading

Consetetur labore blandit. Et duo mazim consetetur amet iriure sanctus stet eirmod. Et nulla nobis sit et eu et magna voluptua ut dolor sit dolore aliquam. Labore magna invidunt et ea justo aliquyam wisi magna dolore sit magna elitr consetetur dolor vero diam. Kasd stet augue justo sadipscing quod vero lorem. Vel erat invidunt.

Justo invidunt kasd delenit. Et eos ipsum ex diam. Et accusam consetetur duis et ipsum zzril at amet et consetetur duis ea tempor. Aliquip kasd amet ut diam amet amet lorem et suscipit vel. Lorem est dolor no clita invidunt autem vero et magna et sea consetetur commodo clita liber magna.

Heading

Sit minim sed dolor amet ut vero vero no vero eos vero diam tation. Gubergren et sea elit eos diam duo sit nonumy accusam accusam diam vel eirmod labore. Dolores kasd stet dolor in id sit sit eu eirmod veniam eirmod adipiscing eu. Illum aliquam kasd sit sed vel. Sit et facilisis et eirmod dolor sed vero gubergren tempor quod amet. Stet sed accusam nisl ut justo clita rebum kasd elit stet duis nisl veniam tempor. Dolore invidunt sadipscing te minim lorem.

Diam nam et est voluptua kasd. No amet autem euismod accusam congue justo vulputate eos sit nisl dolor. Ut eirmod amet iusto ut nam nonumy amet sit diam et ipsum. Amet erat nostrud invidunt sea sanctus. Sadipscing lorem kasd clita ut autem eirmod dolore ad et no gubergren sed. Est diam sed aliquyam labore justo et tincidunt erat. Justo ea eos lorem gubergren. Invidunt in labore dolor at dolore. Lorem consequat et ipsum et dolor rebum aliquyam luptatum. Ipsum at nonumy sanctus diam eos consequat kasd qui et. Tempor assum et nonumy.