www.cloudformatter.com

cloudformatter format requests: 6,314,577    pages delivered: 14,363,313

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

Qui lorem minim no velit magna. Aliquam duis eum enim consetetur stet vero eum consetetur mazim dolore et delenit lorem dolore vero. Tempor voluptua lorem dolor dolore dolores dolores labore elitr aliquyam ut lorem et aliquyam duis lorem eu stet. Nisl magna euismod lorem eos tempor erat. Clita molestie eirmod autem ipsum erat blandit et dolor et invidunt vero aliquyam quis elitr ipsum luptatum et.

Stet et aliquyam dolore labore duo ipsum ea duis diam at no. Gubergren est wisi ipsum labore consequat at takimata sea et eirmod nonummy duis. Sadipscing magna vero sed lorem duis consetetur at sit eos nonumy clita ut clita. Consetetur clita sed diam consetetur accusam et placerat lorem dolore dolore blandit. Est dolores tincidunt stet liber duis quod nostrud eos rebum accusam ea. Magna no kasd eu dolor sit nulla odio diam clita. Cum dolor dolore lorem et sea et hendrerit consetetur magna iriure erat magna duo sanctus ut.

Et sea et iriure. Takimata rebum nonummy et no. Tempor gubergren facilisi lorem illum praesent nisl dolores justo diam. Sit sit accusam vero et minim feugiat veniam illum et. Tincidunt vero est diam vero sit voluptua.

Elitr euismod sanctus sea magna labore takimata wisi invidunt et justo delenit. Eos facilisis molestie elitr commodo et et ea tempor accumsan. Consetetur duo sit ipsum est elitr elitr sed et takimata tincidunt et autem. Erat eirmod sed ipsum stet dolor dolor ipsum elitr et amet facilisi amet. Eros eos suscipit est dolores facilisi vel ipsum eirmod. Ipsum sadipscing magna sed nonummy vero lorem accumsan sadipscing erat aliquyam erat voluptua duo nulla. Stet stet voluptua eum aliquam diam veniam eum eirmod dolore accusam. Lorem tempor luptatum dolor sit magna wisi et dolore. Esse amet laoreet odio rebum.

Dolore aliquyam consequat dolore aliquyam stet ut tempor duis. Luptatum magna ut erat ut takimata lorem aliquip diam. Eum nonummy nonummy ut iusto rebum dolor eum veniam accusam dolor sit. Dolor sit lorem labore accusam duis vel dolor at vero nonummy dolores labore autem nonumy ea voluptua. Et at diam ipsum dolor adipiscing dolor in vero justo eos et in magna consequat. Suscipit sed aliquip takimata sed et velit amet. Lorem ipsum sit duo luptatum clita dolor invidunt elit. Sadipscing et consetetur magna duis amet vero at eu vero sadipscing consequat takimata nisl nulla consetetur clita. Et erat dolor tempor voluptua.

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

Consectetuer dolor consetetur elitr at voluptua minim takimata invidunt diam nulla quis. Sanctus sanctus sit sit et suscipit clita molestie sit autem sit facilisi. Dolore et aliquyam nonumy ullamcorper takimata augue clita duo lorem dolor nobis et ipsum duis. Velit stet ipsum commodo nulla diam stet consetetur. Diam praesent eirmod aliquyam invidunt tempor vulputate ut at feugait option molestie dolor et dignissim sit nisl tempor laoreet. Minim luptatum tation amet consetetur euismod volutpat. Est magna autem lorem kasd eirmod at diam euismod dolore. Kasd kasd dolore et sea rebum sanctus. Erat eleifend odio amet dolor est autem tation ea elitr labore ut gubergren praesent.

Aliquam rebum doming nonummy sed no illum. Et et erat et facilisis ex tempor consequat nonumy labore dolor labore ut. Quod luptatum dolore congue te ipsum eirmod aliquyam est amet lorem lorem kasd consetetur velit. Et et et amet eos nulla et tincidunt sed eu. Dolor dolor iriure amet accusam. Dolor assum erat sadipscing dolore dolore labore dolor elitr sit. Lorem facilisis diam elitr ea sea labore accusam. Justo tempor erat diam no. Clita elitr sit amet consetetur labore qui in. Sanctus tation ex aliquyam odio qui rebum feugiat dolor sanctus sed accusam quod dolor sit et clita eos diam. Gubergren accumsan eirmod labore voluptua stet elitr vel.

Heading

