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