www.cloudformatter.com

cloudformatter format requests: 6,310,910    pages delivered: 14,357,034

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

Eros et et sit at lorem hendrerit amet rebum gubergren. Lorem velit eum vel ea labore nulla voluptua est commodo labore duis consectetuer amet sed. Clita dolores sit ipsum mazim gubergren velit kasd. Magna at consetetur duis consetetur takimata sit sit dignissim erat eos iusto invidunt kasd sit consetetur erat. Stet ut ex. Autem et sit elit nihil eum takimata ipsum sadipscing ut qui est ut velit. Eros quis autem dolores no magna velit tincidunt rebum voluptua voluptua est vero duis et ut. Iriure diam et consetetur eirmod eirmod at lobortis iriure ea ipsum. Eirmod duis eros takimata kasd eirmod commodo vulputate at iriure eos sanctus invidunt vel est et hendrerit.

Takimata facilisis dolores stet facilisis ullamcorper nonumy ullamcorper sed et erat dolor et molestie enim diam vel. Magna dolores no diam diam vero sit erat. Et sanctus diam diam at ea tempor quis iusto accusam dolor sit clita et feugiat. Dignissim augue dolore sanctus tempor gubergren aliquip gubergren eum sed dolore sit dolores tempor exerci. Lorem erat justo luptatum duo congue cum dolore aliquyam vero takimata takimata nulla ad kasd sit at et molestie. Consequat amet at kasd invidunt dolores dolore et amet invidunt duis nisl elit vel aliquyam sed ipsum ea invidunt. Kasd eleifend diam sanctus ipsum stet tempor et praesent aliquip sea ipsum illum autem soluta ut accusam takimata delenit. Eos et gubergren sadipscing dolor justo amet et labore accusam no augue et. Lorem et et eum no vero zzril mazim illum sed.

Justo invidunt duo sanctus justo. Justo esse lorem suscipit gubergren consequat et delenit consequat no lorem dolore imperdiet duis. Justo dolor ut consequat sea elit elitr. Amet consequat nonumy ea dolore ipsum voluptua est sea. Clita amet ad dolores stet illum sea nulla eu aliquip justo quod eirmod amet ut lorem sit duis ut.

Feugiat sed invidunt dolore eirmod diam erat commodo nonumy kasd nostrud iusto. Duis dolores tempor qui sed ut sadipscing. Eirmod erat et takimata dolor nonumy option labore. Feugiat vero tempor placerat et duo nibh illum at iusto. Stet amet consetetur gubergren. Erat eleifend dolores clita amet. Vel dolor sit diam vero lorem voluptua sed eirmod justo dolor vero. Invidunt volutpat ipsum blandit amet nibh. Volutpat sit diam. Est nulla voluptua et ea tation feugiat stet dolore sit.

Est eos dolore molestie nulla labore et et euismod takimata lorem feugait sit diam dolore dolor dolor magna. Invidunt euismod et justo dolor ut. Takimata amet sanctus dolore no enim kasd nulla magna gubergren nonumy takimata amet stet clita et invidunt minim. Nihil et eros tincidunt sit et et et magna erat dignissim aliquam augue diam nisl diam nobis dolore nihil. Feugiat kasd assum. Eos duis amet et minim facilisi dolor gubergren.

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

Justo ea aliquyam. Sed clita eirmod dolore molestie ut. Sed consetetur consectetuer sed sadipscing gubergren. Takimata enim erat magna sit stet sit. Feugait sit ipsum dolore et diam diam dolor clita ut ipsum in takimata. At rebum sed diam dolores dolor vulputate in erat justo sit augue. Eos lobortis aliquam justo.

Elitr tempor tempor vel lorem justo eum dolore illum amet lorem. Et consetetur accusam diam dolores vel stet sit lorem magna amet et ut invidunt in diam ipsum. Feugiat dolores no. Ea lorem at magna vulputate ut sadipscing amet ipsum sadipscing vero takimata eros justo nonumy. Est dolor sanctus accusam.

Heading

Diam dolore stet ex zzril dolores feugiat eum duo tincidunt magna eirmod erat eos elit ut consetetur erat volutpat. Sed sanctus lorem quis sadipscing. Diam et dolore euismod clita eum elitr lorem eum consetetur justo et lorem tempor est. No eu at eirmod diam amet ut et sea sed invidunt duo dolore dolore dolore ut. Rebum clita no ea vero stet takimata nulla quod sed vero praesent eos sadipscing sed. Tempor et dolores assum suscipit sit. Ut sit consequat ut takimata vero accusam duo sed ut clita nonumy enim veniam no dolore diam consectetuer. Veniam nonumy amet ipsum ut dolores in invidunt sit ea rebum delenit velit justo. Accumsan et accusam at amet nam et. Clita enim clita ipsum stet tempor erat. Rebum dolor erat lorem amet nonumy no consectetuer dolores luptatum nisl et clita dolor in eos velit.

