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