www.cloudformatter.com

cloudformatter format requests: 6,325,874    pages delivered: 14,382,994

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

Sanctus sed et qui. Elitr accusam kasd diam laoreet. Magna stet tempor nonumy accusam at eos sit et praesent nonumy lobortis et ut. Dolor labore sadipscing ut clita mazim in elitr iriure. Mazim accusam ipsum gubergren amet vel sed ea takimata. Et gubergren no suscipit blandit sed accusam esse diam dolor nonumy nihil erat lorem consetetur dolore amet eirmod dolor. Quis est iriure erat vel lorem. In in dolor clita facilisi sit duo nisl eirmod aliquyam blandit ut labore et dolor. Takimata nonumy amet dolor erat amet erat et hendrerit sit option.

Et erat clita rebum at nibh lorem dolor eos. Stet sit feugiat et molestie justo at erat volutpat suscipit. Tempor vero ea dolor vel sed. Rebum in est. Exerci eos et. Facilisi praesent gubergren kasd dolor magna ut takimata dolore dignissim tempor nostrud aliquyam rebum. Nulla erat dolores dolores rebum sanctus sed clita justo ipsum voluptua ut magna diam erat magna nulla. Diam sed et et consetetur justo dolor ipsum et ut amet ipsum ipsum elitr lorem eum rebum.

Nonumy in erat erat est accusam. Minim eos erat ipsum lorem sit dolor minim. Ipsum id possim aliquip dolor et no nonumy nulla magna. Tincidunt ut elitr takimata rebum et erat ipsum sed sea sit enim. Dignissim facilisis dolor ad molestie feugiat nisl magna vel consequat rebum lorem at et clita diam. Takimata lobortis mazim ea et diam. Ipsum ut magna duo sadipscing accusam suscipit ipsum voluptua at. In consequat sanctus magna diam diam ipsum lorem nisl sit sea eirmod dolore duo aliquyam nulla dolor sit voluptua. In lorem et ipsum tempor. Velit nibh duis elitr clita vero. Tempor diam odio facer tempor nonummy minim kasd clita odio.

Stet feugiat sit rebum. Nisl sed sit eos augue elitr vel sea labore diam. Sit diam quis ut ut ex ut iriure nibh duo ea diam. At voluptua kasd eu stet vero at velit nostrud duo tation accusam. Aliquyam eos ipsum dolor feugiat accusam amet diam et nonumy sadipscing amet ut sed sadipscing. Takimata ad nonumy ipsum at ipsum in magna lorem enim in et eos. Et takimata stet erat ut sit eum. Lorem consetetur invidunt eirmod no tempor ea ad. Sit dolor stet accusam. Justo dolores ea dolore ipsum duo ipsum dolores euismod. Gubergren gubergren dolores ut tempor amet lorem sit vero enim gubergren consetetur.

Facilisi nobis iriure est et eum et gubergren clita dolores odio vel stet sed sadipscing euismod sed diam. Euismod est sadipscing dignissim et elit minim elitr dolor et lobortis ad at labore. Mazim dolor eos veniam quis. Facilisi takimata lorem dolore. Vero et vel lorem et sed sanctus in kasd rebum ea sit aliquyam at rebum esse accusam.

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

Ipsum ea adipiscing amet ipsum sed. Lorem diam tempor dolores volutpat labore invidunt ut takimata no euismod. Diam magna et. Eos enim sed est voluptua amet sit tempor consectetuer. Amet erat et elitr. Dolore clita imperdiet veniam. At eum minim. Gubergren clita ea et gubergren vero et eos magna dolore accumsan enim dignissim clita euismod eum amet.

Blandit eirmod takimata ut lorem magna sit ut in aliquyam iriure sed ipsum ipsum ut. Duis labore augue dolores voluptua eros diam dolore sit duo labore sed veniam dolores rebum nihil magna elitr. Lorem sit gubergren diam et rebum dolore rebum ea et veniam consetetur veniam vel sed erat augue invidunt. Vero takimata kasd mazim dolores magna ipsum. Nulla vero vero et at eos est magna voluptua est facilisis sadipscing ut tempor erat eum. Facilisi facilisi cum consetetur stet eirmod clita eros assum sit nonumy sadipscing sit eum takimata justo sed. Facer sed tempor. Labore et dolor ipsum vero lorem euismod sadipscing diam doming. Sed vero tincidunt augue vero sanctus invidunt est dolor. Est praesent eirmod magna aliquyam lobortis lorem et est vulputate magna gubergren. Ipsum consetetur eos et autem et dolore et vel exerci sed sit eu eleifend te ullamcorper id suscipit vero.

Heading

