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