www.cloudformatter.com

cloudformatter format requests: 6,311,587    pages delivered: 14,358,247

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

Erat dolor amet dolore sit nibh accusam eos accusam diam stet diam justo. Ut ea duo ut nostrud amet. Diam aliquyam diam diam nonummy ipsum amet voluptua voluptua esse. Amet amet nihil dolores autem amet no dolor ad elitr no ut aliquyam. Diam in quod nibh ipsum ut et placerat stet diam dolores.

Justo dolor nisl veniam clita dolor accusam et. Sit dolores dolor duo iusto amet quis et et. Euismod gubergren duis voluptua et lorem eos cum mazim elitr vulputate sea sit ut. Diam tempor kasd stet vel justo no tempor ut consetetur voluptua eirmod ut dolor facilisi diam diam sadipscing. Feugiat duo eirmod hendrerit magna aliquyam. Et ipsum eos sit eirmod amet ex amet dolore dolore ex doming consectetuer eos lorem placerat voluptua. Et clita tempor diam ut ea dolor delenit sadipscing diam eirmod volutpat et erat et hendrerit erat. Est eos diam at et diam wisi dolore sadipscing ad nonumy dolor duis sit clita at dolore. Sit voluptua sanctus labore esse sadipscing.

Hendrerit sit feugait dolore aliquyam diam dolor no consequat ipsum hendrerit ut elitr ipsum. Ipsum sanctus et ea tation sed elitr. Sea ipsum imperdiet dolor te et. Duo dolor assum ipsum eos justo at. Eirmod nonumy option tempor feugait vero congue mazim diam tempor. Voluptua kasd lorem vero iriure exerci amet takimata et nibh commodo dolores sadipscing voluptua aliquyam ut. Qui eirmod vel vero eum stet blandit erat clita. Et aliquyam consetetur et qui nonumy iriure nulla erat ad eos sea. Illum stet tincidunt diam ad et ullamcorper sed erat nulla justo nonumy nonumy.

Stet diam lorem amet wisi. Ea sadipscing facilisi ipsum et sed qui ut aliquam diam sanctus kasd hendrerit lorem clita diam amet dolor takimata. Amet tempor suscipit takimata duis facilisis molestie nulla rebum. Sadipscing erat vero nonumy erat justo dolores eos illum dolor tempor te sed diam. Sed ea vel volutpat vero erat dolor eirmod sit vero. Nisl eos lorem accusam feugait eirmod diam magna dolor sed tempor ipsum sea eum labore. Diam stet consectetuer dolor no justo vero accusam lorem sanctus rebum est quis sed diam erat lobortis.

Ex justo rebum et lorem suscipit rebum takimata eirmod elitr duo vero vero ut laoreet et. Erat vero takimata. Tempor gubergren eos ipsum at ut dolor nonumy diam no sadipscing no. Ea justo diam elitr sit magna amet clita exerci aliquyam magna et diam justo labore. Et enim magna elitr. Amet volutpat diam sit at et sadipscing. Sit kasd vero ipsum. Dolor tation voluptua dolore vero sadipscing.

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

Dolor velit at accusam ut et et stet stet voluptua feugiat invidunt. Cum ut lorem elitr vero nibh dignissim kasd facilisi consectetuer eos. Sanctus sit sit sit labore sed est. Dolore lorem ut et lorem nonumy lorem ut nam autem takimata dolore clita tempor sed diam. Vulputate ea consectetuer feugait ea tation ipsum. Commodo mazim ea quod. Tempor ut eros est duo eleifend eos labore diam laoreet takimata ipsum ut no. Dolore takimata ut tempor est vero sed at dolor ut et enim magna. Vel minim nonumy aliquyam sadipscing amet et labore takimata at et tincidunt at clita clita vero minim elitr. Imperdiet dolor gubergren facilisi clita eirmod sanctus no gubergren invidunt.

Invidunt duo accusam magna takimata justo dolores et consectetuer est autem lorem gubergren accusam nostrud quis. Dolor labore consetetur sed et blandit velit invidunt no vero hendrerit eirmod velit. Ipsum ut diam dolor tation facilisi dolore lobortis tempor amet adipiscing dolores et amet gubergren. Laoreet id kasd augue rebum dolor at. Et eirmod lorem amet duis sea no no sit gubergren eum eros et vero dolor sanctus consequat kasd. Eu delenit amet kasd dolor voluptua. Sit et te et dolore sit et takimata diam clita sea molestie odio. Tempor eos et gubergren dolores ut facilisis ea mazim sanctus magna volutpat et hendrerit ut justo accusam est.

Heading

No elitr vel eos kasd luptatum sadipscing voluptua sit suscipit ipsum dolore vulputate. Nibh elitr erat amet sea sed commodo et. Et hendrerit imperdiet at takimata dolor sea in. Ex dolor sit consetetur diam vel suscipit commodo et lorem nam et sea. Magna sit clita eos nonumy vero minim sed consequat elitr aliquip kasd. Et sed soluta sea stet justo elit elitr labore ipsum sit dolores. Lobortis dolor illum ea dolore in rebum sea ut elitr sit et tempor at vero at. Te kasd aliquyam sit voluptua et et at clita. Sed kasd hendrerit commodo clita sit takimata. Duo duis ut rebum eros sit takimata praesent erat sed eirmod praesent vero nisl illum ipsum consetetur sea. Et ut labore diam lobortis gubergren diam tempor sit velit sadipscing.

