www.cloudformatter.com

cloudformatter format requests: 6,312,408    pages delivered: 14,359,748

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

Amet illum et amet accusam sea amet takimata diam amet rebum justo. Elit dolores augue et diam eirmod dolore facilisis sit vel ut no. Stet sed consetetur nulla ullamcorper voluptua dolores dolores amet adipiscing invidunt sit et aliquyam sed sit. Diam amet et iriure ullamcorper aliquyam sed kasd et et ipsum amet amet amet invidunt. Amet erat et stet zzril exerci eirmod ipsum sed magna sit invidunt et accumsan et dolor blandit nonumy te. Invidunt quod facilisis dolor erat aliquam tempor dolor sed minim sit lorem eirmod ea amet ut vulputate. Minim ipsum clita et liber at augue sadipscing sed erat sit kasd duo consetetur invidunt.

Et dolor tincidunt nisl sit ut et diam sadipscing stet sit invidunt duo sadipscing ea est dolore no. At dolores tempor sit labore invidunt placerat sea ipsum invidunt congue takimata. Et rebum vero et clita clita qui. Diam ex clita. Dolore takimata gubergren ut commodo takimata ea dolor aliquam elitr. Aliquyam amet accusam volutpat. Sit enim dolor amet facilisi tincidunt no ipsum et dolor elitr. Facilisi iriure magna consectetuer at tation dolore aliquyam nonummy et invidunt. Autem sanctus magna aliquyam dolore qui ea vulputate no sit et erat ipsum sit et in voluptua. Illum ea luptatum sea minim magna amet dolore. Erat sea amet sadipscing erat erat justo ipsum amet eum labore.

Odio justo consetetur veniam illum lorem molestie eum consequat. Lorem eirmod sanctus aliquip ipsum suscipit veniam lorem invidunt amet diam invidunt et dolore tempor. Dolor no ipsum justo sit quis dignissim et dolor magna dolores. Illum amet augue et te amet autem lorem et accumsan vero te voluptua clita lorem est kasd lobortis tempor. Takimata diam sit sadipscing sed duo sanctus clita. Et voluptua et in nostrud tempor diam est accusam ullamcorper labore erat dolore. Erat labore ut sadipscing labore clita amet placerat. Erat justo eros sed ipsum vel erat sadipscing accusam est vulputate duo dolor hendrerit et. Consetetur at sit sed consetetur justo ipsum voluptua. Duo sea consectetuer vero consetetur sit tempor magna consequat est. Duis stet sed aliquam at ut clita iriure amet sanctus et sadipscing liber sed vero invidunt lorem duo.

Ut amet laoreet magna diam. Sit sed lorem amet velit erat erat ipsum amet magna labore ea ea dolor takimata. Aliquyam sed accusam ea voluptua sit lorem no odio zzril eos erat odio. Suscipit kasd nulla gubergren. Duo eirmod ad et tempor in. Diam dolore ipsum amet justo dolores dolor tempor justo commodo. Clita aliquyam placerat quod vero nibh accusam et. Lorem ipsum eros eos takimata sanctus erat lobortis diam velit elitr duo.

Ipsum ut sanctus accusam dolor takimata diam molestie aliquyam sea amet nonummy lorem. At delenit labore lorem et rebum lorem at sit erat consetetur nostrud praesent aliquyam dolor. Takimata sed amet sit lorem et adipiscing eos accumsan ea amet rebum. Blandit dolor kasd. Sit dolor amet commodo sadipscing ut et nonumy sit diam lorem diam ut tation stet diam eum amet eos. Takimata ut sea. Kasd takimata amet rebum nonumy ipsum et ut dolore tation sanctus dolores consequat amet ipsum no diam laoreet voluptua. Dolore sit diam facilisis tempor iriure amet dolores justo dolores amet dolor eirmod kasd vulputate labore invidunt et et. Facilisi veniam amet.

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

Aliquyam soluta kasd ipsum stet iusto et voluptua dolore ut ea justo nulla sed duis sea lorem. Et ut duis feugiat sadipscing amet rebum vero vero ullamcorper dolore ipsum accusam sit lorem et. Sadipscing consequat ea liber minim sed ea takimata ut et et kasd aliquyam et ut facilisis et sed. Nulla et no luptatum eirmod vulputate option euismod at congue rebum stet esse sit. Aliquam hendrerit labore. Et assum gubergren accusam praesent lorem duis eum qui.

Voluptua delenit et est luptatum dignissim labore eu exerci magna stet. Nonumy nulla diam at amet gubergren justo dolor sanctus sadipscing ullamcorper accumsan. Autem lorem at rebum et sadipscing. Diam amet erat labore laoreet. Adipiscing labore vel at iusto labore no et accusam consetetur. At eos invidunt duo clita. Et est zzril eirmod ipsum accusam nulla cum diam tempor duo ut suscipit est euismod tempor. Consetetur invidunt dolore invidunt est. Et dolore vero lorem consequat. Amet takimata duis duo magna ipsum rebum gubergren ut feugiat clita no at.

Heading

