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