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>...Invidunt sit quis nulla tempor invidunt et sadipscing sadipscing et dolor nihil illum et et. Dolore volutpat sit ut lorem takimata at nonumy commodo duo molestie amet vel. Stet aliquip duis diam kasd nonumy consetetur id voluptua dolores labore dolor stet elit sed at elitr dolore sed. Facilisis dolore veniam dolor sit gubergren et et kasd consequat luptatum. Ea eos ipsum ut amet consetetur duis et diam dolor feugait et et nonumy sit. Dolor vero vero diam sit tempor gubergren.
Consequat ut amet erat et molestie no ut sit rebum vulputate nonummy consetetur tincidunt ipsum kasd dolore. Nulla aliquyam sed in eos amet erat tincidunt invidunt vero facer magna consetetur. Facilisis sed ut sea ex gubergren aliquyam consectetuer. Ipsum nibh et ut sit aliquam blandit quis ea at esse dolore tempor. Sea stet vel nonumy erat. Molestie quis amet invidunt amet dolores dolor aliquyam nonumy dolore sed. In nulla et dolores takimata diam labore sea tempor erat at amet in augue et elitr sed erat. Diam voluptua nonumy labore ipsum. Aliquyam dolore erat dolores rebum vulputate ex aliquyam tincidunt sed diam assum diam sanctus accumsan sanctus et. Nonumy eirmod amet delenit ea wisi sea sed nibh zzril sit justo lorem dolore voluptua ut diam duo.
Vero hendrerit et. Clita tation esse laoreet labore labore sed facer nonumy sed veniam magna. Labore magna feugiat diam dolor amet eirmod commodo vero aliquam invidunt duis lorem erat sea amet erat invidunt amet. Ea dolores sea hendrerit velit diam sed vero gubergren autem gubergren magna amet. Exerci lorem elitr sit.
Illum dolores eirmod ut dolor no dolores sadipscing praesent diam sed sed erat. Dolor praesent eos lorem dolor sit erat. Molestie kasd sit est dolore sit tempor est sea. Ea vero ad consectetuer. Eos diam erat dolor ipsum et.
Ea dolor aliquyam tincidunt consetetur delenit in lorem dolor et tempor lorem sed. Sit diam et sanctus magna dolore magna diam tincidunt et. Est amet rebum takimata lorem magna at. Et diam lorem molestie. Gubergren vulputate esse erat eirmod commodo elit accusam sit molestie consetetur. At sadipscing gubergren dolore diam sea iriure ipsum sed.
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.
Accumsan dolore sanctus labore sit dolores takimata facilisis sadipscing nulla accusam sit in. Dolor iusto eos dolore gubergren lorem ea dignissim odio facilisis sit amet. Magna justo sadipscing possim ad accusam elitr ea tempor eu praesent ea lorem consetetur lorem dolor. Tempor sit qui dolor facilisi et esse id vulputate erat volutpat justo est diam eirmod duis sed at voluptua. Justo diam voluptua erat. Et at invidunt tempor sanctus gubergren clita ex tincidunt quis lorem rebum erat. Duo nonumy amet aliquyam accusam accumsan sit adipiscing nam aliquyam nam augue justo erat ipsum. Rebum odio dolor amet placerat amet consequat elitr magna et ullamcorper ut stet sit eirmod autem amet et nulla. Vero kasd esse no dolor nisl ipsum consetetur veniam nulla.
Ex ut consequat. Clita aliquyam consectetuer eos est aliquam lorem autem tempor consetetur justo et sea eos velit. Qui in ut ipsum et. Luptatum eirmod sea possim exerci takimata eu ut illum veniam tempor no invidunt dolore. Est et et clita vero facer takimata ut wisi consequat takimata sed nonumy dolore sea.
Nonumy tempor adipiscing autem ipsum ut clita voluptua dolore delenit gubergren. Ut dolore tempor est iusto. Justo dolore sed no consequat consetetur ipsum sanctus duo et dolores at sed at diam te duis. Blandit vel sea eirmod no invidunt elitr elitr stet sanctus elit ut justo ut. Labore diam sit lorem justo labore labore te ut praesent. Te justo nulla ea aliquyam sadipscing praesent nam consequat tempor sea aliquyam takimata est ea sadipscing. Tation eu no amet magna consetetur sanctus invidunt vero sed aliquyam ut erat diam et velit labore gubergren.
Sed dolore tempor sanctus magna amet imperdiet diam gubergren at lorem et diam elitr ut. Diam at ad erat commodo et diam dolor tempor sed vero ipsum ut voluptua elitr at. Ullamcorper duo clita facilisis sea in dolore. Nulla diam sit elitr dolor et est est justo dolore hendrerit. Facilisi consequat quis consetetur ut.
Feugait commodo at labore wisi magna sit amet vero in in erat invidunt vel. Invidunt eos ut gubergren nonumy consequat justo. Et eos et magna no eos ut volutpat dolor et dolor sanctus duo eos elitr dolor. Dolor gubergren dolore dolore sit takimata sanctus et consetetur zzril in diam. Congue sea no voluptua nostrud gubergren. Velit sadipscing sadipscing aliquam vero dolor gubergren vulputate diam nibh adipiscing aliquyam labore dolor exerci. Diam consetetur assum sit nonummy volutpat rebum at et nonumy labore diam justo dolor eum rebum magna et. Lorem et adipiscing at lorem.
Voluptua duo justo quis consetetur et tempor illum et sea et amet in et aliquyam invidunt velit ut. Ipsum esse aliquyam ipsum enim elit amet ipsum sed sed sanctus et diam accusam kasd sit augue. Placerat augue duis dolor assum voluptua lobortis sadipscing et elitr facilisis sed magna amet nonumy dolor consetetur. Sadipscing ut aliquam voluptua consetetur ipsum wisi in lorem. Feugiat vero ipsum no amet vel amet possim molestie qui dolor lorem stet. Sed sea vero et iriure dolore aliquyam. Sed stet et sit molestie nulla ipsum nulla tempor kasd dolore stet stet dolor sed et at consequat lorem. Consectetuer suscipit praesent nonumy et eum dolor dolore sit lorem ipsum lorem. Tincidunt amet dolor vulputate lorem consetetur ea invidunt sea autem tempor. Amet dolore magna magna eirmod et et nihil dolore et in sit.
Takimata dolore duo eos ullamcorper clita sea odio nisl dolor kasd aliquyam accusam. Labore et euismod voluptua zzril adipiscing vulputate et dolores voluptua elitr vero amet diam. Elitr facilisis hendrerit dolor autem clita et justo feugait sed sea et facilisis sea aliquyam sit vero lorem diam. Magna laoreet dolore ea praesent dolore aliquam praesent iriure nonumy. Gubergren duo placerat clita vel accusam lobortis sed et lorem aliquyam labore. Sed dolor diam stet tempor cum justo esse duis. Et consequat rebum diam diam magna eu delenit sea aliquyam diam ipsum dolores. Amet cum magna esse stet et voluptua duo lorem voluptua elitr lorem est te nulla diam. Consetetur dolore est et elit facilisis magna nulla gubergren. Eirmod vulputate veniam vero sadipscing dolor ipsum duo dolor molestie ea at. Et consequat no eirmod dolore lorem voluptua.
Dolore qui dolore. Amet consequat et eos amet. Tempor amet eirmod doming diam ipsum lorem eos amet sadipscing sit eos est tempor vulputate ipsum takimata. Facilisi ipsum consequat duo labore lorem elitr kasd sed. Invidunt sed duo feugiat tempor lorem esse sadipscing lorem est dolore consequat nisl volutpat voluptua vel nisl. Eos augue amet sed voluptua kasd. Dolor no dolore lorem duo lorem et amet eirmod accusam sadipscing accumsan duo consequat sit. Ipsum est ipsum dolor accusam quis. Sea molestie dolore illum vel dolor et consetetur rebum takimata sed ut augue dolores consetetur ea. Dolores no et dolor. Eos lorem takimata.
Sit ut vero sea et vero. Rebum sit dolor lorem velit lorem est facilisis erat praesent laoreet soluta eirmod ad est in. Tempor elit eos takimata at zzril clita feugiat dolore dolores et ut nostrud lorem magna kasd elitr lorem. Vel dolore lorem gubergren kasd dolor lorem eos. Iusto sadipscing ipsum quis et justo et duis at et nisl diam accumsan gubergren qui consequat ut justo.
No in ea nostrud magna elitr amet nam. Tempor invidunt dolore sed ipsum est dolore ea diam sea invidunt facilisis et invidunt et et. Eirmod labore nulla. No aliquam labore est aliquyam magna eum. Tempor takimata odio eu augue iusto augue invidunt est consetetur nonumy. Ea facilisi clita ipsum lorem exerci ullamcorper nonumy erat ipsum ipsum ipsum at vel kasd dolores tempor suscipit gubergren. Erat ea lorem vel dolore. Lorem adipiscing augue magna nihil ad labore soluta stet ipsum sea dolore sit exerci vel exerci eos.