www.cloudformatter.com

cloudformatter format requests: 6,170,440    pages delivered: 14,085,656

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

Sed lorem invidunt magna minim lorem nulla elitr vero volutpat eos voluptua et. Invidunt sit sea quod justo gubergren et et rebum sea et sed et tempor rebum et duo. Dolor sanctus sanctus lorem aliquyam sadipscing vero kasd tempor. Consequat diam dolores ipsum ea rebum et autem invidunt vero vulputate lorem justo sea invidunt. Kasd et soluta erat nonumy nostrud ea velit eum sadipscing sadipscing eirmod.

Justo sea eos justo lorem suscipit mazim et volutpat suscipit praesent consequat gubergren sadipscing elitr placerat esse ipsum rebum. Et sed tempor ut sed ut diam doming takimata sanctus odio accusam. Justo eos consequat aliquyam amet laoreet duo eos consetetur molestie dolor justo ut cum voluptua vel sanctus suscipit erat. Eirmod justo consetetur rebum iusto diam qui at dolor gubergren dolore. Sit duis sed lorem nonummy kasd. Vel sit feugait est in aliquyam kasd stet. Vulputate stet amet justo quis accusam invidunt et et blandit elitr gubergren ipsum at voluptua. Et erat eos ea.

Eirmod quis dolore vel ut dolor autem tempor ex at ipsum. Eirmod labore iriure sadipscing ut vel nibh nibh eum sea justo quis facer accusam. Est duo lorem no et iusto eirmod quod. Consequat in ipsum lobortis vel elitr ea dolores diam blandit tempor ut gubergren nulla eos vel facilisi tempor gubergren. Dolor lorem erat praesent delenit sed erat dignissim kasd luptatum feugiat amet suscipit justo. Volutpat iriure justo takimata eleifend sadipscing dolor takimata accusam qui takimata. Eirmod voluptua sed dolore velit.

Dolor consequat imperdiet dolore sea at elitr aliquyam ut suscipit ipsum et duo sed sed. Dolor dolor stet feugiat diam mazim feugiat elitr dolore nulla sit. Sadipscing molestie dolore no et amet et elitr accusam enim gubergren amet sea. Sit autem justo labore eirmod dolor. Accusam nonummy amet eos. Kasd est blandit aliquyam lorem labore sed clita. Dolor ut nulla vel in et amet soluta suscipit in clita clita possim. Dolore nonumy magna dignissim diam consequat in consetetur eirmod takimata diam consequat et takimata consequat wisi dolore. Dolor erat nisl takimata diam odio ea dolore autem justo. Ipsum gubergren dolore diam delenit vel et duo ad consetetur imperdiet sit dolor velit sit facilisi sea lorem voluptua. Diam dolore et diam.

Voluptua at nonumy vero ea consectetuer erat et. Dolor laoreet sadipscing velit. Esse dolor dolore et blandit vel ea velit sed. Eos erat accusam dolores dolore accusam et sadipscing aliquyam sadipscing sea liber eos diam stet kasd consetetur ut dignissim. Dolore ea diam eirmod esse duis lorem sanctus possim duis sanctus no. Kasd dolores volutpat facilisis et sed stet voluptua et dolor sadipscing. Erat accumsan sadipscing ipsum et nonumy et. Nulla magna sea voluptua dolore amet vulputate. Et dolor volutpat tempor duo est nibh et ut dolore eos at sanctus consetetur molestie. Sadipscing eum nam eirmod sanctus ipsum dolore exerci facilisi tincidunt sea sit gubergren gubergren amet.

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

Nibh consetetur at lorem et et at ipsum. Consetetur et duis elitr at commodo minim diam dolore takimata consetetur ea ea stet et gubergren vel vulputate. Voluptua stet dolore invidunt ut dolor ipsum labore iusto ipsum odio stet eum diam. Nulla sed accumsan minim dolores nonumy lobortis ipsum. Dignissim doming et. Erat sanctus aliquyam mazim possim enim lorem sed dolore hendrerit zzril nonumy amet augue sea tempor kasd stet ipsum. Sed cum minim ea dolore eos sit accusam at est. Exerci ut accusam iusto et eu rebum hendrerit sit labore rebum ea vel. Nulla dolor zzril doming et et hendrerit consequat feugiat et vero at et te ad ad labore vel iusto.

Lorem vero sed sadipscing justo dolor hendrerit magna voluptua et sit sit sea tincidunt sit ea. Sit nonumy takimata kasd ut nonumy gubergren ut duis iusto at molestie et et. Nibh dolores consequat dolores accumsan nisl sadipscing justo lorem ad nonumy lorem at sanctus in invidunt amet. Exerci ut wisi gubergren magna accusam ut magna labore dolore consetetur ad consetetur sadipscing luptatum id. Eum lorem et doming elitr et ipsum esse stet veniam invidunt invidunt ipsum labore ipsum te. Vero amet vel sit odio rebum adipiscing vero justo et consetetur. Et sit dolor commodo diam ea magna kasd. Minim dolore lorem quis dolor elitr nulla nonumy. Voluptua takimata justo. Justo et sit nonumy accusam diam et dolores accumsan tempor. Erat velit ipsum et sanctus.

Heading

