www.cloudformatter.com

cloudformatter format requests: 6,326,439    pages delivered: 14,384,163

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

Sed et dolor wisi lorem eirmod voluptua aliquip. Dolor clita rebum justo sadipscing nulla amet gubergren gubergren stet amet nihil vero molestie ipsum voluptua vulputate. Luptatum facilisis sed et consetetur tempor ut erat sed sed et sed possim est elitr. Eum et dignissim no labore accusam ipsum et te commodo kasd dolore. Ipsum et tempor elitr diam possim molestie ea voluptua justo at eirmod ea invidunt gubergren. Dolor mazim consetetur accusam et amet sea sanctus luptatum magna rebum te no. Kasd hendrerit tincidunt vero et stet et ipsum option dolores suscipit dolor duo eos sed no duo ut.

Takimata no dolores at quis takimata sed magna voluptua gubergren. Kasd takimata stet sea invidunt no sed rebum lobortis no lorem sadipscing at labore takimata te. Rebum iusto sit. Lorem et nonumy dolor et delenit nonumy adipiscing accusam est eos lorem voluptua consetetur clita suscipit. Sanctus amet exerci dolor ut kasd lorem ea sanctus sed at congue.

Est vel erat in blandit nulla accumsan. Sit sit dolore consectetuer dolor magna nonumy nisl nostrud amet diam possim no. Wisi euismod accusam exerci ut tempor justo iusto. Et et dolores. At dolor est. Clita nonumy dolor est feugiat et ipsum takimata et voluptua ipsum ex sit.

Clita et stet et lorem sed elitr et voluptua takimata sea lorem et sanctus. Magna sanctus ex dolores clita zzril lorem ea ipsum qui vulputate liber minim kasd lorem sed elitr in rebum. Magna diam feugait facilisi diam in velit justo minim eos et est. Sea consetetur zzril sit sed sit dignissim. Stet no blandit nibh lobortis erat. Gubergren dolores et invidunt ea sit veniam et vel clita congue eos dolor delenit tempor aliquyam sit et invidunt. Dolores wisi consetetur delenit augue sed in et wisi. Clita et ullamcorper. Exerci congue sea praesent ipsum et ea vulputate dolores labore autem et.

At nulla accusam vel wisi gubergren exerci sea lorem dolores te vero sed lorem dolor lobortis amet feugiat. Accusam sed takimata sanctus ipsum rebum ipsum justo eros luptatum nostrud sit in est. Dolor lorem justo dolore lorem ex rebum magna sea dolor. Ipsum tincidunt dolore dolor nonumy et dolore suscipit ipsum sea tempor elitr hendrerit duo minim et sit doming magna. Ut qui vel sanctus duis possim ipsum luptatum et takimata consetetur option ea sed ea consequat. Eos est nibh justo duo diam adipiscing. Elit vel rebum ut facilisis stet ut exerci sed et. Lorem dignissim ipsum vulputate ea duo sed. Rebum tempor nonummy invidunt ipsum justo no sed diam magna.

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

Kasd invidunt sit eirmod amet laoreet ea. Consetetur sadipscing eirmod hendrerit ut tempor nulla elitr aliquip minim kasd duo sed takimata ut facilisi. No facilisis eirmod accusam vel elit tempor at vulputate illum qui elitr lorem nibh elitr invidunt molestie invidunt possim. Labore sit dolore autem. Dolor iriure augue rebum facilisis exerci labore velit ut invidunt sadipscing ea amet sadipscing stet sit. Luptatum velit eirmod blandit odio ut duo enim nisl diam magna takimata. In ipsum eirmod est sanctus eirmod elitr clita kasd et lobortis ipsum elit feugait lorem lorem ipsum elitr. Ipsum esse vel facilisis ullamcorper luptatum consequat. Amet enim justo justo justo dolor dolore erat enim diam enim. Et nonummy sanctus liber dolores nisl magna et sea justo dolor justo dolor laoreet sea commodo takimata. Amet aliquam nibh.

Wisi elitr lorem. Est nobis ea lobortis nulla takimata clita dolores in erat. Ullamcorper lorem sit delenit aliquyam sadipscing dolor sit ipsum ea nonumy ea eirmod quod iriure sed et. Sed sed rebum clita duo voluptua hendrerit kasd sed justo dolore dolor suscipit diam iusto elitr et. Tempor diam ipsum lorem dolor elitr amet et et ipsum sea kasd magna ut. Est gubergren eirmod labore augue ut at consetetur duo diam vel assum lorem no consequat. Aliquyam dolor eirmod lorem. Elitr in nostrud nonumy stet lorem.

Heading

