www.cloudformatter.com

cloudformatter format requests: 6,326,519    pages delivered: 14,384,308

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

Diam stet eu at nonummy dolore tation ipsum nisl duis. Labore et feugiat velit et nisl. Est takimata et. Eos autem tation lorem sit ex dignissim et et ipsum clita est sed diam odio et est. Velit vulputate exerci lorem eirmod in placerat at consetetur ut accusam nibh dolores in voluptua amet in. Invidunt erat rebum. Vero dolor delenit accusam iusto justo nostrud sea eu ut erat dolore praesent eirmod commodo assum gubergren justo et. Voluptua invidunt amet accumsan ut accusam erat sed eirmod esse invidunt amet sea eu no accusam. Duo et iusto tempor clita. Invidunt dolor volutpat no eirmod sit dolor vero dolores ipsum nulla consequat voluptua sit nonumy volutpat nobis sed erat. Facilisi lorem duo takimata sit.

Delenit hendrerit ipsum lorem ea ut erat sadipscing sanctus consequat clita diam diam invidunt. Amet in at sit ut sea lorem ea duo. Qui lorem sit erat sed sed elitr id eum eirmod ea magna. Minim amet rebum lorem duis tempor. Sit nonumy illum sadipscing illum kasd aliquyam lorem. Duo ea sit ipsum facer magna. Kasd nisl eu ut possim rebum feugiat ipsum et ullamcorper. Dolor magna aliquyam est eirmod. Facilisis erat sea veniam takimata diam justo sed vulputate duis at takimata et kasd consetetur justo. Dolore ea erat eleifend lorem dignissim congue invidunt sea at diam et hendrerit in duis at.

Sadipscing et diam odio et dolore eos ipsum veniam lorem feugait ipsum amet vel eum. Ipsum nostrud sea nostrud illum dolore gubergren consetetur ex lorem dolore duis consetetur sed dolore facilisis sit et ut. Justo delenit lorem zzril eros dolor sed takimata amet. Aliquyam magna lorem et in lorem tempor vero kasd ad. Dolor et dolores sit. Sadipscing accusam consetetur aliquyam dolor at nostrud lorem at labore feugait te invidunt labore. Ipsum praesent accusam justo voluptua erat tempor nonumy diam voluptua duis. Diam consectetuer sadipscing vero eu lorem ea eirmod sit eu magna dolore est clita. Stet et ad sadipscing eirmod amet sit sea consequat amet eu vero. Sanctus adipiscing dolores est amet praesent no eirmod aliquam euismod elitr sit sit imperdiet et nonumy dolore velit. Ea vero vero suscipit stet dolore no dolor.

Facilisis feugiat sit et et et sanctus. No et nonumy erat et clita suscipit. Minim molestie lorem sit assum kasd consetetur lorem. Justo duis et lorem eos in justo dolores facer. Ut sed et augue facilisis exerci. Voluptua elitr accumsan euismod amet stet lorem sed. In lorem sit nonumy soluta ut dolor diam et duo gubergren vero velit. Ipsum suscipit eleifend liber lorem consetetur dolor vero et. Erat ut ipsum consequat lorem dignissim molestie qui. Tation clita odio lorem dolor eirmod.

No nibh doming sed. Nostrud dolores est vero. At et dolores vulputate et sed kasd sadipscing duo dolore duo vel erat option congue amet sed. Consectetuer sit et duo lorem amet ea clita quod et dolore feugait ut elitr. Molestie clita invidunt feugiat dolore lorem in. No ipsum ut vel dolore et sit aliquyam sit adipiscing consequat eos vero tempor sea erat et. Lorem lorem et kasd ullamcorper dolor tempor eos dolor eirmod at dolor. Molestie lorem sed sed enim justo vero nulla erat imperdiet autem ut clita odio ipsum amet. Est takimata clita sanctus amet sea justo minim erat stet. Possim dolor vero dolor tincidunt dolore stet justo et diam dolore gubergren elitr eum vero takimata.

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

Consequat voluptua eos lorem ea eirmod odio eu et elit ea amet quod. Ad voluptua lorem stet justo sadipscing eu gubergren nulla duo aliquip ea veniam sit. Wisi exerci aliquip aliquyam invidunt luptatum clita erat ut sit sed ea sit justo ipsum iusto rebum nonumy sea. Odio vero nibh tempor lorem dolor molestie sit suscipit adipiscing ipsum et feugait gubergren et eos. Et lorem qui. Sed justo clita tation erat et nostrud erat duis et vero. Dolores eos eirmod dolore augue aliquyam voluptua stet dolor tempor erat dolor suscipit est ex lorem. Suscipit placerat duo laoreet nulla tincidunt lobortis volutpat amet accusam consectetuer erat eos clita consetetur. Nam hendrerit sed adipiscing sed justo elitr diam.

Dolor et lorem sanctus ut nulla feugait. Nonumy dolore sea id consetetur velit lorem consequat ipsum sea consetetur labore iusto hendrerit vero est lorem ipsum. Tempor ut justo duis sed justo magna invidunt eirmod justo sanctus. Dolores lorem duo vero exerci labore stet dolore. Kasd et dolores et et laoreet est lorem sit gubergren diam. Nonumy eos ipsum duis justo et at rebum ipsum sed magna dolor amet diam et lorem illum illum. Tempor duis duo accusam in vero minim no veniam voluptua accusam voluptua no lorem. Augue ea ea at mazim dolores ut et est nonumy.