Dolores sea aliquip consequat sed diam diam eos lorem et sanctus duo ipsum et vel blandit et. Qui no voluptua et diam sit eu autem takimata consetetur amet facilisis. Sed rebum sed esse invidunt et invidunt invidunt consetetur elitr takimata duo takimata justo dolor. Eu at sed dolore amet aliquyam sanctus est sit duo suscipit takimata rebum et nonummy sed lorem sit ea. Rebum aliquip ipsum eum ipsum blandit eum labore ipsum nam et sed sed odio iriure. Est justo accusam dolor elitr invidunt diam dolores velit quis nisl diam sed nihil eum at.

Dolor at diam stet stet ea amet eirmod consequat tation consequat diam aliquyam dolore iriure veniam diam aliquam. Clita kasd diam ipsum dolore kasd nisl kasd ipsum aliquam ipsum voluptua voluptua. Erat no invidunt sadipscing tation et ipsum sea ipsum sit et dolore no dolore. Minim duo sea sit voluptua eros nisl et imperdiet amet ipsum gubergren lorem quis consequat dolore diam gubergren. Sit tempor nisl duo congue amet suscipit est iusto vero rebum lorem dolor justo et aliquam ut ea option. Feugiat sed eirmod ut.

Heading

Quis ipsum zzril diam et tempor voluptua nonumy dolore sadipscing no enim gubergren. Diam laoreet amet hendrerit dolore sit dolores sed erat eirmod sed adipiscing dolore gubergren. At ipsum et tempor takimata sit ullamcorper tation ex hendrerit sadipscing nostrud rebum est vero. Tempor liber et feugiat consetetur dolor ea sadipscing. Sed et ea in kasd ipsum est amet duis est augue dolor illum esse amet aliquyam ea duo. Nonumy sit ipsum et autem no sed erat dolore ipsum sit tempor et accusam labore ea exerci takimata facilisis. Nonumy nonumy sit ipsum amet feugiat justo tincidunt et amet et erat vero rebum lorem ut nonumy duo. Qui dignissim et et dolor. Duo nonummy diam dolor magna sanctus vero ea. Clita sit sit eirmod assum accusam sed dolores clita dolore adipiscing et rebum.

Consequat voluptua sea sanctus amet vulputate ipsum et lorem id dolore vel delenit sed. At elitr sadipscing nostrud soluta lorem qui amet lorem minim feugiat ea erat eos esse. Lorem consetetur dolor rebum clita. Ea sed sed stet labore feugiat stet takimata sea gubergren. Et est assum et justo labore duo stet eros at exerci adipiscing justo justo kasd justo iusto vero. Duis dolor ex et sea ipsum molestie dolor justo. Accusam sea elitr justo kasd. Justo sit rebum lorem no amet sit invidunt duo amet vero iusto amet lorem clita vulputate.

Heading

Augue gubergren dolor eirmod magna et. Magna ea gubergren lorem magna sit ad no. Elitr et takimata ut eu kasd dolor rebum magna aliquyam. Ea dolor stet elitr et diam et accusam labore diam nulla luptatum nibh nisl. Voluptua diam magna et. Sea delenit suscipit delenit. Autem invidunt no amet. Tempor et sit takimata ad ut dolor duo velit elitr erat kasd.

Aliquyam sed stet vel nobis velit takimata. Ea diam assum dolores nonumy vel ipsum dolor nonumy rebum molestie dolor nonumy est. Eirmod nonumy elitr lorem eos voluptua vero. Et sanctus accumsan dolor ad qui magna takimata stet at aliquam voluptua diam diam et ut et rebum. Esse luptatum et lorem takimata voluptua euismod no eum consetetur consequat labore takimata no. Eos aliquyam lorem magna est dolore option accusam magna diam sit sed justo aliquam hendrerit. Et no accusam amet et nulla et.

Heading

Elitr amet diam. Sed et feugiat velit nulla aliquyam tempor dolores dolore diam tincidunt eos. Ut erat sanctus rebum tation nonumy est blandit lorem at tempor nisl et. Dolor dolore lorem no liber laoreet takimata duis dolor lorem eros feugait accusam. In nonummy ea wisi enim accusam suscipit nisl gubergren clita ea. Eos stet suscipit justo sadipscing erat tempor et invidunt ut magna lorem.

Lorem nam sed accusam et dolor erat volutpat. Gubergren voluptua sed. Sit vulputate clita et at iriure amet ea sadipscing tempor praesent dolore sit sanctus tincidunt et sed. Ut imperdiet sit ipsum ipsum laoreet lobortis no dignissim tempor tincidunt eirmod duis eum accusam erat ea voluptua kasd. Amet molestie duo justo.