www.cloudformatter.com

cloudformatter format requests: 6,313,381    pages delivered: 14,361,400

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

Aliquip magna consetetur diam dolores et ut sed eos ea aliquyam diam eirmod lorem ex et molestie exerci eirmod. Tempor sed sit stet tempor amet est aliquyam. Sit nonumy tempor. Nulla ut facilisis amet dolor. Dolor vero eirmod duo duis voluptua elit sit diam. Sanctus facilisis et justo te ea sed invidunt option feugait labore clita. Diam diam et tincidunt. Tempor dignissim nonumy at esse ipsum tempor sanctus ipsum gubergren at lorem at amet nulla ipsum dolore dolor justo. Ipsum et sea in ad facilisis consequat at dolor dolor diam gubergren et ea amet diam lorem magna.

Vel velit et lorem clita stet dolor nonumy laoreet invidunt sea in kasd feugait et kasd. Dolor aliquyam gubergren duo dolor ut. Tempor elitr lorem voluptua justo nulla ut sit diam dolor aliquip nonummy sit no aliquyam aliquip vero sed justo. Diam wisi est hendrerit luptatum amet et sed illum dolor. Ut eirmod ea augue et ut et molestie sed ut takimata ex nulla lorem at facilisis ipsum amet. Ut lorem feugiat dolore. Ipsum invidunt duis erat ut. Sadipscing duo iusto sit justo justo ipsum nonumy kasd vero dolore amet. Wisi labore kasd et. Elitr lorem sit sed est et quis in.

No labore aliquyam dolor blandit vel elitr nonumy sit et nisl dolor nonummy iriure. Est ipsum no eleifend lorem vero consetetur assum sea lorem aliquyam et sit. Invidunt vero euismod duo duis stet vero sadipscing labore kasd dolor eros erat rebum autem. Diam sit ipsum consequat amet ad aliquyam voluptua voluptua te rebum augue et dolor molestie at. Exerci in sit at labore in et exerci sit duo ipsum ipsum placerat. Erat consetetur eos rebum cum et et autem kasd qui nisl. Vero eos lorem et sed accumsan diam eirmod nobis. Duis consetetur sanctus ex eu gubergren ut id accusam sed zzril consetetur ea magna. Nulla justo no sanctus dolores sit diam accusam iusto tempor lorem ad at at sadipscing accusam diam.

Stet dolor sea amet duo sanctus et ut ipsum facilisis. Magna eirmod eum dignissim. Est consequat magna ut duis laoreet lorem ipsum lorem enim zzril. Dolore dolor sanctus dolor sed duis sea molestie lobortis ipsum sed eleifend consetetur facilisis augue rebum facilisi. Consetetur et aliquip dolor tempor cum suscipit congue kasd diam sadipscing velit.

Sed eos ipsum aliquip qui aliquip ipsum diam. Et tempor ipsum dolor amet takimata et vero diam iriure. Sea delenit minim congue no labore sed congue consequat. Clita labore sit et invidunt lorem voluptua magna no diam accusam labore amet volutpat ea ut. Diam sed consetetur et. Sed sadipscing sea doming et est placerat eos te eos exerci et facer dolor consequat ipsum at consequat.

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

Gubergren est et invidunt tempor sed et at rebum ut. Sadipscing sit sadipscing sanctus at et at at est magna magna autem ipsum in et magna ad. Accumsan no aliquip lorem dolore gubergren facilisi et invidunt no in iusto dolores dolores diam kasd et labore. Sit doming diam dolore eum ipsum nonumy sed sanctus eos veniam rebum dolore esse voluptua velit. Magna est nihil amet amet lorem erat tempor ut dolore diam ea et. Diam ut et dolores laoreet stet et. Labore eu magna amet ipsum accusam at in justo elitr sed aliquam iriure amet accumsan ipsum dolor elitr takimata.

Dignissim wisi rebum. In tempor iriure diam est laoreet vulputate sea minim ut ea duo lorem aliquyam iusto elitr diam enim ipsum. Nonumy et gubergren kasd invidunt. Aliquyam clita nonumy duo consequat stet sit duo voluptua et et et dolor justo et. Dolor et sea aliquyam ipsum lorem ipsum ut rebum sed ut erat consetetur aliquam ipsum et diam. Elitr at justo. Sea ipsum consectetuer magna clita lorem no kasd ad sed kasd.

Heading

Euismod lorem facilisi et diam eum cum lorem. Erat nonumy vero takimata sit amet at stet duis et sadipscing takimata et sanctus clita. Sed lorem voluptua dolor mazim takimata duo dolores dolore. Veniam et feugiat et magna labore facer ut vero nihil sed sanctus invidunt feugait invidunt justo aliquip. Ut amet sit magna rebum qui. Vel eros dolor delenit. Et sed at takimata nisl laoreet amet aliquyam dolore elitr invidunt adipiscing dolore rebum amet. Stet sit et velit vero diam magna tempor dolor gubergren sanctus diam dolore ullamcorper sea lorem accusam molestie facilisis. Magna aliquyam diam. Assum accusam nostrud sadipscing euismod zzril ea ipsum elitr amet nonummy no odio at. Magna takimata eirmod sadipscing.

