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 ...
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 pagekeep-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 pagekeep-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 pagekeep-together.within-line: set to "always" and used to keep a span
of content glued always together in a single lineThe following shows some demonstrations of these capabilities.
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>...Dolores diam commodo ipsum gubergren ipsum sit eos justo. Et consequat eros dolor eos et invidunt aliquyam doming magna et vero blandit erat. Accusam no vulputate stet praesent erat volutpat est dolore nihil adipiscing nobis nonumy. Sadipscing vero elit amet rebum eirmod takimata sed facer magna iriure eirmod nisl lorem vero vel in. Ut odio stet in ut diam invidunt ut volutpat et magna est amet rebum in tempor ut sanctus. Facilisis ipsum laoreet takimata te diam sed blandit erat justo labore magna voluptua ipsum et dolore. Aliquyam iusto dolore est tincidunt no velit sed autem consectetuer. Magna dolor amet ut sit nihil erat accusam consetetur rebum dignissim sit. Gubergren ullamcorper ex et lorem lorem sit sit dolore duo voluptua erat.
Invidunt tation tempor erat kasd consequat kasd amet dolore ipsum lorem dolore dolor at et eirmod no erat et. Erat accusam rebum diam aliquyam te amet. Lorem sed sadipscing sanctus iriure adipiscing sadipscing dolore takimata labore ullamcorper amet suscipit elitr dolore nihil dolores. Nibh voluptua aliquyam amet sadipscing diam facilisis sed et. Feugait aliquyam amet invidunt sit. Ipsum ipsum no sadipscing labore et magna dolores. At qui eirmod. Invidunt wisi invidunt est kasd duo eos lorem est lobortis et delenit dolor et sed vero sed labore. Diam dolor in consequat molestie sed duo ullamcorper nonummy erat rebum blandit. Lorem voluptua ut justo iriure vero sea labore diam et ipsum duo consetetur erat nobis elitr invidunt. Dolor et erat sed at volutpat dolor eu consectetuer hendrerit nonummy sed voluptua in invidunt takimata.
Nonumy at duis. Gubergren vero qui ut facer diam no erat invidunt erat feugiat consectetuer sit elitr kasd. Dolor diam accumsan no gubergren zzril euismod amet sed sea adipiscing invidunt justo tempor. Hendrerit imperdiet dolore nulla takimata suscipit sit diam at nonumy lorem sed no dolore sea ad. Sit ipsum amet odio. Est voluptua sit ipsum justo feugait dolore sanctus et gubergren minim gubergren ut diam eum dolor lorem sed nonumy. Lorem accusam takimata sadipscing ut dolores no nostrud esse sed accusam dignissim duis esse. Iusto qui no ipsum sed augue. Et kasd et eros dolor labore dolores minim. Takimata possim sit lorem vel et invidunt amet dolor ut qui dolor dolore nonumy kasd commodo dolore.
Exerci sit justo et. Commodo lorem amet blandit sanctus justo sed. Et adipiscing rebum ea eirmod amet. Sit autem hendrerit illum at gubergren volutpat ut et stet no luptatum amet diam lorem nonumy praesent aliquam ea. Ad voluptua tempor id et gubergren takimata aliquyam ea at eum ipsum ea. Eirmod sed lorem magna consetetur invidunt aliquyam duo suscipit et sed tempor et labore. Nonumy dolore quis. Sadipscing eos voluptua elit. Et rebum dolor diam assum aliquyam dolores consetetur ea dolore nonumy voluptua sed erat euismod augue.
Ut dolores kasd ea justo eos amet voluptua stet duo gubergren. Vero sit dolores accusam et aliquyam et exerci vel sanctus ipsum ipsum duo ipsum amet sadipscing ea dolor nonumy. Lorem vero gubergren stet est et sit erat consetetur duis dolores lorem nisl dolor. Nostrud hendrerit lorem sanctus autem facilisis dolore amet eos quis. Ipsum et sed sit kasd kasd sed et vero amet ut lorem sit dolore labore lorem blandit invidunt sit. Justo lorem sed dolor dolor. Dolor exerci delenit amet at. Duo dolor eos aliquyam consequat tation et sanctus accusam vulputate diam commodo elitr ullamcorper. Ea dolore at amet ea kasd.
Thus all of this content from the header through this paragraph is together on a single page.
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.
Eum at no amet dolores elit dolores dolore. At ut invidunt tempor ea lorem. Takimata ipsum sanctus et dolore autem eros no augue vero. Sit ut dolores sadipscing facilisis in dolore nihil aliquyam. Amet lorem diam aliquip dolor dolores eos consetetur. Blandit lorem eos eirmod elitr adipiscing ipsum sed.
Lorem aliquam consequat sadipscing sanctus. Sed laoreet et sed diam elit sit consequat gubergren feugiat ipsum duis dolor feugiat dolore stet. Sadipscing vero vero sanctus justo vero duis consequat praesent lorem blandit diam sea nulla est dolores lorem vero. Lobortis lorem eum eirmod tempor sea erat. Sed est quis gubergren vel clita ipsum sadipscing in. Eos tincidunt et lorem diam vel feugiat et consetetur.
Commodo consequat sadipscing in vero vel amet duo tempor eirmod ipsum accusam no blandit magna nonumy nonumy est feugiat. Nulla esse volutpat dolore ea at cum. Lorem vero et. Gubergren liber vel dolor ut tempor vero lorem nulla sadipscing dolor clita et accusam magna nisl tation. Nulla sed amet rebum tempor stet clita magna diam commodo consetetur sed. Clita duo eos erat feugait accusam sea eirmod magna magna nonumy rebum. Labore sadipscing gubergren consetetur eos amet feugiat duis eu elitr ea sit sanctus illum.
Diam feugait est nonummy vero nonumy consetetur magna sed diam consectetuer lorem. Et magna hendrerit amet et vel assum accusam et voluptua sadipscing justo sanctus magna sed nulla. Ea est quis ea consetetur et diam ut aliquyam sit. Aliquyam erat eum. Et amet doming nibh at eum accusam tempor diam aliquip. Wisi kasd amet justo sea labore lorem nonumy magna sed nisl invidunt kasd at lorem kasd te invidunt. In dolore ipsum facilisis nonumy eu aliquip delenit nobis sanctus.
Tincidunt eirmod sit laoreet aliquyam sed sanctus diam rebum no dolor lorem sea. Gubergren elit ut dolor rebum facilisis. Blandit et eu est ea et lobortis labore nonumy. Et voluptua consetetur erat ipsum facilisis dolore invidunt voluptua eirmod lorem nonummy sit eu lorem duo. Et et no sanctus te aliquyam vel est nulla ea dolor autem ut esse. In eirmod rebum sadipscing enim dolor sanctus est ut nostrud diam ea laoreet sed sadipscing lorem et dolor no. Dolor eu magna at voluptua dolor vero ad voluptua ipsum ullamcorper diam euismod et labore erat. Est iusto ea ad et at ea vero. Consetetur ea et. Sit gubergren no amet diam rebum sanctus in duo. Vero clita sed ea amet ipsum molestie hendrerit takimata no lorem dolores.
Feugait esse aliquip lorem ut kasd tempor no ipsum at vero delenit option sanctus. Odio eos sed tempor est laoreet sit esse no zzril sea diam lorem. Ut aliquyam erat dolor magna facilisi aliquyam nonummy. Facilisi sanctus nulla duis ea accusam hendrerit invidunt lorem eum et et takimata stet aliquyam sea molestie hendrerit. Te ipsum voluptua vel et molestie clita.
Praesent erat liber diam. Et hendrerit magna quod voluptua invidunt dolores duo eu gubergren praesent ut vero erat duo eirmod. Kasd lorem volutpat dolore eirmod magna est nihil et erat justo dolor dolor lorem eirmod erat. Sed dolore lorem labore duis nisl eum nonummy eos dolores duo dolore diam dolore labore. Minim takimata ullamcorper in aliquyam sea no vel amet. Duo ipsum est diam euismod. Lorem et tempor invidunt eirmod nonumy. Kasd consequat invidunt et aliquyam. Et eirmod nonumy ut ut diam elitr sit takimata clita zzril accumsan ut. Blandit takimata eu et eum tation eirmod laoreet clita kasd autem erat laoreet elitr sit. Sanctus sit sed sanctus aliquyam.
Dolor et tempor et dolor dolores ipsum et autem no consequat dolore lorem nonumy duo. Facilisi et exerci voluptua sea tempor ipsum invidunt sit est velit sanctus in amet duo. Sit clita ea dolor in tempor at sadipscing gubergren magna stet dolore. Voluptua sed eu eirmod elitr accusam. At sit labore sea.
Justo elitr magna magna ea consequat gubergren. Clita elitr ipsum et in ut at et dolores odio duis amet illum at. Dignissim duo autem suscipit diam dolores sit diam no ut vero vel dolore. Vel et ut clita eos diam lorem erat et dolores sit amet. Sanctus dolore veniam amet invidunt id duis clita duis sea sed dolore magna aliquam ea consetetur aliquyam. Et in esse est eleifend sed nonumy. Invidunt rebum diam amet erat at amet at tation facilisis wisi invidunt velit sed et amet ut. Veniam rebum elitr accusam labore. Elitr eu enim sed tempor vero dolore et sed vero nostrud et est dolore erat et invidunt est clita. Dolor consetetur amet sed dignissim ullamcorper et amet vel at duo nulla aliquyam sanctus ipsum wisi at.
Labore sit dolore accumsan ea eleifend magna amet dolore labore. Nonummy accusam sed dolor iusto ipsum. Dolor aliquyam aliquyam lorem magna sit aliquip sanctus dolor. Congue nulla consectetuer vero eu diam eum diam magna eirmod magna dolor sit dolore duo dolores wisi. Dolor et et ut est erat sadipscing duis tincidunt aliquyam et magna et. Accusam lorem ea nam stet euismod. Ut ad sea euismod feugiat est. Elitr diam ut dolor dolor stet sea sadipscing tempor enim feugait ex aliquyam et est amet takimata. Duo est et sed aliquyam magna zzril sadipscing nam et lorem at nonummy dolore iriure lorem at vero clita. Clita enim dolor consequat duis sit sit commodo sit voluptua. Sit justo euismod kasd sit consectetuer ea sea eirmod ad voluptua zzril ea possim illum.