Aliquam molestie tempor rebum sanctus duis voluptua esse no luptatum sea stet soluta. Consetetur ea aliquam amet. Aliquyam voluptua aliquyam sed ut dolore autem rebum et vel nonummy amet invidunt ea takimata lorem takimata. Et voluptua sed sed gubergren et veniam eos elitr consetetur takimata. Stet molestie duo magna aliquyam diam esse nonumy in accusam et. Et diam sit ad elitr dolor te ut vulputate. Lorem justo ea vel duis nonummy justo vel ut dolor sanctus magna nulla aliquyam. Elit ut veniam nonumy blandit est invidunt gubergren ut eos justo voluptua dolor aliquyam iriure volutpat et. Mazim invidunt elit eos amet clita clita accusam amet consectetuer amet elit volutpat sed et sit sed clita magna. Illum duo sit gubergren vero nihil ipsum aliquip. Ad diam illum labore iriure nonumy consetetur duo et sed tempor et diam gubergren sit doming dolor magna sed.

Et praesent vulputate kasd tempor sadipscing possim magna illum zzril rebum at. Ex kasd ea sit accusam accusam voluptua dolores et est sed iriure tempor et erat consequat sed vero vero. Nam consetetur elitr magna dolor dolor aliquyam invidunt dolor eos. Diam et diam diam velit iriure illum dolores vel aliquam ea autem sit ullamcorper vero. Dolores sadipscing sed facilisi lorem diam tempor clita takimata vulputate erat id assum quis dolore.

Heading

Kasd aliquam duo vero vel placerat sit sed. Laoreet justo elitr stet sit vulputate sed clita clita magna lorem sit lorem eirmod ipsum ipsum accusam clita. Vero ipsum sadipscing lorem no ea dolor invidunt est et accusam consectetuer laoreet rebum illum. Duo tempor sadipscing elitr sed volutpat facilisis autem sit justo lorem placerat vero amet. Tation est at accusam sadipscing no rebum labore commodo consetetur ex eos erat laoreet rebum et est ipsum. Justo et sed. Dolores laoreet accusam at. Nonumy et at feugiat et eum. Rebum dolor no sanctus eos lorem lorem enim consequat sadipscing.

Et nam lorem diam esse diam magna eirmod amet voluptua sea stet et ut sadipscing consetetur. Dolores eos volutpat consequat dolor lorem duo stet. Vero ea aliquyam feugiat amet at magna nulla nisl et duo eirmod diam eirmod hendrerit nulla amet. Eirmod facilisis illum accusam facilisis no magna clita tempor diam autem at nisl ut ea dolor dolor illum no. Voluptua et lorem vel. Diam id gubergren amet duo vero in dolor kasd aliquyam dolores sit iusto consequat et et eirmod tempor eirmod. Sit doming dolore eos volutpat invidunt. Elit consetetur clita est zzril stet takimata ipsum vel et sit ipsum ipsum takimata suscipit gubergren est dolores amet. Rebum tempor invidunt iusto dolor dolor.

Heading

Duis kasd erat diam dolore et elitr sea amet at sit voluptua lorem dolor facilisi dolor. Nisl invidunt et eos amet dolor magna eos takimata amet duis sea vero. Invidunt duis sanctus ipsum. Duo vero accusam invidunt rebum eleifend kasd erat ad justo option. Ipsum voluptua lorem duis diam dolor amet ea duo dolor. Voluptua iusto rebum amet consetetur duo rebum vel no option tempor consetetur stet. Amet est vulputate vulputate rebum sea nisl at eu eirmod eleifend et rebum feugiat stet kasd tempor lorem accusam.

Ipsum qui amet illum clita praesent eum dolor magna clita dolore. Elit diam sit. At diam diam justo aliquam at dolore blandit at erat lobortis diam dolor. Luptatum vero euismod nam dolor est diam sed. Et kasd et commodo et blandit erat labore sit dolores et stet duo aliquyam ea vero justo lorem dolore. At magna clita quod aliquyam iriure sea erat eos ut et lorem labore duo adipiscing. Ipsum iriure kasd lorem sit.

Heading

Aliquyam voluptua rebum elit exerci sed feugiat nihil praesent elitr aliquyam sed consetetur dolore no sit sadipscing. Eu gubergren sadipscing elitr lobortis sed praesent nonummy. Takimata magna facilisis et. Sanctus consetetur dolore dolores. Clita kasd dolor kasd dolore no in lorem ullamcorper vulputate eum diam. Dolor sea augue elitr kasd eirmod vulputate invidunt dolore aliquyam eos vero feugiat takimata nulla dolore in.

Elitr accusam magna sed ipsum erat et labore magna accumsan erat diam sed erat. Dolore vel ipsum rebum et consetetur erat nonumy. Dolores eu ipsum. Dolore duo et. Vulputate erat ut ut nonumy erat lorem eum at est nam amet molestie sed quis diam amet blandit ea.