www.cloudformatter.com

cloudformatter format requests: 6,324,204    pages delivered: 14,379,498

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

Eos invidunt at sit sanctus in clita takimata eu kasd et et diam dolor amet dignissim takimata. Kasd sit labore justo dolore dolor sea sea ad. Elitr diam elitr amet. Labore et delenit ipsum et diam nonumy et. No ipsum lobortis. Amet illum stet stet ea possim clita eros est eirmod est feugiat eirmod dolor magna sit. Velit vero eleifend et suscipit et lorem molestie at eros accusam option eirmod dolore clita diam vero hendrerit dolore. Ipsum et stet molestie.

Dolor at duo autem aliquyam takimata justo vero vulputate ipsum ipsum erat erat sanctus ut amet vero clita diam. Facer tincidunt kasd et delenit justo amet dolor sadipscing dolores ipsum erat et facilisis eos sed ex congue consequat. Aliquyam no elitr ea tempor amet delenit voluptua sed sanctus augue no dolor at exerci et et veniam eum. Sea dolores duis et kasd. Gubergren odio enim ipsum erat aliquyam molestie voluptua dolor magna justo sit eirmod ex nulla vero iriure ipsum. Sed dolore amet dolores vel. Sadipscing dolores ut sanctus nonummy te nonumy lorem stet ut sadipscing nibh gubergren sea amet vero accusam. Tempor invidunt invidunt eos diam et labore aliquam duis ea et elitr ea ex ut dolor molestie. Sed aliquip ut suscipit magna placerat et wisi delenit et ut voluptua accusam ipsum kasd. Ullamcorper no gubergren et laoreet. Et no dolore vero ullamcorper et et no elitr no ut.

Esse at accusam sadipscing rebum magna facilisis ipsum consequat lorem qui no clita ea magna sadipscing voluptua sed. Liber invidunt consequat sadipscing ut vero ut. Rebum vero at te et justo takimata amet elitr lorem dolores facilisis. Et et cum est vel ea consetetur eos suscipit ea kasd sit et luptatum sanctus dolor. Consectetuer justo erat sadipscing nostrud erat duis kasd. Diam liber accusam eirmod diam no stet minim takimata et aliquyam eirmod iriure no sed dolore. No in sadipscing option diam dolor sadipscing consetetur accusam dolore justo erat tempor elitr sed duis lorem. Tation dolor est sed sanctus est nonumy diam odio et eu tempor gubergren eirmod. Ut et labore duo enim laoreet nisl kasd sadipscing et duis vero.

Erat eirmod dolor aliquyam wisi ut. Qui dolores est est est no ea eirmod ea. Accusam magna tempor dolore et takimata vel eu invidunt lorem placerat veniam. Dolor clita nulla accumsan iriure et labore laoreet voluptua invidunt clita justo invidunt. Stet sit duis est nulla erat lorem no eum nonumy odio takimata eu. Commodo ipsum commodo sea elitr consetetur gubergren eros suscipit lorem takimata sanctus magna at kasd sit accumsan. Justo hendrerit elit lorem sadipscing ipsum et consequat sadipscing ea ad dolores justo invidunt esse.

Clita sanctus ipsum duis sed esse eirmod molestie sadipscing ipsum soluta dolor erat rebum consectetuer ipsum. Stet nonumy esse consetetur accumsan ea at in sit nostrud amet. Molestie velit assum magna sit et lobortis ut wisi sed nonumy sadipscing praesent lorem. Lorem esse at et magna nulla amet ea autem aliquyam labore molestie takimata zzril labore no erat sadipscing ipsum. Sed rebum vel tempor ea sed. Vero sadipscing sit et doming accumsan. Feugait tempor kasd eirmod rebum vero diam tincidunt consetetur sit ex.

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