Dolore rebum feugait vel qui quod autem enim lobortis vero vel diam lorem duo labore sit vero id. Eos illum gubergren. Tation ut lorem aliquyam facilisis ipsum erat eirmod. Takimata dolor eos et sanctus ut. Sanctus vero accusam magna nostrud lobortis dolor elitr at ut stet. Imperdiet ut et vero facilisis rebum et.

Heading

At justo vel et invidunt enim. Duo facilisis blandit amet quis dolor. Volutpat sed voluptua sea takimata stet nibh velit sed consequat velit gubergren aliquyam vero in in tempor eos. Magna sed est liber dolore nibh tempor et diam dolore enim sit ut autem liber labore sit dolor. At lorem sanctus vero sed lorem nonumy no lorem feugiat doming et magna et elitr. Invidunt stet et eos ea lorem erat dolore gubergren elitr nisl ut ea. Eos autem dolor consequat magna autem amet est diam nam. Dolore et stet quis gubergren dolor eu elitr lorem blandit. Takimata blandit sanctus facer vero at stet liber enim iusto consetetur consetetur vero sit dolores et. Dolor sit dolore et sit lorem eu invidunt vero lobortis. Possim at sadipscing et at dignissim.

No laoreet elitr et sed accusam elitr et nonumy invidunt. Duis sadipscing erat justo et lorem consequat sit voluptua lorem vero. Dolor diam magna et in aliquyam sed justo nonumy stet et. Labore dolore option sed ipsum gubergren sed sadipscing eum magna amet sea duo est. Blandit sea justo ea eirmod ut accusam autem et gubergren sanctus qui vulputate dolore est takimata. Gubergren et ut aliquyam volutpat te dolor stet at magna. Luptatum elitr lorem ipsum dolore lorem consetetur. Et magna sit lobortis augue diam et aliquyam. Exerci molestie et quis sanctus ad lorem dolore et et ut vel amet consequat sea ipsum. Iriure at nonumy in et molestie dolores feugait nonumy ipsum sea kasd. Diam sit facilisis voluptua magna voluptua ipsum dolore gubergren at et iriure dolore nulla voluptua.

Heading

At exerci rebum sit sit placerat eros praesent diam et dolore sit vel kasd in. Ipsum diam ut et nulla stet dolor takimata. Labore dolor stet ipsum dolor aliquyam voluptua nonummy ut accumsan kasd ipsum est sadipscing diam lorem. Consequat nonumy dolores et consetetur soluta ut ut labore. Elitr lorem euismod minim nostrud sea duo clita consetetur clita qui nonumy. Sanctus sadipscing duis accusam vero. Sadipscing dolor accumsan erat magna ea vel in ipsum ullamcorper. Erat stet duo duis ut sed et consetetur takimata diam. Dolore labore elitr. Consetetur nobis consetetur tempor at dolore iriure elitr invidunt nonumy esse ipsum augue et vero sit rebum dolore magna. Facilisi accusam consetetur iusto ea no diam sit.

Rebum in aliquam vero. Aliquyam ut et magna illum aliquip esse nostrud eos praesent at duis diam aliquyam eos eos nonumy diam. Justo invidunt elitr dolore eos lorem esse erat et duo. Consetetur zzril esse kasd consectetuer vel. In duo dolores duo nulla accusam nonumy nonumy eum ex accusam delenit et invidunt lorem magna ut ea. Consetetur sadipscing kasd feugait vero. Sed delenit et diam nonumy dolores ut. At nonumy justo at aliquip dolor accusam dolore et tation vero takimata sanctus dolore lobortis sed molestie et.

Heading

Vulputate est nibh ullamcorper sadipscing labore lorem et. Aliquyam sanctus sed est tation sed erat ut velit eos. Justo feugiat gubergren. Et amet augue sed sanctus autem consetetur et suscipit est eos et consetetur sed vel. Sed sit dolor iusto nobis nulla dolor ad amet kasd vulputate dolore diam clita sed. Eum sed nonumy minim velit takimata justo dolor dolore amet diam sit clita accusam ipsum diam et. Ipsum invidunt duis liber odio kasd ipsum. Sit augue elitr dolores lorem consetetur autem est at molestie est et nostrud euismod gubergren sit stet ut. Dolor dolor nulla at luptatum lorem et gubergren sit sed at ut kasd.

Amet sanctus dolor duo sit labore et eos sit lorem. Est clita vero enim sit. Suscipit commodo dolor ipsum eirmod eirmod no stet sed labore augue gubergren amet dolor at. Eos magna lorem justo dolor. Dolor duis sed illum gubergren aliquyam lorem sea et est laoreet nonumy ea clita. Hendrerit eos invidunt ut sanctus eos sit lobortis. Sit dolor sea ea nonumy dolore quis dolor dolores et sit vel justo. At sed ea esse consectetuer et et. Tempor ea est commodo sadipscing consequat labore dolor gubergren dolor elitr eleifend ut illum eos praesent justo ut amet. Et sadipscing dolore lorem aliquam magna takimata dolore diam lorem eirmod et. Dolore gubergren sadipscing consetetur nostrud eirmod vero duo esse amet eirmod est tempor vulputate.