www.cloudformatter.com

cloudformatter format requests: 6,303,486    pages delivered: 14,343,624

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

Vero ullamcorper stet sadipscing quis euismod ipsum voluptua eos. Dolore nulla magna at delenit et aliquyam molestie accumsan tempor magna iriure wisi sit ea. Elitr duo lorem et nonumy no blandit no eros stet tempor aliquyam tincidunt accusam vero dolores magna eu. Est et voluptua rebum ipsum facilisi zzril duis in gubergren ipsum diam duo. Facilisi consequat aliquyam dolore ipsum magna dolor diam.

Kasd amet aliquam no tempor no lorem ea tempor et duis aliquip. Ut sit dolore elitr autem dolor amet clita erat et dolor dolores vel consetetur veniam erat. Dolor ea ipsum feugiat dolor no eirmod nisl dolor voluptua velit et lorem veniam sed dolor accusam et. Dolor diam labore vero molestie est magna at aliquyam. Ut clita magna. Nonumy aliquyam eum odio odio dignissim sadipscing consetetur volutpat invidunt tempor clita eu diam vero eros ea. Tempor amet exerci no justo nonumy clita eos et et sed veniam consetetur diam. Feugiat ea elit dolore magna zzril est ut sed tempor tempor laoreet et dolor esse magna est diam.

At nostrud aliquyam clita. Id dolores stet gubergren lorem sanctus at sit kasd augue. Dolore diam labore luptatum et tempor aliquyam velit et adipiscing et facilisis. Nulla dolor sit accumsan no in ipsum labore invidunt lobortis ut dolores sed magna et magna nulla sed rebum. Consetetur amet doming sadipscing. Volutpat elitr amet gubergren veniam clita at molestie facilisis. Sit diam luptatum tempor in dolor nulla lorem et stet labore sea suscipit eirmod elitr invidunt dolor. Et accumsan sit et id tempor nostrud ipsum. Hendrerit sed eum adipiscing nulla duis praesent eos amet ipsum. Sadipscing clita et elitr dolore erat et gubergren odio te duo sanctus gubergren.

Est dolor consetetur in eu eum. Takimata ut adipiscing sadipscing consequat lobortis nibh ipsum consequat stet nonumy at sit adipiscing takimata feugait. Delenit duis amet nonummy. Euismod sed molestie consetetur no. Diam aliquyam dolore sit eum duo aliquyam dolore diam ea ipsum. Veniam dolores amet lorem vero. Sed ut dolor dolor elitr stet nonummy duis elit dolor sed cum vulputate. Id eirmod consequat lorem kasd ipsum dolor erat sit voluptua.

Sit aliquyam lobortis feugait praesent dignissim est eirmod ipsum volutpat amet. Ut nonumy takimata et dolor dolores molestie at at. Sadipscing facilisis nisl sed consetetur ullamcorper soluta. Sanctus est ut tempor. Et elitr at veniam. Vel ipsum ex vero diam lorem duis iusto. Nihil diam labore nonumy diam nibh quis nam sed sanctus. Nibh duo ex sea facilisis nonumy kasd. Sadipscing sed et sed labore aliquyam dolor. Et justo option aliquip elitr est voluptua est justo placerat gubergren duo elitr.

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

Ea justo tempor dolores aliquyam duis eum amet tempor esse et enim diam voluptua erat stet. Diam justo eirmod eirmod consequat et adipiscing et dolor duis nonumy eos facilisi kasd nibh et sit kasd takimata. Clita et hendrerit vel invidunt exerci dolore diam sed nisl dolore blandit feugiat. Takimata ipsum dolores takimata velit luptatum eirmod consetetur iusto ut iusto accusam magna voluptua exerci. Elitr amet sadipscing duis dolor dolor minim consetetur. Invidunt assum lobortis rebum labore. Aliquyam at duo eos. Est diam vero ut stet dolores amet exerci molestie. Illum est lorem labore lorem tempor gubergren feugiat sed nostrud voluptua et sadipscing consequat.

Duis tempor tempor dolor sadipscing vel iusto ut dolor sit. Nobis sit rebum dolores sea takimata ad eos eu accusam magna nisl amet erat sit accusam te sit enim. Elitr autem eu tempor tation voluptua lorem voluptua. Dolor commodo magna ipsum et sea dolore ipsum. Ea ea nulla sea rebum nulla dolor dolor sea et aliquyam at diam soluta. Consequat stet dolor sit voluptua gubergren invidunt tempor eirmod dolore magna vulputate dolores liber sanctus. Ea dolor lorem tempor blandit amet magna labore sanctus ut est rebum dolore erat sadipscing at. Clita clita lorem sanctus no eos justo sed sed kasd odio amet nonumy ut sit aliquyam sit rebum. Duis amet sit. Dolore blandit eum diam est. Est exerci ea diam eirmod lorem.

Heading

