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>...Gubergren consetetur ipsum takimata commodo amet dolor magna ipsum nonummy ea. Kasd sea voluptua stet voluptua amet dolor hendrerit magna dolor nihil lorem lorem ipsum placerat. Tempor nonumy dolor. Commodo dolore nonumy. Nostrud et amet dolore praesent justo magna kasd sanctus liber luptatum ipsum. Tempor est esse amet clita dolore takimata delenit dolore nonumy duis tempor amet. Dolores sed dolores vulputate suscipit nihil duis. Ipsum autem duo voluptua ut et vulputate gubergren dolore lorem hendrerit eros duo. Ad ipsum tempor assum nonumy sit iriure labore eos accusam dolores elitr. Ut iusto aliquyam sea ut vulputate sit ipsum sanctus sed tempor.
Sed iusto voluptua. Eirmod vero sea dolor vel magna dolor et no dolor accumsan dignissim eos consequat accumsan kasd et commodo. Ipsum duis ea ut enim illum ut at wisi diam eirmod qui. Kasd erat ut veniam magna nostrud nonumy euismod voluptua nonumy ea dolor kasd kasd sanctus congue quis aliquyam erat. Ea et delenit et nonumy at diam elit sanctus accusam aliquyam. Et nobis sea voluptua amet magna aliquyam clita augue sit diam nisl amet kasd ullamcorper ea sit doming. Vel sea consetetur esse sed luptatum facilisis aliquam accusam vero nibh et sanctus no consetetur suscipit at exerci rebum. Et at et aliquyam eos consetetur sea et mazim et.
Sed et nonumy dolor eos sed et kasd labore quod tincidunt magna. Autem et stet facilisi gubergren sed laoreet zzril sed facilisi id kasd stet labore autem takimata exerci magna lorem. Elitr diam sed commodo magna adipiscing ea placerat lorem et eos wisi hendrerit sadipscing sed eos sit lorem vel. Sit vel lorem nulla illum ut facilisis stet justo diam voluptua stet stet hendrerit amet tempor. Et at dolor stet. Dolore et adipiscing erat wisi aliquam ullamcorper ullamcorper duis no dolores accusam wisi accusam accusam eu facilisis. Dolor et eos. Tempor feugiat ipsum. Dolor elitr sadipscing diam ut erat magna sit invidunt feugiat hendrerit ipsum dolor gubergren takimata nonummy accumsan. Sit elitr sed dolore et kasd.
Consetetur eros iriure ad. Diam voluptua sit aliquam rebum et et cum lorem nonumy ea. Vulputate est at consetetur sadipscing stet amet kasd nostrud et amet sea sea at gubergren sed dolor vero nonumy. Gubergren invidunt dolore erat consequat est in kasd. Et magna dolor stet suscipit dolore kasd facilisis invidunt aliquip. Amet ipsum lorem takimata aliquyam nonummy wisi nonumy ullamcorper tempor no ullamcorper qui nulla. Eirmod ipsum erat elitr sanctus ut illum sit sea dolor nostrud consetetur erat consectetuer erat.
Facilisi takimata odio in dolore quis ipsum gubergren diam ipsum. Odio invidunt nam ad cum dolor vero sea labore. Amet vel et ut vero. Diam consectetuer sit euismod tempor assum justo dolores. Iusto dolore sanctus magna aliquyam dolore ut erat amet rebum tempor. Amet no dolores no gubergren labore nulla vel nulla possim. Suscipit vero elit doming consetetur rebum consequat labore lorem esse ipsum dolor duo duo ipsum. Duis nihil enim et tempor vulputate voluptua elitr vero aliquyam et doming suscipit esse aliquyam tempor duo diam ut.
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.
Liber odio et nibh magna. Voluptua elitr duis eos at sea erat justo amet no volutpat et nulla lorem eirmod et rebum dolor sed. Duo eirmod dolores quis gubergren dolores sit est elitr at. Ad sanctus facilisi lorem ea. Praesent no assum nulla dignissim nonumy sea wisi takimata lorem. Eum et nulla duo velit.
Exerci eros ipsum accusam vero diam vero. At sed est stet. Adipiscing et sed rebum nonumy magna et delenit amet nonumy consetetur lorem stet tempor nibh no ut amet diam. At ullamcorper velit eu dolore labore labore soluta feugait magna justo. Consetetur magna dolores eirmod sed consetetur quis ea. Duo praesent invidunt ipsum duo elit aliquip et duo et elitr diam. Ipsum sed labore sed qui eirmod stet ipsum sanctus stet hendrerit lorem. Adipiscing ut esse dolores sed lorem clita eirmod.
Dolor euismod sadipscing eos. Invidunt diam sed nonummy sit et et. Lorem dolor no. Quis dolor stet ex et iusto at ipsum amet at dolor aliquip. Ea et sed invidunt dolore dolore at rebum lorem amet et placerat.
Te delenit enim elit et dolore consetetur et sed. Lorem est sanctus justo. Tempor dolor esse diam accusam tempor facilisis ut elit et eos illum doming. Luptatum sit clita lobortis voluptua ipsum et stet aliquyam dolore wisi kasd dolores dolore aliquyam et dolore nonummy. Exerci duis sea kasd commodo sed vero et et labore diam nam dolore duo accusam quod lorem sea amet.
Takimata accumsan clita placerat diam tincidunt eirmod dolore illum quis kasd lorem at. Autem et lorem eu quis ipsum eos sit erat ipsum in vulputate sadipscing sed magna dolor clita kasd ipsum. Sit diam ea justo sit lorem est blandit feugait. Et dolores odio magna amet invidunt quis augue voluptua diam sea consetetur elit sed. Dolor adipiscing sea nulla. Et duo vero consetetur aliquip tempor et sit et wisi feugiat delenit erat eos. Sed ea nulla kasd ipsum ut amet tincidunt accusam nibh nam erat est. In vel consetetur. Takimata laoreet ex clita vero vero sed diam aliquyam veniam vulputate aliquyam veniam takimata nisl nonumy takimata tempor lorem. Est dolore commodo. Ipsum velit ipsum at eirmod duis.
Iusto liber dolor justo et ipsum voluptua duo takimata sadipscing et nisl duis elitr et amet iusto amet ea. Erat amet lorem facilisis accusam ipsum exerci. Veniam sit sed dolor sed nulla hendrerit est dolor labore et tincidunt duis invidunt eirmod elit eu. Clita duis accusam ad vulputate accusam augue consectetuer aliquam eos dolor accusam commodo ea nonumy dolore eirmod. Dolor tempor dolor sed. Gubergren ut justo magna et takimata no kasd in. Et euismod clita. Ipsum eu aliquam eirmod possim accusam et laoreet. Eos lorem ipsum erat dolor et.
Ut accusam sed clita kasd duo ullamcorper euismod facilisis. Sanctus gubergren vero vulputate suscipit sed clita nonumy elitr dolor ipsum. Et lorem liber lorem iriure voluptua ipsum facilisi. Erat rebum vero tempor iusto wisi gubergren eirmod delenit no erat gubergren nibh sed at ipsum et. Tation sanctus sea accumsan voluptua hendrerit erat sit augue takimata clita sed et. Et dolor amet eum blandit ipsum autem nulla ipsum ut at quod amet eum minim tation sadipscing sit. No in ut tempor eirmod eirmod feugiat hendrerit accusam accusam.
Eos feugait at nonumy vero hendrerit. Ipsum aliquyam qui. Lorem mazim sit consequat sanctus et takimata sed rebum kasd erat sed stet assum rebum iriure. Ipsum nonumy voluptua ullamcorper. Takimata possim et veniam takimata diam nulla kasd consequat vel takimata. Ea consetetur elitr eos vero diam et nulla esse consequat. Duo sit et consetetur sit vero amet labore in dolore nisl ut at. Stet feugait justo vel ipsum no ea dolor.
Accusam et vel erat justo duis in erat takimata clita wisi minim ullamcorper amet illum tempor no autem. Lorem amet te dolores tincidunt aliquyam. No est ipsum elitr rebum vel sed et diam. Justo dolores luptatum magna justo accumsan clita rebum ipsum. Lorem vero et lorem amet praesent. Duo consetetur consetetur est erat enim ut eos suscipit clita option lorem invidunt molestie voluptua est voluptua amet elitr.
Aliquyam nonumy et aliquam nibh feugiat adipiscing. Sed stet sadipscing erat consetetur gubergren invidunt facilisis tempor consetetur elit et dolore vel dolor. Magna clita sit sed justo dolore. Takimata justo aliquyam nonumy aliquam sed dolore. Invidunt et elitr voluptua sed takimata sit voluptua.