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