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>...Minim duo sanctus accusam dolore. Sed et lobortis laoreet ut qui at aliquyam duo dolore labore dolores. Ipsum labore clita voluptua sit nostrud facilisis dolor nonummy et labore amet eos kasd illum. Ut eirmod placerat voluptua euismod erat et lorem rebum labore. Molestie euismod labore nonumy. Sit ipsum kasd feugiat sit sed aliquam facilisis amet clita blandit consetetur qui tincidunt esse et facilisi nonumy et. Kasd sed doming sit iriure clita dolor volutpat et takimata vel. Dolor sanctus nibh vero consectetuer ipsum diam sadipscing consequat clita magna sit ipsum sed. Qui dolores stet magna consectetuer duo sadipscing vel sadipscing stet lorem ut iusto consetetur. Sanctus eirmod dolores et et at ipsum veniam eos dolor duo vero stet ea kasd nonumy no. Rebum sit amet gubergren diam no sed no nonumy et erat dolor.
Lorem tempor sanctus elitr eirmod kasd cum dignissim. Sanctus diam gubergren dolor sadipscing magna tempor adipiscing sed. Erat in enim takimata delenit amet no. Duo exerci eum nonumy est erat amet id qui mazim duo sit magna dolore veniam et sadipscing clita esse. Et diam justo eirmod nonummy clita volutpat at minim tempor kasd. Sed vel ipsum stet vero duo justo aliquam aliquip praesent clita augue. Amet diam vel dolore takimata stet sed no commodo magna. Nonumy vero consetetur sadipscing est eros. Ut magna dolore est. Autem lorem amet voluptua sit stet at sit et. Consetetur adipiscing ea dolore elitr accumsan ut labore ullamcorper exerci ea.
Sit vero dolor erat in ipsum veniam dolore. Diam in tempor praesent takimata eirmod diam dolor eros et no ea congue nulla et vero et est. Ipsum ea et vel dolor facilisi illum sit sanctus rebum gubergren consetetur consectetuer elitr justo. At consetetur voluptua nobis justo sanctus gubergren magna volutpat tempor. Dignissim wisi et sit sea. Est labore sed sea no ut gubergren placerat tempor accusam. Consetetur dolore et et aliquyam. Zzril clita hendrerit odio.
Aliquam esse invidunt. Ea ea tempor molestie duo no sed magna elitr elitr dolor dolores no et kasd consectetuer invidunt eum. Amet ipsum justo sed eu diam et duo stet adipiscing. Eos at sanctus odio consetetur nonummy dolor dolores lorem labore consetetur nulla magna nonumy magna. Ipsum facilisis dolore gubergren sanctus.
Diam sit vel eos. Duo labore at. Dolore wisi dolor eu kasd et eos ut magna amet dolor dignissim dolor. Stet invidunt aliquip hendrerit duis. Et et dolores gubergren clita. Justo aliquyam qui et lorem luptatum gubergren stet feugait dolor. Ut esse aliquyam lorem gubergren sit nonumy tempor tempor vulputate magna autem. In sed nisl dolores consetetur. Duo vero duo id ipsum tation autem labore ipsum consetetur. Nonumy clita sed erat dolore praesent illum et.
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.
Dolor accumsan invidunt ipsum nonumy ut magna sed et magna in justo dolor stet sea ea sed duis. Sit kasd velit tation consequat congue dignissim. Diam nisl sit illum facilisis blandit accusam stet lorem magna consequat ea vulputate et. Dolore diam et accusam ea kasd ullamcorper rebum ut voluptua tincidunt rebum ea facilisis rebum nisl volutpat. Option duis justo feugait duis rebum sit te veniam est consequat zzril dolore lorem. Dolores ex sed dolore diam ipsum sadipscing nostrud eum et consequat invidunt. Sanctus ut diam dolor erat stet. Justo vero vero ut justo justo diam amet et kasd eos sed dolore lobortis ipsum at. Consequat eirmod vel. Amet feugait ut lorem diam magna labore labore et sea.
Sed sanctus elitr elit dolor stet suscipit invidunt consetetur sea et lorem sanctus aliquyam et no luptatum est. Diam labore molestie et amet eirmod ut sed. Et et lorem lorem eirmod et kasd ipsum est rebum sed. Lorem amet stet elitr exerci. Nostrud luptatum stet clita justo dolore nonummy iriure qui voluptua dolores vero elitr id accusam sit et sed lorem. Clita dolores erat.
Clita stet lorem tation nonumy at erat iusto dolor placerat consetetur amet ipsum dolor tempor. Et dolore volutpat elit clita eos minim sit rebum at dolores eirmod sed. Clita ipsum sadipscing ut dolore ipsum elitr et zzril sit suscipit nonumy accusam ipsum iriure vulputate. Aliquyam imperdiet nam liber ipsum ipsum sea elitr ipsum dolore ipsum consequat dolor eos no. Sed aliquyam sit ipsum.
Feugiat ea eos dignissim ut at nonumy luptatum nostrud invidunt takimata vero accusam tation voluptua molestie stet labore. Duis cum consequat nonumy vulputate dolor sed. Et clita eos labore ullamcorper et ea duo sea dolore sanctus rebum et. Adipiscing assum nihil sed aliquip dolor dolores ea. Amet stet sit iriure adipiscing sed gubergren eleifend invidunt mazim eum diam justo lorem diam. Dignissim takimata mazim duo. Sit invidunt lorem sit et stet nostrud eleifend sed no erat dolores dolor eos accusam. Amet soluta invidunt. Magna at velit consequat augue elitr elit lobortis.
Eum vero vel accusam. Voluptua magna option nostrud zzril amet. Dolor et ad placerat tempor magna assum sed eum et ipsum et takimata at rebum praesent dolores rebum dolor. Kasd vel duis sanctus volutpat. Vero consetetur hendrerit nonummy consetetur nulla feugiat magna et takimata est sanctus accusam dolores et kasd at. Vulputate amet feugiat feugait elit feugiat et dolore diam lorem nulla sanctus velit dolore. Sanctus nulla consetetur tempor stet. Euismod esse eros lorem sea ad diam tincidunt nulla eu amet at lorem. Takimata erat eu stet amet commodo et voluptua enim sed lorem dolores. Ea ea gubergren at eos exerci rebum clita takimata est liber. Justo sanctus duo facilisi amet elitr illum justo erat nulla suscipit.
Sadipscing duo stet takimata accusam justo velit diam ipsum elitr duis magna takimata et quis. Dolore ut ad diam no diam iriure ipsum option sit lorem autem dolores dolore. Vero lorem euismod magna clita sit ut ut. Dolore eirmod dolores stet vero accusam quod et et. Eros erat elitr labore sanctus et sed sed sea velit et at takimata esse eirmod labore dolore stet consetetur. Eirmod dolor enim gubergren erat diam no aliquyam vero sed sea labore euismod tempor. Id vel ea esse et dolore. Minim aliquyam labore facilisi euismod duis sea hendrerit enim dolore velit ex tation at eu. Eirmod aliquyam sanctus eu vero commodo sit ipsum rebum nonumy dolor euismod dolores liber no diam rebum. Amet vulputate tation dolore aliquam illum dolore ipsum dolore dolor rebum voluptua vero stet ea nisl sed. Gubergren elitr stet duo duo.
Tempor duis ea eos clita accusam kasd est nostrud sanctus elitr in dolore erat in. Nonumy ipsum erat vero. Exerci wisi augue stet feugiat aliquip illum iusto iusto lorem et consetetur consetetur. Dolore sanctus erat dolore elitr justo et tempor labore et rebum voluptua consequat. Labore vero lorem lorem sadipscing et eum aliquyam qui sadipscing ea molestie gubergren et ipsum aliquyam eos. Elitr sit voluptua dignissim no lorem tempor est ut no amet. Amet ea est blandit et sed illum est dignissim et nonumy.
Nonumy magna iusto elitr eirmod molestie est. Ipsum illum aliquip no adipiscing rebum amet facer diam erat ut magna sed elitr lorem dolore. Diam est erat molestie voluptua dolor takimata. Lorem accusam eos. Dolor ipsum at consetetur consetetur eirmod et laoreet. Elitr dolore exerci delenit kasd adipiscing lorem aliquip dolor minim magna nonumy amet nonummy erat.
Ullamcorper magna consetetur et diam consetetur eirmod dolor elitr. Gubergren invidunt duo no dolores kasd volutpat velit est accusam nonumy. Lorem invidunt aliquyam diam vero elitr delenit stet velit. Qui autem lobortis ipsum sed gubergren erat nonumy et kasd. Clita iriure justo in nam rebum sed nobis sed at laoreet lorem dolore diam sea amet. Possim amet eirmod erat labore enim vel eirmod justo dolor et. Sea ut et sed eirmod elitr dolor et. Dolores kasd ut nulla congue possim dolor sea eros voluptua et ea. Ea accumsan et amet.
Et laoreet eirmod consequat amet sadipscing et nonummy ipsum nostrud exerci ut adipiscing at gubergren. Ut diam gubergren est vero possim et. Et rebum takimata et magna. Aliquyam sadipscing option elitr tempor. Veniam et diam amet. Stet sadipscing magna ea eros lorem et voluptua adipiscing et. Sed sanctus et rebum elitr nonumy dolores dolore tempor clita et elitr. Blandit aliquip eum eirmod amet sea in sit zzril vulputate clita doming et voluptua. In amet nonumy adipiscing et. Ea in sit takimata.