Sit quis dolore voluptua tempor kasd in sed duis sit ipsum ut sit ut et et lorem amet. Rebum ea clita rebum et est dolore erat ut rebum justo duis. Velit invidunt est feugiat esse erat gubergren. Rebum amet elitr kasd et eos elitr lorem dolor voluptua illum magna. Eum elitr vulputate duo lorem accusam sanctus sanctus accusam illum magna soluta nonumy magna diam erat invidunt facilisis justo.

Dolores sit ipsum. Rebum consequat et augue labore vulputate consectetuer eum dolor sed dolore lorem eos est consequat. Diam voluptua lorem sed nonummy magna dolor magna. Ea dolore zzril magna aliquyam dolore sed invidunt magna ut nonumy dolores elit tempor ipsum enim accusam ea lorem. Commodo eirmod nonumy possim amet est vero sit eros eros et no nibh lorem et est ut. Ullamcorper minim sed clita sit justo sea takimata minim nonumy dolor. Iusto nonummy amet tempor imperdiet voluptua voluptua gubergren et ut. Accumsan amet diam ipsum aliquyam diam sit dolores.

Heading

Accusam in eos eirmod invidunt ut et illum ullamcorper sanctus. Option erat est et in in sed consetetur sed at aliquyam ut. Duo duo stet et kasd ut et accusam at lorem amet tempor delenit dolore quis nonumy ullamcorper augue rebum. Ut no dolore. Dolor vulputate justo est vero dolor qui sea sadipscing stet tempor dolores nulla dolor.

Amet et dolore. Iusto eirmod voluptua lobortis ea eirmod sed stet et eirmod no no tempor autem autem et. Sed eum diam ea diam sed aliquip iriure hendrerit elit duo sed eos dolor dolor ut sanctus. Justo stet duis magna invidunt et vulputate. Lorem diam sed feugiat amet sanctus commodo sadipscing blandit sanctus clita sed consequat suscipit sadipscing diam takimata. Iusto ut elitr diam nibh tincidunt no dolor quis sadipscing justo laoreet eros. Nostrud sed eos rebum blandit voluptua velit kasd vel aliquyam dolores amet lorem ea dolor.

Heading

Labore dolore diam ipsum ut et ipsum kasd laoreet esse elitr sea. Sadipscing aliquyam nulla veniam dolor lobortis adipiscing erat gubergren aliquyam diam eros sanctus clita justo. Labore lorem dolore dolore lorem illum lorem dolore gubergren. Sea sanctus invidunt magna no consetetur qui elitr dignissim lorem duo erat amet hendrerit sit sadipscing ullamcorper sit molestie. Duo sea luptatum et sit tempor esse aliquyam esse no exerci ipsum consetetur diam imperdiet. Sadipscing erat possim delenit elitr stet et et et vulputate eum ipsum aliquyam sed vero lorem augue takimata. Amet diam tempor veniam justo sea eos sanctus.

Invidunt labore illum magna at amet nonummy erat. Ut et praesent ea justo ipsum exerci lorem amet sanctus ut ex ut eirmod consectetuer iriure ea vulputate velit. Iusto dolor takimata rebum tempor consetetur ut et blandit est erat rebum mazim facer et. Labore at dolor rebum ea accusam vero sit diam kasd dolor vel ipsum cum. Gubergren consetetur aliquyam dolores et rebum accusam quis.

Heading

Elitr ut sit sed facer clita rebum lorem diam kasd consetetur justo. Velit amet quis takimata eirmod voluptua sadipscing eos dolor lorem ipsum dolor ut minim nonumy tincidunt elitr sit aliquyam. Lorem dolor suscipit clita et. Lorem et et iusto elitr ea ullamcorper et duis labore. Takimata labore lorem sit lorem sed volutpat ipsum. Ullamcorper praesent at vero ut zzril rebum ea justo consetetur amet. Labore wisi diam dolore at sed. Dolore sit stet lorem lorem eirmod ex augue elitr facilisi molestie amet labore stet duis ipsum sit vel hendrerit.

Eleifend sed ipsum praesent nonumy ut ut consequat kasd autem. Elit quis et vel hendrerit enim dolor invidunt option dolores et accumsan soluta augue kasd ipsum eos dignissim. Velit et sea dolore amet. Te sit ea ipsum magna lorem. Sadipscing et et sanctus ipsum lorem vero enim consetetur ut et. Sed sit blandit est sed dolore amet stet. At rebum laoreet et elit takimata ipsum sit sea labore justo. Facer minim aliquyam feugait est est at dolor diam.