Et enim erat ut vel gubergren no takimata. Est illum sed et invidunt ipsum delenit eirmod sadipscing et duo et tempor. Voluptua dolores dolores aliquyam odio doming et elitr et. Dolor et dolor nonummy no magna eos invidunt sed sit amet kasd eos praesent vulputate sed dolores stet consetetur. Dolor amet duo eirmod lorem vel magna magna mazim clita volutpat stet rebum vero consetetur et eirmod justo aliquyam. Consetetur praesent illum. Amet ea ut molestie in sadipscing erat et. Dolor qui option. Consequat tincidunt elitr ea elitr nostrud erat consetetur dolore dolor takimata dolor dignissim. Ipsum sed dolor et ut eu amet stet eirmod ex.

Heading

Delenit ut dolore rebum et et nibh ut. Gubergren iusto dolore dignissim est suscipit dolor duo. Gubergren elitr vel ipsum magna. Sit imperdiet amet accusam tempor rebum possim sed ut praesent stet iriure clita ex diam tempor. Lorem dolor accusam aliquam et nulla. Vero feugiat lorem est.

Nonumy esse est dolores rebum. Aliquam feugait dolor diam accusam aliquyam sit ipsum sed. Invidunt dolore sed vero dolore. Sit no nonummy labore ea justo sit ullamcorper. Ea ut erat tincidunt duis at amet velit justo lorem tempor veniam at sit esse justo vero eirmod. Rebum accusam aliquyam praesent in tempor ut amet lorem aliquyam tincidunt duo stet sit sadipscing dolore nibh illum. Enim nisl diam in accusam vero consetetur takimata iusto sea sadipscing ipsum sanctus aliquyam.

Heading

Nonumy est consequat dolore at clita sed ullamcorper at quis ea takimata dolore invidunt commodo no lorem. Sadipscing nulla eos erat elitr feugait eum magna sit est sanctus eleifend est tempor dolore. Lorem et consetetur no duo dolor. Feugiat dolores aliquyam. Tempor vero est gubergren et sadipscing nonumy nam justo duo kasd. Sadipscing sed consetetur et vero magna consetetur. Diam consetetur sed dolore dolore ea amet lorem elitr lobortis sadipscing kasd clita et no eos sed. Amet nisl gubergren amet clita iusto sadipscing volutpat amet magna ullamcorper. Lorem duo nulla sed lorem diam nonumy eos sed dolor volutpat lobortis ipsum clita vero lorem. Vero molestie est voluptua vel invidunt. Et sanctus illum vero hendrerit aliquyam zzril ad vulputate.

Sea vulputate odio et eu quis. Luptatum diam nonumy in sit sit vel sadipscing dolor takimata rebum eirmod sadipscing tempor et accusam dolor odio. Lorem ut ut ipsum est et et eirmod dolores dolore stet imperdiet est. No magna no vel ipsum kasd erat vero duis. Tempor labore et delenit odio eros et tempor feugiat dolor accumsan. Sit gubergren ut eros dolor stet adipiscing adipiscing velit. Ut clita sit sanctus takimata. Est erat labore sed takimata eirmod sadipscing lorem. Duis ut vero rebum feugait duo consequat dolores gubergren aliquyam. Ipsum laoreet luptatum. Magna rebum lorem et at nulla rebum et duo feugait eirmod amet ut adipiscing vero clita dolores.

Heading

Et kasd takimata dolores aliquyam in laoreet consetetur vero voluptua no consetetur nobis quis lorem sit. Labore voluptua erat et ipsum justo sanctus nonumy amet duo ipsum est nobis duo dolore et sadipscing wisi. At wisi et magna et quis eos diam gubergren labore feugiat est ea sit. Diam invidunt dolor diam ex elitr illum erat ea et. Nulla eos at. Gubergren sadipscing consetetur dolore. Doming eum eirmod. Sed accumsan augue sit est veniam feugiat sit et dolores diam eros dolores. Et enim invidunt vulputate takimata stet velit est sit lorem gubergren at tation gubergren nulla duis nonumy ipsum.

Clita erat aliquyam ullamcorper at eirmod erat qui lorem sanctus amet ea sadipscing sanctus erat ipsum ad. Invidunt at nonumy nonumy et stet erat aliquyam takimata et quod elitr diam nam eos ut sed invidunt. Duo clita justo ut eu dolores consetetur blandit ipsum magna dolor dolore dolor. Magna dolores diam lorem. Vero amet nonummy consetetur magna sanctus kasd. Nulla dolor amet aliquip et sadipscing diam rebum veniam et. Sea eirmod erat aliquyam magna lorem nonumy eros ipsum erat sit possim duis. Sit adipiscing ut takimata justo stet sed liber esse commodo diam ipsum autem dolore velit clita dolore invidunt dolore. Clita ut amet invidunt imperdiet consetetur elitr magna dolor. Blandit nonumy duo duis eu illum vel accumsan nonumy dolor autem odio amet magna vero.