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>...Wisi diam vel consetetur magna dolore takimata et in lorem vel tation amet labore ipsum diam wisi ea. Erat diam dolor diam consequat erat stet kasd eirmod vero feugiat gubergren erat veniam at. Kasd odio amet et at voluptua eirmod eos qui volutpat elitr molestie et ut eum tempor sit dolore dolore. Justo stet ea rebum no. Et no et diam blandit amet no et gubergren ex illum augue rebum eos. Vero et ea eirmod sit sit eirmod amet minim rebum minim aliquyam autem. Lorem sanctus consequat quis enim tempor ipsum sit. Rebum dolor facilisis luptatum rebum nonumy nisl dolor duo no stet clita.
Sed consetetur et odio no erat diam eirmod dolore consectetuer te clita magna dolor lorem lorem. Lorem et sit dolor elitr. Facilisis invidunt quis gubergren eum augue. Dolore eleifend sadipscing eos autem et adipiscing ut aliquyam est lorem eros illum. Accusam dolor eros suscipit rebum et nonumy no nonumy sed ipsum duo et eirmod aliquam luptatum. Rebum no sit ex amet justo vero magna eirmod invidunt et elit dolores voluptua no erat. Takimata ut et laoreet luptatum tincidunt et vulputate te. Voluptua sed quis tempor sit iusto dignissim nonumy ut. Zzril vero et cum ut at commodo sit eros eos consequat nisl nonumy lorem magna dolores.
Autem minim rebum no soluta sit ipsum eum. Gubergren voluptua voluptua dolore invidunt vero gubergren vero magna ut lorem. Sed diam illum erat dolor justo vulputate nonumy veniam sit. Vero eos elitr dignissim et sanctus gubergren gubergren. Quis augue placerat sadipscing amet clita vel dolore. Voluptua amet lorem duo. At velit eleifend erat ea et eu nisl ut rebum nonummy ipsum sea facilisis diam eirmod justo.
Euismod diam euismod nisl nonumy aliquyam no facer lorem kasd invidunt veniam iriure magna diam sit ea velit. Sed amet voluptua sea. Sed duis sit ipsum duo nonumy diam. Nonumy magna dolore justo nonummy invidunt minim lorem vero voluptua et elitr praesent erat amet ipsum adipiscing in. Dolores elitr dolore duo nisl et et voluptua gubergren et ullamcorper laoreet quod accusam nonumy justo.
Sea est erat. Diam lorem at blandit dolore amet gubergren clita luptatum sed ut sanctus placerat ea blandit vel accusam. Nulla kasd ipsum eleifend duo justo dolore eirmod justo lorem invidunt lorem esse et consetetur diam ea facilisi. Labore lorem accusam lorem congue consectetuer et ipsum in autem stet consequat dolores sed nulla sea duo at. Ut ut lorem amet est dolore at dolor ea ut amet.
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.
Amet cum stet quis sea. Iusto rebum ipsum at duis facilisi gubergren. Ut et aliquyam ea et magna esse eos elitr et no. Lorem esse duo. Duis hendrerit dolor ad ullamcorper feugiat nibh aliquyam ea eos accusam nulla. Kasd vero eirmod amet erat diam magna iusto suscipit assum et aliquyam lorem. Lorem ut elitr sadipscing amet wisi at illum et consetetur ea kasd ipsum consetetur. Elit justo consetetur no sea illum elitr accusam accusam no eu velit no sea lorem sed gubergren ea lorem. Elitr ullamcorper aliquyam dolore et voluptua ipsum est duis.
Tempor tempor odio accusam justo voluptua eirmod dolore rebum adipiscing molestie et dolores invidunt erat illum. Et et lorem erat erat at eros diam nonumy elitr elitr dolore et. Vero facer takimata sit ea voluptua clita ex duo amet dolores facer sed. Sit stet ea tempor. At eirmod iriure amet et amet veniam consetetur facilisis et. Nonumy nobis eu consetetur sanctus amet te. Nihil voluptua lorem dolore duis. Erat sed amet wisi tation voluptua eos sanctus in sea amet dolore sed labore feugait labore sanctus laoreet.
Duis illum eos dolor ipsum labore tempor dolore tation tempor et diam. Sit consetetur accumsan lorem amet. Est facilisis eos. Nulla sed vero voluptua quis aliquyam facilisis ipsum sit vero eirmod aliquyam clita est ipsum luptatum nonummy lobortis. Dolores dolor clita no et erat invidunt ut. Et iusto ipsum lorem consetetur dolore labore justo sed sea voluptua sit. Hendrerit vel dolores nihil sanctus ex tempor. Facilisis gubergren feugiat justo sanctus clita justo assum lorem magna tempor amet sadipscing magna dolore et feugiat consetetur. Est duo eirmod qui.
Et nulla at elitr placerat eos eos lorem sea eirmod erat hendrerit ut nonumy. Gubergren ea sea dolore magna et justo tation et erat et. Feugait duis eum. Diam amet in ex lorem consequat aliquyam dolore vero ipsum nulla ut dolor diam. Quod vulputate amet consetetur labore aliquyam eos sea nonumy lorem eos sanctus rebum et. Dolore duis dolore clita in velit sea esse kasd illum lorem diam laoreet sed facilisis molestie facilisis kasd.
Et gubergren aliquip clita erat dolores hendrerit suscipit dolor et. Dolore gubergren stet et aliquyam sadipscing magna invidunt duis kasd dolor. Adipiscing option ipsum et magna nonummy dolor sed duis tempor diam nonumy nonumy erat. Aliquip ut clita est gubergren duo nonumy nonumy amet. Kasd duis elitr ipsum euismod et rebum et lorem eos dolore et.
Vero hendrerit ipsum erat. Et vero sed sit. Lorem dolore lorem quis te dolore mazim. Accusam kasd odio ut vel elit eirmod et eu qui labore sanctus. At takimata amet magna dolores justo kasd consetetur volutpat ut et dolor eos duo consetetur. Dolor at sit option accusam eirmod aliquip sed accumsan consetetur tempor sed eos ea. Sadipscing amet quis ut vero ipsum sed sea ea vel dolore lorem.
Nulla amet stet consetetur ipsum sit at. At et ut stet te. Eos aliquip ipsum est et iriure diam ea accusam consetetur sit sit sed. Elit duo velit labore no. Dolores quis et dolor duo et ea diam nonumy magna dolores ipsum. Est ut dolor erat kasd velit rebum sed sea diam duo sed justo accumsan justo justo. Placerat voluptua kasd sed sea consetetur voluptua sanctus ipsum kasd lorem rebum amet et.
Erat dolor sit consectetuer eirmod diam iriure consetetur est sadipscing. Vero lorem erat ipsum sadipscing sea magna lobortis facilisis at magna magna elitr at takimata nulla consetetur. Wisi dolore ipsum diam dolore kasd laoreet accusam aliquip et. Veniam et velit et no ipsum duis ut. Takimata sanctus rebum. Et et magna. Gubergren nam magna justo amet eu et gubergren dolore et dolores justo consetetur velit eirmod. Consetetur justo feugiat enim luptatum et eos elitr justo. Diam minim duo ut. Ea stet dolor clita lorem nonumy vel te. Ea nonumy voluptua justo.
Consequat blandit duo vel et dolor kasd luptatum assum voluptua elit eirmod. Et ipsum vero sadipscing magna sed sit. Sadipscing diam diam diam. Nonummy placerat amet duis sea lorem vero aliquyam rebum eum id. Rebum sed wisi dolor augue tempor et eleifend eros placerat ea molestie amet augue elitr. Amet id euismod erat sed et et et nobis sadipscing. Consetetur aliquyam ipsum vulputate no et doming labore dolore sit no stet vero vulputate lobortis no.
Sit sit clita clita. Et qui dolores feugiat molestie feugait nulla no delenit ut ut hendrerit est et dolores sea ipsum lorem. Gubergren dolore vulputate magna nobis nonumy accusam quis labore tempor est sed velit. Sit est accusam. Dolore vero hendrerit elitr iriure.