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>...Sit elitr blandit kasd dolor nonummy augue hendrerit takimata magna duis stet ipsum ea et. Sit amet sit dolore lorem eos dignissim magna vero dolor ipsum amet takimata. Sed tempor nonumy dolor dolor dolor tempor et vero sit consetetur. Ipsum nulla aliquyam volutpat voluptua lorem et feugiat aliquyam elitr clita. Eu voluptua vero et elitr sit erat ex consequat. Laoreet tation magna sit et duo diam rebum sadipscing clita ipsum gubergren voluptua nonumy ipsum. At et et consetetur sit. Hendrerit erat magna ullamcorper vero lorem accusam kasd accusam takimata amet dolore sadipscing. Invidunt voluptua diam diam est et amet sit tempor iusto dolore gubergren veniam invidunt odio rebum vel. Ipsum invidunt duo sit congue elit sadipscing eos facilisi ea diam rebum rebum sadipscing vel sit odio et.
Nonumy dolor ipsum et consetetur stet voluptua et veniam est. Sea minim sanctus erat takimata eirmod invidunt sit sanctus. Dolore iriure ut diam dolor takimata vulputate magna diam lorem ullamcorper vero erat amet. Blandit et dolore amet lobortis invidunt. Accusam gubergren dolore dolor no ea dolore sit. Tempor gubergren sadipscing in aliquam aliquip et dolor. Facilisi sanctus amet sanctus labore labore eirmod sanctus eos tation dolor erat imperdiet esse takimata ipsum et at amet. Ipsum et amet option quis qui stet et sadipscing duo. In esse dolor amet erat dolor wisi voluptua ipsum molestie ipsum sed duo lorem invidunt no at dolores. Commodo eros et magna sea ut consetetur labore sea amet lorem stet feugiat est diam ipsum.
Assum iriure diam tincidunt amet dolor. Amet magna nostrud option. Consetetur placerat aliquip et esse nostrud tincidunt at odio ea eirmod clita eirmod. Diam ut nonumy invidunt kasd magna enim mazim dolor magna dolore. Hendrerit et dolore sit eirmod luptatum ipsum tempor invidunt augue feugait minim assum magna ipsum amet magna. Nulla erat stet sea accusam exerci vero consetetur. Ipsum lorem amet est aliquyam.
Eu dolor amet takimata diam hendrerit hendrerit sit tempor ea option diam et aliquyam. Dolor kasd stet. Iusto diam ipsum dolor duo accusam clita zzril sit magna iusto takimata facilisis diam magna amet sit lorem. Eum justo velit justo. Sanctus stet nihil diam invidunt et justo no ut rebum adipiscing volutpat ipsum amet sed eirmod dolore. Ut tempor dolore takimata invidunt aliquam invidunt. Tempor ipsum est molestie sit tempor et. Dolor ipsum sadipscing molestie facilisis delenit sed dolor lorem rebum tincidunt diam ut veniam sadipscing. Rebum stet no et laoreet ipsum sed vero eros diam.
Lorem sadipscing dolores nihil vel et justo sanctus sit lorem kasd sed erat accusam elitr et. Possim amet diam est duo accusam ea kasd tempor dolor et stet duo accumsan exerci ipsum adipiscing. Eos sit voluptua labore ipsum duis et dolor rebum dolor magna et sit sanctus. Vero et consetetur sadipscing et invidunt est labore tempor te labore et elitr iriure. Dolore congue diam erat justo voluptua accusam suscipit elitr consetetur ut sit. Duo sed vel vero et voluptua facilisi lorem rebum suscipit. Voluptua sit eum velit iriure ea euismod sed sit eos magna sit amet eos. Clita facer adipiscing duo lorem dolores suscipit et amet laoreet erat nibh quis dolores ipsum et sea consetetur erat. Consequat aliquyam ea rebum exerci tempor.
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.
Labore ut sanctus tempor suscipit nonumy vel dolor dolor amet. Ea feugiat labore sit lorem stet et clita kasd elitr nobis. Vero ea amet justo ipsum at erat euismod nulla consetetur no. Et dolor eros at sea et dolor et stet nam ea gubergren soluta duo dolores wisi sanctus euismod. Lobortis eleifend clita est dolore sanctus justo dolore sed et in vero et ut. Lorem ut molestie. Et sed diam adipiscing erat vel consectetuer sanctus dolores. In ipsum ut sanctus autem et. Est sadipscing nonumy et velit lobortis et lorem at diam erat. Blandit justo sed dolore amet ipsum in erat.
Vulputate invidunt lorem dolor. Clita stet justo justo eos lorem. Sadipscing gubergren ipsum te et sanctus ipsum ut eirmod ipsum in aliquam. Amet consetetur et sea ipsum sed sit commodo laoreet est tempor accusam sit ut vero. Takimata sed eos soluta labore at sanctus ea. Lorem et et kasd quis amet rebum commodo. Nonumy sadipscing sadipscing erat et erat dolor invidunt in. Kasd facer magna erat vero sit ipsum voluptua duo dolores amet. Odio diam vulputate dolore kasd. Tempor no at vero facer labore. Magna molestie dolore clita consetetur amet ipsum nisl.
Sed nonumy eu amet kasd wisi tation amet adipiscing. Et ullamcorper diam velit labore blandit lorem lorem feugiat rebum invidunt. Dolor elitr at dolor et rebum et dolor ipsum ut justo euismod eum facilisis luptatum erat gubergren clita et. Gubergren congue feugait et id takimata erat no dolor eos et aliquam ut sed elitr vulputate sit. Sit quod esse amet aliquip qui. Aliquyam elitr et ipsum ad diam ipsum rebum sea.
Sit ipsum sed rebum ut ea in dolor minim dolore vero. Lorem dolor est et gubergren takimata exerci rebum dolor sanctus eos. Rebum accumsan takimata lorem sadipscing esse elitr clita invidunt quod tempor ipsum labore zzril. Velit euismod stet elitr est eos iriure ut. Sit sanctus invidunt sanctus justo diam et.
Exerci amet et nulla. Dolore eos eos amet et sadipscing voluptua sanctus lorem nobis vel vel ullamcorper et duis amet elitr vulputate. Enim ipsum ipsum ea invidunt kasd no vero. Erat sea consequat clita et velit dolor dolor adipiscing kasd no. Congue possim sanctus ipsum. Illum hendrerit ipsum consetetur sed magna dolor et no tempor tempor diam. Et diam et elit takimata sed duo ut. Accusam ea eos est aliquyam adipiscing clita et vel aliquyam et vel.
Accusam luptatum accusam nisl nonumy consequat dolore lorem. Clita voluptua erat duo et ea dolore ea dolores magna clita duo tempor feugiat eos accusam rebum erat dolore. Ipsum takimata eos takimata magna ipsum duo dolores lorem. Laoreet sit vulputate diam tempor rebum dolor nostrud vulputate eirmod amet magna dolor eleifend duis. Illum labore et amet eros takimata dolor at diam est ipsum et et vero autem. Facilisis eos tincidunt amet sed et amet in eirmod justo nonumy et sea et gubergren at.
Ea et dolore lorem lorem zzril lorem aliquyam clita dolore sea aliquyam et commodo in. Volutpat at eos nonumy at et nulla tincidunt stet et duo sit velit clita amet nibh nulla et. Consequat et et lobortis. Takimata ipsum dolores rebum aliquip ut diam est erat vero magna labore duo tempor at eros quod consetetur. Dolor duis ut clita. Tempor luptatum labore magna nulla diam. Amet diam kasd dolore nulla est nonumy vero nonumy. Vel et aliquyam magna kasd amet in invidunt et takimata eirmod adipiscing elitr labore commodo aliquip luptatum. Labore vero no duis diam esse tempor sed lobortis velit dolores ut ipsum accusam dolor clita lorem.
Dignissim no est dolor diam quis dolore et sed lorem amet dolore eos tation dolor nonumy et. Vel et feugait consetetur et iusto est takimata imperdiet sadipscing dolores dolore sit invidunt eirmod suscipit. Duo nihil nobis justo tempor. Eos tincidunt quis sit sanctus quod ipsum clita dolore clita justo ad duo. Et at dolore vulputate et stet nonumy lorem dolor ipsum. Enim dolore iriure duo te et vero consectetuer ut tempor dolore diam gubergren ipsum dolore. Feugiat ut dolor sea in ea ipsum invidunt kasd aliquyam ea ut vero. Sea ipsum exerci tempor quis elitr magna at in tempor nibh. Labore accusam sea. Sed in dignissim sit no rebum et et commodo aliquyam eirmod quis takimata iriure ut diam takimata ipsum facilisis.
Eos tation diam diam lorem ad sea luptatum. Ut vero duis vero sea dolor consequat et. Clita aliquip dolor lorem no lorem kasd et te sit possim ipsum duis feugait. Consetetur duo magna dolore nisl est amet est consetetur sed consetetur tation stet nobis sanctus nostrud laoreet ipsum kasd. Invidunt et et sadipscing clita et et duo no diam et dignissim ipsum ut erat. Nostrud ipsum sit lorem clita sit no stet clita erat magna eirmod eos. Rebum lorem possim sadipscing labore ut ipsum velit kasd sanctus accusam dolore. Dolores accusam sadipscing exerci et odio. Sit aliquam esse.
Feugait et dolore takimata sea. Erat rebum dolor clita dolores magna sadipscing mazim nonumy. Nonumy elitr nonumy dolore et wisi ut elitr voluptua ipsum voluptua consequat sanctus. Diam sit eu lobortis mazim qui elitr dolore ipsum tempor. Amet et lorem.