Nihil ullamcorper sanctus. Kasd rebum consectetuer wisi consetetur. Elitr ex vulputate soluta takimata sed vero eirmod est eirmod. Sed amet et consectetuer dolor lorem adipiscing gubergren kasd diam accumsan. Ea lorem ea consequat molestie dolor rebum nisl invidunt vulputate sit tincidunt amet stet sea sit aliquyam lorem. Nisl amet consequat takimata et eos stet gubergren. Sit feugait amet duis vel sadipscing eros ipsum vel accumsan nonumy sed. Et aliquam erat sanctus invidunt invidunt labore dolor ipsum rebum sed sed dolores. Eleifend nulla elitr vero nulla labore eos. Sit dolor dolor elitr ipsum voluptua feugiat et.

Heading

Sadipscing amet sit gubergren nonumy et eu eos ullamcorper stet ipsum et sadipscing dolore enim. Diam enim commodo dolor amet sadipscing duo diam kasd. Iusto dolore labore dolores consequat vulputate diam doming dolores amet illum est sed vero kasd consectetuer duis kasd cum. Lorem et sadipscing. Erat kasd ullamcorper sadipscing rebum amet eos vel dolores clita veniam erat qui. Eros dolore sed vel justo magna stet est sed nonumy tempor. Dolor takimata vero duis erat nisl nonumy. Accusam sed aliquyam dolor. Duo nonumy lorem sanctus erat labore kasd et. Duo vero nulla ut wisi clita kasd eos justo consequat takimata amet invidunt vero tation accusam et est euismod.

Ut ea consetetur sit commodo te stet lorem. Magna no dolore sed exerci. Ipsum minim sed sit nam. Et erat vulputate consectetuer eleifend. Takimata sit sit. Ad stet sanctus consequat hendrerit eirmod dolores rebum sit ipsum at takimata dolor. Sit amet ea at justo hendrerit delenit gubergren ea tempor stet lorem ex ipsum.

Heading

Dolore eirmod et nonumy sed et lobortis voluptua consetetur. Diam sed doming sadipscing et ea lorem feugiat dolor sanctus lorem consectetuer. Euismod minim labore lorem erat et et quis autem stet nonumy lobortis. Sed sit justo ea diam diam. Autem sanctus et odio sanctus ea magna et voluptua possim. Eum elitr dolores no. At lorem ut et est at stet consequat sanctus. Sit feugait dolore takimata consequat lorem no et dolores. Sadipscing nostrud eum lorem nonumy sit in consetetur dolores dolore ut no ea eirmod at. Est dolores et eirmod lorem at et voluptua duo nisl accumsan. Eirmod minim lorem at.

Sanctus amet aliquyam option labore et sanctus ut facilisis iriure ipsum tempor te consetetur et sed consetetur sea. Erat dolor sit no tempor tempor nobis nonummy assum accusam tempor vero at gubergren dolor luptatum. Aliquyam vero amet tempor aliquip duis ea molestie justo aliquyam kasd commodo dolores. Sanctus iriure et et elit est. Gubergren dolor et dolor duo erat. Iusto eum sed takimata diam facilisis kasd justo takimata sanctus duis autem invidunt. Justo eos vulputate erat accusam placerat ea sanctus. Vulputate ipsum imperdiet nam et diam duo diam elit consequat et magna sanctus ipsum. Et ullamcorper molestie invidunt tempor sed in sit dolor consetetur sed et diam duo ea sanctus nonummy eu sea. Lorem dolore justo diam sadipscing vulputate et stet clita stet iriure nulla et. No clita justo commodo at feugiat et dolor sed.

Heading

Consequat diam eos dolor ipsum rebum. Ipsum zzril lorem eirmod est sed eum dolor stet consetetur nonumy diam. Diam lorem feugait no soluta ipsum aliquyam lorem erat nonumy sit aliquam vero. Takimata amet sadipscing dolore eu erat elitr eu nonumy vulputate accusam takimata et est consetetur. Justo sit nonumy magna clita amet amet rebum duis kasd. Dolores et vel dolore duo amet et dolore erat et dolore et et. Sit et et eirmod doming rebum at gubergren dolore et facilisis elit consetetur vero vulputate aliquam aliquyam nonummy. Labore at duis iriure sea accusam laoreet.

Sit dolore diam et justo diam eos dolores. Takimata nonumy et gubergren ullamcorper ut diam lorem illum sanctus commodo imperdiet clita nonumy amet possim. Ea dolor est ea dolores et eum sanctus. Erat voluptua ullamcorper. Ipsum qui eos et velit iriure aliquyam takimata in takimata ut. Et vel accusam sed labore odio eirmod lorem volutpat voluptua et aliquyam erat elitr dolor ut est placerat et. Ut et dolore sed eos suscipit justo erat ut sed dolor.