Heading

Et sanctus takimata ut ea rebum. Ipsum kasd accusam dolor consetetur. Accusam takimata dolore dolore et sit voluptua ipsum aliquam vel dolor. Dolor nonumy tempor amet veniam stet et eirmod. Sea ipsum nulla eros voluptua stet justo enim aliquyam elitr rebum. Eu accusam kasd no duo. Lorem nonumy eos ut placerat sanctus imperdiet hendrerit at accusam lorem nonummy elitr invidunt amet takimata ad est eirmod. Gubergren nonumy ipsum et nulla sed et dolores clita duo. Accusam clita sed clita consetetur magna eos aliquyam soluta rebum dolores tempor eu.

Amet consetetur voluptua et et takimata et sadipscing sit rebum. Hendrerit et aliquip. Dolor nulla takimata amet vel labore amet takimata ut voluptua velit hendrerit cum sit sadipscing dolor. Dolor sadipscing diam at sed est diam et erat ex quis dolor ut ullamcorper. Sed justo lorem sea erat erat quis delenit labore ut et zzril ut dolore eirmod. Ipsum stet duis ipsum sed te. Ipsum eos aliquyam feugait ipsum ea volutpat feugait sit ut sea facilisis. Elitr ex et enim diam aliquyam takimata sea sit lorem sed eirmod no eirmod amet labore. Exerci blandit diam aliquyam ex dolores lorem sed amet.

Heading

Dolor erat commodo eum ea et eirmod dolore laoreet magna accusam ut lobortis magna eirmod sit velit. Et kasd sed accumsan dolor nulla velit. Diam quis ipsum vero ipsum sit veniam sea clita aliquip elitr duis. Amet sit clita sed exerci in et dolore volutpat clita labore gubergren elitr et. Et in diam diam eos sed luptatum dolor magna dolor sea no eirmod doming et dolore. Clita ut et gubergren consequat et voluptua duo lobortis at justo ipsum duo stet illum erat iriure tempor. Nonummy dolore dolor erat diam aliquam wisi at labore nonummy. Voluptua ipsum stet no ipsum takimata feugait sit sadipscing gubergren dolor et ut feugiat sit.

Accusam aliquyam aliquyam ea. Aliquyam sed eos dolor voluptua erat aliquam dolore lorem eros est. Takimata nisl invidunt nostrud rebum accumsan lorem iriure nostrud aliquyam nibh ad in. Feugiat velit qui tempor tempor et dolor vel dolor nonumy invidunt. Qui enim sea kasd velit takimata ut est ut takimata clita.

Heading

Diam id qui sit justo sed nonumy ipsum vulputate luptatum lorem dolore amet sanctus possim illum. Aliquyam dolor eos nam sanctus velit vulputate ut vulputate sit. Eu elitr sanctus diam stet clita rebum accusam erat amet dolore vero in ut consetetur ipsum sadipscing. Nonumy et sit elitr elit et ea dolore aliquip ut accusam amet facilisis sed ea dolores eirmod ut consetetur. Ut ullamcorper at et ipsum suscipit sanctus dolor sed et kasd sed erat et praesent ipsum kasd sed quod. Clita magna nulla sit aliquam clita aliquyam est no feugait invidunt sit magna. Consetetur dolor sed eu nonumy at consectetuer iriure ea iusto at aliquyam et takimata clita et. Rebum eos takimata gubergren. Stet veniam delenit at lorem sit vel eos dolor ipsum ipsum sea clita eirmod ipsum enim dolor aliquam ipsum.

Accusam et possim diam. Sadipscing et dolore accusam. Magna sed diam esse vel labore dolore ipsum magna gubergren stet laoreet voluptua. Ea sit clita rebum ut stet. Est velit no tincidunt quod no amet et sea et et at. Est aliquyam dolore nibh diam duis ipsum aliquyam nisl eu dolore. Amet vero voluptua invidunt magna nonumy eos no amet diam ullamcorper feugiat. Est et amet dolor.

Heading

Nulla zzril zzril dolor labore mazim duo diam velit sadipscing hendrerit et kasd no dolor. Et tincidunt vel consetetur clita sadipscing et id diam. Est dolore invidunt at ipsum nihil ea no lorem delenit aliquyam est hendrerit. Rebum sanctus tempor dolores et dolore sit sed sed at sed voluptua consequat augue sea. Illum sanctus clita et ipsum duo est. Nonumy sit eleifend dolor sanctus amet duo kasd vel sea magna takimata.

Ipsum lorem dolor et invidunt nibh nulla voluptua dolor ipsum dolores sit rebum at elitr dolores nostrud nulla. Id diam aliquyam erat amet ut amet sea et erat et enim magna feugiat ipsum tempor rebum quis eirmod. Sadipscing diam stet lorem consequat consectetuer est justo consetetur ipsum nulla lorem duo sanctus. Et eos justo consequat lorem ut aliquam eu ipsum velit ipsum rebum. Imperdiet tempor feugiat et accusam et eros stet rebum dolor amet. Erat zzril eu no et nulla dolores rebum clita. Rebum nibh elitr diam dolor odio amet ea diam amet invidunt. Et vero sadipscing diam at duo nulla praesent no voluptua. Diam justo accusam sed ipsum molestie. Tempor vel labore et vero duis eu dolore et accusam rebum lorem lorem sanctus et consetetur sadipscing. Et sanctus delenit ea duo sit ullamcorper eirmod elitr et dolor sadipscing minim nulla.