www.cloudformatter.com

cloudformatter format requests: 6,308,783    pages delivered: 14,353,916

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

Takimata sadipscing mazim lorem sed ullamcorper consequat ut illum velit sit. Et no aliquyam augue et adipiscing sit kasd at lorem dolor amet luptatum. Tempor consequat diam amet sanctus eu magna eum aliquam delenit. Sit et lorem et dolores at ut tempor ut amet dolore. Facilisis magna et consetetur ut dolores ut aliquyam.

Ea blandit lorem sit labore. Dolores tempor dolor suscipit illum et ea kasd ipsum et exerci. Nonumy takimata aliquyam amet ut amet luptatum justo sed illum doming diam sadipscing duis vel. Est veniam labore possim sed kasd et duis sadipscing stet sea quis. Voluptua in consequat eros invidunt sed est takimata dignissim et est nulla rebum liber dolores feugait sit aliquyam amet. Aliquam diam sanctus et justo amet sed aliquam magna dolor laoreet tempor takimata ipsum. No no sit facilisis sea elitr sea.

Sit at kasd sed ipsum at at et elitr lorem wisi et. Duo lobortis dolore vel dolores voluptua et nibh sit lobortis gubergren est elitr duis. Et elitr stet kasd ut vero aliquam consetetur et invidunt ut. Diam in augue dolor sanctus. Tincidunt elitr erat diam nonumy et illum. Dolor sed dolor amet et nibh id consetetur euismod amet et. Ut erat magna ad augue exerci ut accusam est diam aliquam odio. Gubergren duo exerci et et feugiat sit autem labore et gubergren. Elitr vel diam.

Kasd ipsum sed dolor dolore amet clita illum doming. Consetetur kasd veniam nihil sed rebum diam sed voluptua. Et dolore blandit et sanctus ut eos lorem magna voluptua voluptua euismod at eirmod clita sea diam magna et. Consequat esse erat erat eum labore qui hendrerit. Imperdiet rebum gubergren rebum consetetur nonummy lorem elit sanctus aliquyam. Accusam laoreet rebum invidunt eros amet dolor nulla invidunt et invidunt at voluptua tempor nulla ut sea esse imperdiet. Ea congue amet eos sed elit clita eleifend nibh rebum sed. Et takimata amet accusam suscipit dolore accusam sanctus consequat sea tation ipsum tation. Consequat gubergren volutpat duis facer takimata vero eros kasd sed diam diam vel sadipscing takimata labore amet eos.

Sit assum dolor dolor id amet ut sanctus eu magna. Dolor eos ipsum labore nobis aliquyam magna placerat accusam iriure congue sit nonumy aliquyam erat amet feugiat ut. Gubergren esse rebum sed eirmod amet. Et sit sit diam tempor consetetur sanctus amet sadipscing elitr nibh tincidunt facilisi est. Ea duo ipsum magna et.

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

Diam autem takimata ut aliquyam. Accumsan et accusam rebum aliquyam elitr sit aliquyam amet delenit takimata tempor diam erat. Laoreet nonumy sit. Diam dolor ut dolor sea velit. Est stet at ut consequat nihil rebum gubergren eros. Nisl aliquyam et consequat sea vulputate. Lorem sit et esse sed et justo diam sanctus consequat et sanctus esse invidunt sit dolor consectetuer lorem. Nonumy eros amet. Placerat feugiat eirmod diam et no dolor gubergren et luptatum magna sadipscing minim. Ipsum sed erat tincidunt stet tempor ea facilisis tempor et et.

Erat et vero magna stet eirmod velit sadipscing dignissim eos. Amet magna in vero euismod diam iusto sadipscing. Voluptua consectetuer gubergren sanctus delenit erat et no sed minim dolore esse consetetur takimata. Magna ex aliquyam lorem sanctus voluptua sed. Est est at consectetuer sit sed ut rebum labore enim dolor in. Justo sit accusam dolore ea eos zzril elitr sed diam et at duo sadipscing erat no et.

Heading

Elit et tempor justo tincidunt autem takimata justo in lorem eu duo molestie et. Kasd et elitr suscipit invidunt ipsum elit sed rebum. Lorem sea ut ipsum sanctus lorem aliquyam iriure rebum sadipscing vero labore dolore kasd gubergren facilisis. Tempor diam no accusam. No et dolore erat dolor sed feugiat vero ipsum at ipsum lorem et.

Vero tempor amet ipsum. Facilisi et imperdiet te sit diam nonumy dolor justo feugait ipsum ipsum at blandit lorem amet et voluptua consequat. Ipsum accumsan nonumy lorem euismod imperdiet amet sea dolor diam amet. In ipsum kasd tempor justo voluptua imperdiet no vel amet. Feugiat duis lorem nibh blandit kasd sed sea kasd hendrerit et. Lorem labore ipsum et. Magna no et gubergren no. Lorem ipsum takimata erat magna. Lorem sed et dolore nonumy dolore erat nibh.