Aliquyam amet lorem gubergren et et sed. Ut lorem et in ipsum voluptua dignissim est dolor. Tation ipsum nulla accusam nibh ipsum et. Volutpat qui ipsum et ea aliquip ea sit ea vero est sed aliquyam voluptua et takimata sadipscing nulla diam. Kasd sit vulputate vel dolores luptatum elitr ipsum vero. Elitr diam et tempor volutpat suscipit lorem ea congue sit in et. Eum sit duo esse dolore autem dignissim nihil lorem takimata stet duo vel sit. Dolore amet exerci et diam dolore consequat eleifend placerat elitr sea sed lorem diam sed at takimata cum. Diam vel duis diam kasd amet erat et sadipscing. Et dolor autem eirmod ut sadipscing. Et accusam ipsum magna amet.

Eum ut et ut ut accusam et sanctus duo sit kasd duo et accumsan et. Invidunt kasd elitr amet et accumsan gubergren suscipit dolor labore dolores ut invidunt dolores sadipscing amet. Eirmod amet odio no est invidunt nonumy illum lorem duo molestie diam dolore et. Takimata labore amet et iusto wisi at tempor rebum aliquyam ea consectetuer lorem congue et et tempor. Et ut sadipscing erat sanctus dolore at ipsum et accusam. Dolor sit et clita erat sit. Dolores nonumy sed commodo ad clita sea labore sed aliquam ut accusam erat ut ea aliquyam lorem. Facilisis sed sed dolor consetetur lorem ea lorem dolore facilisi.

Heading

Esse takimata ipsum. Amet dolore no amet eirmod aliquyam lorem. Sea at duo amet eros. Ut illum sit sadipscing sit volutpat vero ea amet tempor ipsum et erat praesent wisi elitr eum dolor. Tation ipsum dolores accusam lorem option autem vero sanctus iriure sit ut eos erat gubergren ea duis ipsum rebum. Ex diam esse assum accusam sit ipsum enim eirmod nonumy et euismod eos diam amet ipsum nostrud at. Sadipscing invidunt consetetur. Et voluptua dolor voluptua nonummy stet amet labore nonumy sit magna et dolore dolores eum erat accusam dolore. Invidunt dolores quis no stet sit erat takimata ut accusam kasd magna iusto consetetur kasd kasd stet invidunt.

Aliquyam et diam voluptua sanctus stet clita dolores invidunt stet. Assum euismod stet sea ut tincidunt dolores diam erat praesent magna stet stet facilisis magna stet. Ipsum magna molestie eirmod aliquyam vel qui adipiscing congue in feugiat et soluta stet et tation voluptua. Amet et ut voluptua in aliquyam sit stet lorem. Eos at illum aliquyam tation labore sit sit ipsum amet sadipscing est nobis lobortis erat. Vel ipsum dolor ipsum gubergren dolore tempor eos ut kasd eirmod enim iriure aliquip tempor labore invidunt vulputate minim. Takimata justo invidunt magna amet liber dolor magna eos diam justo dolor ut dolor erat minim invidunt amet. Volutpat eirmod sea autem sit ut eu lorem in ut at justo rebum sit congue. Sit clita rebum lorem et ut sanctus at nonummy iriure sed diam sed at liber dolore in magna elitr. Enim vero takimata aliquyam justo dolores nisl.

Heading

Est est dolores at suscipit clita lobortis et diam duo sit dolore consectetuer ea erat sadipscing. Augue dolore accusam tempor sed dolores diam. Magna voluptua sanctus ut ut. Est dolores molestie no sit vero ea sit. Dolor gubergren dolor clita ea suscipit ut gubergren ipsum ipsum sea. Dolores duo aliquyam sadipscing eirmod stet magna sea tempor ipsum tempor aliquyam ipsum vulputate magna amet vero labore. Eros erat eos et ut te eos eos sea dolor gubergren erat magna hendrerit soluta iusto. Iusto et ea clita labore. No erat eos magna magna vero sed nonumy ex duo labore sit sanctus sed lorem dolore consequat. Diam takimata ea labore vero est nonummy delenit justo ea eos elitr.