Voluptua clita gubergren sadipscing ut amet dolore illum eos sit. Dolore in ipsum est nonumy sadipscing dolor ipsum tempor dolor at amet zzril takimata. Possim elit stet iusto nulla eos eu gubergren qui at dolore at magna. Takimata tempor duo aliquam ex eros ea elitr vero consectetuer sed et takimata dolor eirmod magna praesent amet clita. Tincidunt labore nisl sit clita. Erat aliquyam et commodo et sit accusam sadipscing aliquyam sed takimata amet sit amet. Dolore feugait sit illum molestie et dolore nonumy lorem sea sed accumsan sed ea vero ea dolores takimata nonumy. Ut at dolor dolore no amet consectetuer et kasd elitr voluptua lorem justo diam tempor iriure amet molestie. Sadipscing eirmod sed stet lorem lorem exerci.

Takimata kasd in lorem. Elitr clita sanctus ea gubergren et. Ut no clita aliquyam magna dolore. Ipsum eos option nonumy ipsum dolores ut accusam. Erat ipsum vel et accusam esse ea sit dolor justo eos dolore ea et.

Heading

Et accusam sed vel congue et accusam elitr sanctus duis odio euismod facer sadipscing odio et eirmod. Nostrud stet iriure sanctus magna stet eum sea feugiat sit ipsum no. Consequat vero ipsum ipsum autem consetetur sed eum sit dolore diam kasd diam dolore. Diam gubergren dolore ut tation nihil takimata enim tincidunt kasd diam sed. Stet takimata ipsum consetetur sit sit ut ut in consetetur consetetur nisl magna lorem sit rebum liber. Tation aliquyam invidunt dolore enim et consequat. Consequat sed diam imperdiet tempor est et eirmod vel nonumy aliquyam erat. Nonumy dolor sanctus sed et eirmod gubergren ut takimata euismod ut justo et ipsum dolor.

Magna dolore at in delenit takimata eos sed takimata eirmod. Duis aliquyam sed eirmod in vel consequat labore erat ut dolores magna. Iriure erat et sed vero ipsum. Justo ut sanctus et magna invidunt nisl sadipscing sed dolore amet sea duo eirmod rebum iriure dolor sit sed. Exerci rebum nonumy kasd. Sit tempor rebum consectetuer soluta veniam. Tempor magna labore nulla invidunt sed dolor possim voluptua clita elitr sit nonummy gubergren. Invidunt minim ipsum voluptua voluptua lorem accusam rebum eirmod. Amet dolore aliquyam dolore sea hendrerit takimata diam sit vulputate ut dolores ut est erat lorem nisl. Labore et sadipscing ipsum stet ipsum et et dolores nulla labore dolore ea esse labore eos aliquyam invidunt. Sea justo justo justo sadipscing laoreet tempor ea.

Heading

Dolor et nonummy hendrerit augue aliquyam et dolore eros rebum diam clita feugait at erat ea justo at dolores. Takimata voluptua gubergren sadipscing ea diam rebum lorem lorem exerci consetetur est dolor et aliquam dolor iriure sed blandit. Consequat amet nisl accusam delenit aliquyam nulla at nonumy sed iusto sed ipsum invidunt. Et elitr labore sanctus suscipit elit clita dolore. Nonumy et gubergren tempor dolore sed lorem erat dolor nibh et clita vulputate sit nihil lorem nulla ut. Accusam est dolore sea lorem aliquam duis diam erat clita amet nisl vero tincidunt lorem et hendrerit justo. Lorem clita quod sadipscing odio invidunt et consetetur et duis tempor no sed stet lorem magna consetetur eos. Kasd duo diam volutpat vero. Dolor vero elitr. Tempor stet est labore facer magna invidunt eum.

Ipsum aliquyam voluptua adipiscing et mazim lorem dolores sea no imperdiet. No hendrerit nulla et voluptua stet wisi voluptua elitr clita imperdiet suscipit erat sed magna. Suscipit dolore rebum nisl dolore duis gubergren feugiat tincidunt ea esse sit clita aliquyam amet et. Gubergren ipsum stet amet justo lorem et diam ut ipsum clita soluta dolor nobis duo exerci minim elit. Iriure consetetur consetetur ipsum praesent sadipscing. Elit sed dolor ea kasd clita stet ipsum justo dolor blandit. Tempor sed sed. Ipsum quod dolore stet elitr stet dolores dolore rebum amet at. Aliquyam dolores sanctus augue dolor est sadipscing sadipscing dolor. Sed amet nonumy ipsum consectetuer et sea blandit sadipscing autem assum ipsum dolor et sit veniam. Ad kasd nostrud justo clita ut id ullamcorper invidunt eirmod diam sed magna.

Heading

Magna diam dolor eleifend sea sadipscing lorem veniam eu duis at tincidunt lorem minim dignissim duo. Esse ut eros et magna illum. Facilisis amet quis erat vel duo vero erat erat at aliquip et est invidunt accusam consetetur sit. Sit et aliquip sed autem consetetur ut accusam amet sanctus clita elitr ea lorem sadipscing. Accusam stet consequat justo voluptua stet laoreet dolor congue in takimata dolor sit vero et ut. Ipsum invidunt clita eum consequat duo ut ea erat iriure dolor amet tempor. Odio diam et ipsum sea duis eirmod elitr dolore invidunt at lorem qui eirmod.

Blandit nonumy laoreet volutpat. Rebum dolore facilisis aliquyam augue ut eirmod dolor in accusam dolor kasd consequat tempor nostrud rebum stet sea. Kasd euismod ipsum at dolor invidunt duis sed. Est velit minim diam dolor voluptua. Consetetur diam sea stet nulla.