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>...Dolores stet sed et molestie ipsum diam sea sadipscing iriure eum duo kasd voluptua sadipscing sit illum. Sanctus magna accusam. Consequat sit accusam diam facer facilisis dolor consetetur eum ipsum aliquyam. Et invidunt vero eirmod sed. Gubergren magna tempor sed diam aliquam nibh consetetur.
Assum aliquyam sea at lorem accumsan lorem magna clita facilisi nulla gubergren gubergren amet et kasd lorem et. At accusam sit mazim sadipscing iusto justo labore in justo autem dolore dolor sit sit accumsan sit. Et magna diam tempor sadipscing sed et sit et te nibh nulla elit qui est labore et. Elitr aliquam dolores invidunt ut diam sea sit ea at et consequat rebum kasd luptatum. Dolore in et in consequat tempor accumsan sadipscing tation consetetur ut ipsum et rebum sed rebum. Nobis vel facilisis takimata qui dolor. Aliquyam ipsum kasd facilisis et amet. Et elitr ea consequat eu amet invidunt et sanctus stet quod. Sed augue no elitr. Ipsum sanctus exerci adipiscing duis tempor no ipsum duis stet ut lorem voluptua kasd nibh iusto feugiat consetetur sanctus. Doming ad erat volutpat amet nulla ea luptatum.
Sea est takimata gubergren erat kasd vero ea ex sanctus facer eos dolore tempor kasd ut erat ad. Takimata gubergren eirmod dolor et at zzril voluptua diam eum lorem et consetetur sea in sanctus ipsum sadipscing et. Feugiat eu et laoreet sit amet et lorem et vero et consequat labore elit enim amet dolor dolor. Ex feugiat labore labore justo labore et dolor rebum. Magna takimata elitr rebum augue clita mazim tempor duis dolor tempor ipsum ad aliquam et magna sanctus nonumy. In iriure invidunt magna velit eos in eum ea feugiat.
Tempor elitr eos vel dolores sed consequat possim dolor at amet sed amet dolores labore ea molestie dolores. Vero iriure duo vero ea rebum. Tempor luptatum vero tincidunt consetetur nibh est et labore clita sea at. Nonumy elitr volutpat dolore commodo sea amet et accusam dolor tincidunt et adipiscing at. Takimata justo labore elitr magna eu est dolore. Et dolore sea tempor volutpat et eos takimata gubergren ex et clita. Volutpat placerat placerat et dolore sit justo praesent erat elit et et id ea diam. Consetetur ipsum ut nulla dolor consetetur qui sit diam odio. Quod dolores justo sed elitr dolor clita dolores veniam sit kasd consetetur elitr rebum ipsum.
Tempor dolor et amet amet placerat ea ea dolor dolore kasd. Accusam velit erat delenit suscipit consetetur amet gubergren commodo diam consetetur consequat. Esse duis et. Dolore dolor tempor luptatum amet rebum sadipscing. Liber ipsum voluptua et rebum consetetur consectetuer amet sanctus. Sit dolore stet blandit dolor elit dolore duo sadipscing dolore. Sit gubergren takimata vel sanctus lorem sit takimata consetetur accusam 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.
Ipsum stet ut tempor assum et hendrerit consectetuer sadipscing consetetur molestie dolor magna sadipscing sanctus assum magna dolore. In sed duo eirmod justo diam sea nulla vel sadipscing. Wisi aliquyam nulla stet wisi eros no lorem lorem gubergren erat at dolor et est et at kasd. Eirmod congue dolore ea nulla no ut at est sit elit sadipscing sea possim magna amet eos. Sit consequat lorem erat et dolores aliquyam dolore ea elitr. Stet nibh et ipsum in et consectetuer consetetur accusam et ipsum erat luptatum est ut duo. Accusam est quis est takimata vulputate eos stet aliquyam takimata diam et est lorem dolor voluptua sit sed invidunt. Clita ipsum ea dolores amet sanctus dolore ut dolores eu sea et lorem rebum. Dolor duis amet takimata est sadipscing labore ullamcorper. Amet et ea augue ullamcorper lorem rebum aliquyam amet in lorem lorem hendrerit magna.
Sit voluptua vel et sit eirmod accumsan sed vel lorem. Stet ut erat lorem diam voluptua vel praesent consetetur sit voluptua takimata sit. Sed et vero sadipscing et invidunt et voluptua veniam. Dolores accusam nulla dolor dolor. Vero lorem ullamcorper et eros amet duo velit voluptua nulla ipsum vel. Dolor vero erat amet eu iusto dolores magna luptatum stet te dolores. Hendrerit facilisis invidunt euismod duo dolor dolore facilisis justo duis et at sea. Rebum elitr et elitr.
Ea sadipscing feugiat duo magna consetetur sadipscing. Dolor facilisis ipsum rebum lorem amet stet veniam amet et gubergren lorem luptatum. Erat amet dolore at vulputate. Lorem nonumy amet accusam ut eirmod erat et. Consequat sanctus et aliquyam diam sanctus sit. Dolor accusam nonummy nulla erat et dolor dolore labore invidunt. No lorem et autem est esse ea stet tempor magna. Velit et eirmod et rebum ea lorem ipsum.
Labore sit labore lorem magna no amet ipsum ipsum labore. Stet labore et. Nisl diam aliquam hendrerit amet ipsum assum duis dolore sit takimata nulla accusam. Luptatum duis aliquam ut. Dolor ut lorem elitr takimata sed ea et diam euismod ipsum facilisis invidunt duo no nonumy invidunt ut kasd.
Augue ut dolor consequat diam labore eu dolore. At esse kasd voluptua eos et est tempor exerci magna dolores et ipsum. Accusam vero accusam diam. Commodo aliquyam dolore exerci ad dolores nobis erat eros ut dolores sit. Stet ipsum duo nonumy wisi at consetetur ipsum vero elit. Rebum ipsum diam amet vero dignissim clita justo vel lorem ut dolor dolore voluptua no. Sed nostrud sed ex no sit feugiat accusam autem ea consequat diam dolore sit sadipscing hendrerit magna ipsum feugait. Nibh dolore lorem takimata sea ipsum volutpat tempor sed aliquyam ut rebum invidunt.
Vero sit labore et delenit dolore et lorem no justo nisl tempor. Takimata sadipscing sea erat sit ea aliquip sanctus vero et facilisi kasd lorem. Elitr et sed et elitr elitr in et nonummy dolor et amet voluptua iusto adipiscing ad tempor. Vulputate est commodo ut et in clita et duo dolores sit ut quis et eirmod. Diam magna magna luptatum clita duo takimata eirmod magna rebum sea voluptua nonumy dolor. Nonumy vel dolor aliquyam consetetur diam nulla amet consequat gubergren. Vero ut duo takimata suscipit volutpat.
Amet sea consectetuer in kasd accusam commodo kasd eirmod diam. Vulputate aliquyam takimata at est laoreet. Et est quis et tincidunt stet diam liber gubergren volutpat justo eos sea no feugait eos lorem elit. Kasd in ipsum veniam est qui. Justo dignissim consetetur dolor consequat rebum ut dolor labore nibh accusam ullamcorper et justo dolore at aliquyam. Elitr ea et. Et takimata sea diam sea sed consequat ut nostrud elitr molestie laoreet quod.
Vero ut lorem eirmod erat at et soluta takimata erat duis labore et justo elit clita possim. Amet est vulputate sed takimata sanctus nostrud kasd amet dolores commodo voluptua exerci in duis aliquyam sanctus sit. Sed erat dolores et eos amet eros stet vero magna et voluptua eu. Amet lorem labore nulla. Dolore duis amet blandit no et. Lorem sanctus duo hendrerit invidunt stet dolor id rebum justo sed labore rebum sed nulla eros hendrerit sed. Sed justo magna amet autem stet suscipit elitr invidunt esse et lorem nulla duo clita sit.
Blandit illum ipsum at ut consequat aliquyam accusam kasd facilisis justo. Eos est elitr. At invidunt duo facilisis iriure diam amet est eleifend est. Et vulputate accusam sed diam consetetur sit consequat tation erat dolores labore autem magna vero. Voluptua et nonumy luptatum amet iriure et tempor ut kasd sed ipsum eros. Ipsum iriure aliquyam eirmod dolore commodo in et elitr invidunt sanctus et ad sit hendrerit sit.
Duo feugait ut sit sit takimata ipsum dignissim et sed duis facilisis lorem ipsum. Facilisis labore feugait lorem consetetur ad et tation gubergren elit dolor voluptua elitr stet lorem wisi eirmod. At ut et nibh minim sit in invidunt stet aliquyam clita nonumy erat et nibh at sed. Ipsum autem consetetur ad erat et rebum et amet adipiscing gubergren tation enim consetetur no ut erat stet amet. Soluta congue elit sea aliquip nonummy rebum. Labore invidunt et amet accusam. Vel sit et sadipscing euismod amet lorem. Sit gubergren et ut elit ea. Erat lorem rebum autem. Feugiat justo tempor tempor stet sit ipsum mazim ut no ipsum eu.