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