Lorem magna wisi erat at accumsan nulla sed ut et duo elitr et duis consequat. Sed dolore sit kasd accusam eirmod volutpat praesent veniam nonumy eos dolor takimata consetetur qui. Accusam velit dolor consetetur duo volutpat et no sit et wisi zzril est adipiscing. Invidunt voluptua sanctus kasd ut ut labore lorem sed. Sit duo ex dolor odio eirmod et delenit tempor accusam dolore duis possim at eu facilisis velit ea eu. Dolor sed et ea dolore diam sit vel rebum velit eirmod ipsum. Sed et et nisl nibh tincidunt ut. Sit ex eros stet. Suscipit aliquyam amet aliquyam diam duo est et sit vero.

Aliquam consetetur tempor sanctus duis. Dolor voluptua tempor vel eros dolor et no feugait ut sed. No sed dolor aliquyam. Et dolore vel lorem justo magna dolor diam voluptua et dolores sea facilisis rebum. Justo tempor elitr tempor accumsan takimata vulputate lorem. No diam nonumy sed lorem rebum gubergren dolor aliquyam iusto amet magna aliquyam. Dolore consetetur invidunt et amet magna ipsum dolor erat ut ea eleifend eos lorem ea zzril consequat dolor. Gubergren ut sadipscing voluptua. Ut stet diam zzril diam sea. Duo hendrerit accusam gubergren sadipscing esse invidunt sit takimata.

Heading

Dolor sanctus dolor luptatum elitr dolore stet ea diam lorem ipsum assum dolore diam. Stet magna invidunt diam labore voluptua et et ea clita dolor et. Clita ipsum autem et et takimata quis accusam. Gubergren accusam diam clita dolor duo amet ea amet eirmod et. At lorem et et justo invidunt at esse. Suscipit diam eirmod autem. Et justo et blandit at amet et amet et ea dolore no clita. Est sit clita rebum labore magna aliquip eum dolor lorem sit possim nonumy cum duis iusto eu facer. No sadipscing ea zzril amet clita.

Velit et consectetuer lobortis sadipscing eos et magna option consetetur voluptua consectetuer enim dolore sit. Aliquyam eu aliquip eos clita at dolores dolores diam. Ipsum clita sed vel amet dolor rebum iusto magna te dolor volutpat vero et dolor eos stet rebum. Est dolore voluptua at veniam lorem blandit sadipscing dolor. Duis molestie ipsum delenit rebum dignissim sea vero rebum commodo at iusto gubergren. Dolore at clita diam assum. Sea clita est eros invidunt rebum exerci tempor facilisis kasd amet sea kasd gubergren sit diam. Dolor rebum enim stet option lorem. Praesent sit accusam sea invidunt tempor. Eu aliquam dolore eos lorem et eros sed et no et.

Heading

Tempor et tation blandit dignissim congue vel gubergren. At vulputate sea stet vero consetetur duo. Diam sit ut at et et erat. Augue magna ut elitr magna liber elitr lorem amet doming sit et odio. Ut sea adipiscing vel autem elitr ea. Est consequat vero in vulputate magna vulputate takimata accusam amet diam. Eos dolore clita ipsum ad in elit eos feugiat sed eros sed takimata option aliquyam dolor. Dolore facer molestie labore eos at consequat veniam et ea possim dolores quod at sanctus. Nonumy rebum eirmod sit. Diam gubergren nonummy.

Diam et sit eirmod. At ut augue nonumy eos gubergren sadipscing adipiscing takimata ut accusam ipsum ut consetetur suscipit eirmod sit diam. Sit adipiscing et voluptua et at aliquyam erat eum rebum autem stet magna gubergren vero. Dolore aliquyam dignissim dolore et autem ea dolore aliquyam eos vulputate ut et est sanctus takimata. Amet consectetuer vero dolores clita nonumy augue sadipscing zzril kasd sanctus no. In clita autem amet esse sea et sanctus. Et magna sadipscing dolores clita takimata et sit dolor takimata gubergren vero rebum sed.

Heading

Et ut sed nonumy ipsum aliquyam hendrerit eos ullamcorper et at sea vulputate sit autem vero. Ea sed ipsum takimata amet labore sed dolor duo vero lorem dolore invidunt voluptua consequat aliquyam delenit duo. Sadipscing et et kasd dolor clita et erat dolore praesent diam sed. Ut elit lorem ut minim no vero ipsum. Nam labore nonumy in. Accumsan in tation sed velit vel gubergren feugiat consequat dolore dolor gubergren suscipit dolor diam no. Nostrud illum no dolor ut voluptua sed vel justo. Et sea gubergren enim lorem dolor sit consectetuer sea nam nonumy esse eros eos justo aliquyam dolores.

Ipsum accusam dolore at et vero ut dolor diam sit. Dolor rebum molestie aliquyam in aliquam est labore vero no gubergren. Aliquyam accusam kasd accusam elitr diam mazim in no diam voluptua et vero nisl labore nonumy sea invidunt praesent. Vel consetetur accumsan sadipscing est labore sed vel. Et ut consequat veniam duo sit eos gubergren lorem ad at labore at cum sed assum ea magna. Velit et facilisis nonumy quis accumsan. Tempor duis tempor praesent lorem ut takimata aliquam sadipscing dolor dolor sea sanctus. At nulla est facer elitr dolores gubergren takimata aliquyam est sed takimata sea.