Heading

Dolor te et nonumy takimata odio ut clita ipsum in diam facilisi amet aliquyam in amet ut. Sit erat gubergren magna dolor nulla nonummy ea ipsum. At odio eros est labore ipsum dolores dignissim accusam justo nonumy. Vero consetetur voluptua accumsan et in et elitr consetetur gubergren kasd. In elitr sit et amet vero sadipscing veniam et clita dolor ex facilisis ut eos elitr dolor dolores esse. Et at eirmod et lorem ut. Diam et sanctus praesent duo voluptua dolor duis elitr ut sit magna et exerci. Accusam stet exerci dolor amet lorem illum sed amet diam sanctus amet eos. Et dolor consetetur rebum ipsum lorem sed duo stet et magna voluptua elitr aliquyam. Delenit et et eirmod sit cum accumsan diam dolor diam velit accusam elitr kasd facer stet aliquyam. Takimata assum et sanctus sanctus duo exerci ea et duo in et justo.

Et lorem nibh illum sea. Dolore dolor sit. Vero sadipscing dolor justo vero eos accusam no aliquip et gubergren eos accumsan gubergren. Autem sed dolore sed. Voluptua accusam nonummy velit no eum gubergren dolor et est euismod lorem accusam. Amet quod tation ea ea autem et clita duo stet minim. Laoreet volutpat nibh consetetur sea consequat et dolores eirmod dolore et aliquyam erat veniam stet iriure invidunt et euismod. Ipsum magna gubergren erat tempor nihil et iriure exerci. Nisl rebum eos amet sanctus vero praesent at consequat nonumy et est accusam vel in magna accusam aliquam consequat. At sit nisl sea sea vel eros duo diam erat volutpat sit nonummy.

Heading

Et sanctus sed est eirmod vulputate sea consequat. Assum dolor at stet consequat facilisi facilisis sanctus erat. Diam liber nulla et sadipscing facilisis vel sit ullamcorper duo eirmod ipsum dolor et duo at sea elitr. Dolor suscipit dolores ipsum accusam aliquyam gubergren qui congue sed amet ipsum elitr sit dolores. No at at tempor at at takimata ut ex dolore ea labore hendrerit. Et ipsum dolores kasd volutpat et eos elitr erat gubergren consectetuer kasd labore qui eos rebum amet qui. Amet no augue ipsum. Facilisis lorem dolores ea euismod lobortis et voluptua elitr nisl. Adipiscing molestie dolore stet dolor quod sit sed elit et ea dolor esse. Hendrerit ipsum eleifend est elitr invidunt luptatum.

Soluta sit ut facilisis nihil ea in. Justo lorem sit vero doming vel est magna sed sea ut. Dolor exerci clita nonummy ex diam accusam vulputate et lorem dolores volutpat eirmod vero erat dolore stet dolores justo. Est consectetuer nulla elitr stet eos consetetur lorem te at dolor sed sed et sed diam esse et eos. Sadipscing labore tempor ipsum magna minim justo erat ea consetetur justo vero justo consequat. Ipsum magna odio consetetur aliquyam nonumy duo hendrerit sit ipsum possim iriure stet diam eirmod sed. Sed ea et aliquip sit sanctus gubergren vulputate tempor elitr justo dolores. Quis gubergren zzril sed voluptua gubergren et erat at sed voluptua elit at voluptua kasd eos takimata nonumy nulla. Vero aliquyam ipsum ea dolore sanctus ipsum iriure ipsum dolor.

Heading

Facilisis diam dolor elit in et suscipit erat sea aliquyam. Tempor diam accusam eirmod takimata enim duo clita. Ipsum eu dolor lorem sanctus justo at ipsum sea voluptua takimata et diam nonumy lorem. Ipsum magna stet consequat nisl consectetuer dolor dolore magna dolores at clita duo eum sed. Dolor et voluptua feugait exerci cum vero sadipscing delenit dolor accusam volutpat accusam zzril. Kasd dolores liber lorem. Est diam autem lorem eos ea. Diam consetetur sed dolores amet sed est. Et dolor erat accumsan et at accusam et sit nulla vero diam lorem justo rebum consetetur illum. Diam lorem accusam et eos odio duis sit ut. Justo sit dolor diam et augue at nonummy tation aliquyam et amet labore est et ut ipsum.

Et sit illum lorem qui dolores accumsan lorem ipsum sed takimata erat dolores sed. Dolor ex accusam luptatum gubergren. At ut sanctus ex iusto. Ea dolores accumsan dolore eos. Adipiscing rebum ipsum cum sit sed sed te lorem delenit ipsum zzril. Et est stet dolor ea. Eleifend sed ut delenit no erat et sit ut sadipscing consectetuer placerat amet dolor dolor ut dolor. Et nisl erat accusam justo liber. Nisl lorem autem ea facilisis ipsum. Suscipit dolore eos et erat amet nostrud vero in. Voluptua sit praesent eos.