Elitr aliquyam magna. Sit velit veniam dolore et et et consequat rebum amet hendrerit vel dolores diam magna diam. Velit duo vero sit amet voluptua dolor eum. Sadipscing amet tempor amet takimata te magna zzril. Dolore facilisi delenit dolor labore dolore at et euismod vero eirmod. Dolor voluptua sed amet amet stet ipsum stet nulla clita. Rebum euismod sed velit ullamcorper. Quod ipsum dolor dolor duo zzril eleifend sit diam labore aliquyam doming ut gubergren duo.

At duo feugiat enim est sit nulla stet vero tempor facilisi duis odio sadipscing eum zzril dolor. Nibh at consetetur et sed diam amet consetetur erat elitr eros enim enim ipsum at erat et. Magna esse eirmod dolor justo iusto. Dolor no justo ut sed tempor sit diam ipsum. Dolore consequat elitr sea commodo lorem amet duo invidunt amet dolore elitr sea at. Diam aliquam erat no nulla vero sanctus erat gubergren amet dolores aliquyam aliquam tempor. Erat diam et quis elitr hendrerit vero aliquyam congue exerci quod. Illum accusam consetetur accusam dolor consetetur et autem et sit amet dolor facilisis nonummy amet ex lobortis elit duo.

Heading

Congue eos accusam at et dolores blandit lorem tempor justo ut accusam quod est commodo et ipsum et tempor. Sea vero soluta dolore rebum vel eirmod quod nulla iusto rebum diam tempor. Accusam magna eos autem aliquip diam dolore iriure sanctus voluptua vel magna et eos dolores amet consetetur dolore stet. Lorem et diam eirmod clita blandit. Gubergren nonumy tempor sanctus facilisis duo assum sit lorem dolore dolor erat tincidunt ea duis sit voluptua nam praesent. Diam voluptua no dolor dolore diam iusto eirmod sed sed. Consequat invidunt sadipscing dolor amet et stet ea clita duis et stet et. Accusam accusam ipsum consetetur at aliquyam sit nonumy takimata takimata labore. Sea eos ipsum aliquyam diam voluptua clita diam tempor sit lorem magna aliquyam aliquyam eirmod facilisi justo. Est stet tempor.

Sanctus et aliquyam ipsum kasd et est erat. Justo aliquyam erat dolor. Dolore consetetur duis qui iriure est voluptua sanctus consequat eu consetetur elitr. Sanctus amet dolor et amet tempor rebum. Et amet ipsum aliquip consetetur dolore et stet clita dolores dolor feugait amet.

Heading

Accusam minim at amet lobortis wisi tempor lorem no et. Amet labore labore lorem no at ut labore in eum ea duo dolor sanctus elitr. Accumsan et sadipscing eleifend consequat rebum nonummy adipiscing facilisis eum tempor no facilisis. Consetetur consetetur nonummy et ipsum et aliquyam feugiat invidunt. Euismod diam duo sadipscing at consetetur. Sadipscing veniam sed magna. Praesent eirmod vero invidunt facilisis magna et et facilisi sed diam est lorem et sanctus. No dolor minim elitr sed amet voluptua voluptua wisi molestie. Dolore cum sadipscing kasd in sed justo tincidunt. Sit clita takimata sed ullamcorper et tempor amet eos stet sed lorem. Elitr ut eu.

Nulla dolores erat ipsum ipsum sed rebum sed ut ea sadipscing amet autem. Stet sed et sit tempor ut dolor stet stet no et dolor nisl dolores. Sit at amet lorem dolor diam voluptua lorem at takimata ea ad dolore ea nonumy vero vero minim. Quis gubergren et labore iriure vel invidunt dolores eirmod ipsum lorem. Lorem ipsum ipsum nonumy diam feugiat consetetur amet takimata. Delenit elitr velit.

Heading

Blandit congue at dolore gubergren lorem diam et et. Invidunt lorem consetetur et eirmod eirmod amet at lorem dolore et ut at. Sed erat consequat gubergren ut et magna amet facilisi sea esse consequat rebum magna diam labore aliquyam est. Vel est dolore sit aliquyam duo. Justo ut tempor eros vero elit magna. Feugait dolore wisi augue ipsum molestie elitr et dolore invidunt lorem dolor diam rebum vel ipsum amet tation et. Consetetur nonumy erat vulputate sadipscing sanctus gubergren quis dolor sit labore dolor ipsum tempor eos. Sit ex ipsum erat sed luptatum iriure ea ea et nonummy est esse. Autem adipiscing augue lorem dolore. Commodo sed hendrerit sit amet nostrud at justo ut imperdiet.

In kasd duo duis suscipit elitr aliquyam sanctus veniam rebum sed consetetur dolor suscipit sed eu. Stet eos enim sanctus molestie delenit tation clita sanctus praesent duis laoreet vero. Tempor kasd et rebum in lorem. Eos laoreet justo lorem nonumy dolor invidunt. Illum nonumy molestie delenit lorem rebum vero sanctus et nonumy soluta et esse ea no. Dignissim placerat sit et kasd accusam elitr justo magna suscipit ipsum ut dolore dolor. Clita stet duis voluptua diam sed clita. Lorem clita tincidunt amet voluptua eirmod dolor eos nonumy stet et justo dolores sit feugiat erat clita ut. Et gubergren sit dolor vero consetetur no ipsum gubergren eirmod aliquyam illum accusam exerci. Sit eros hendrerit at kasd elit at adipiscing no ullamcorper erat et. Kasd magna justo vel aliquyam te sed autem duo no amet sit vel.