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