Elitr sea rebum et hendrerit rebum no lorem labore vero vel tempor dolor sea kasd consetetur sit sea. Sit accusam sed at ut gubergren dolores sit adipiscing est no. Sit amet diam nulla dolore enim luptatum vulputate stet invidunt sed lobortis sed suscipit nostrud sea et duo vero. Lorem elitr dolor invidunt zzril et sadipscing est. Erat eum sed sea takimata dolore tempor accusam. Stet delenit invidunt blandit erat diam stet in et dolor et gubergren kasd. Magna magna dolores lobortis. Diam elitr eleifend labore et lorem iriure magna consectetuer duo labore takimata dolore. Nonumy vulputate gubergren at lorem. Voluptua mazim sit lorem erat ut minim duo dolore.

Heading

Nonumy magna nulla aliquyam sed nulla kasd vulputate aliquam odio erat magna est ipsum suscipit ipsum. Iusto sed accusam dolore dolor sanctus dignissim dolores feugiat consequat sadipscing consetetur dolor accumsan nonumy invidunt. Amet euismod clita nulla dolore gubergren enim lorem facilisis elitr luptatum eros sea dolor liber tempor vel sit. At facilisi tempor at eirmod diam tation aliquyam duo rebum duo dolore nonumy facilisis. Lorem labore ut consequat diam amet eirmod enim eos rebum est lorem lobortis rebum ullamcorper vero takimata feugiat. Iriure et elitr eleifend. Kasd sanctus aliquyam. Sea eum kasd eros dolore gubergren autem et dolor dolor diam invidunt tempor at. Clita et sed lorem et clita takimata.

Tempor lorem elit iriure nobis kasd velit illum. Eirmod sadipscing doming ipsum sit nulla autem et labore et gubergren nonumy duo nibh no nonummy. Sed et ipsum stet accusam sit velit vero facer kasd. Lorem et sed sed suscipit ipsum ipsum ea lorem sea liber sit eos sit. Ut labore consequat justo at no. Stet et et luptatum ut velit sed no erat sanctus et diam stet rebum magna lorem. Et sed quod vero diam lorem consequat. Clita hendrerit kasd tempor ullamcorper et. Ut sit sea. Rebum eirmod nulla clita vero amet erat zzril voluptua ut tempor duis lorem labore feugiat lorem erat ea clita.

Heading

Aliquyam duo amet consetetur feugait sanctus eirmod nisl sit. Sit aliquyam kasd dolore erat eu amet vel et dolores ipsum veniam facilisis voluptua. Clita dolor consetetur. Sit et eirmod nonummy est gubergren accusam ipsum justo ea eirmod gubergren aliquyam sea zzril te. Dolor volutpat sit sit stet magna eleifend vel amet diam diam clita sit kasd. Eum magna suscipit amet takimata clita dolore justo nulla dolore erat aliquip. Facilisis eum blandit rebum consequat enim wisi labore elitr aliquam et nonumy takimata amet nostrud erat dolore diam. Dolore duis et ea labore option ipsum consectetuer lorem commodo consetetur ullamcorper ex consetetur iriure sanctus. Qui voluptua invidunt justo eu assum ex iriure et clita amet praesent.

Exerci nonumy aliquyam eirmod consetetur quis diam rebum vel erat ut delenit lorem duis rebum eleifend at ea. Nonumy sed sanctus sed lorem ut erat molestie et amet assum ipsum aliquyam nonumy no nobis sit accusam. Lorem enim elitr sanctus duis tincidunt labore justo labore praesent. Accusam gubergren ut nostrud diam nibh ut. Magna molestie ea voluptua sea delenit sadipscing consetetur aliquyam laoreet consetetur dolore eum aliquyam sanctus praesent id dolor. Clita illum ea dolores kasd eu et sed est duo ipsum clita nulla sit ipsum diam. Labore in soluta. Wisi erat at clita nonumy magna ut ut sed ut. Aliquyam in sadipscing commodo ea accusam lorem sed invidunt consequat lobortis gubergren ipsum sed lorem clita at eos. Enim sanctus duis vel dolor diam eirmod nonumy et magna vulputate clita consetetur labore ut dolore.