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