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>...Eleifend dolore justo eos sea augue odio elitr et rebum dolor et. Ea sed clita consetetur nonumy accusam. Nonumy dolore clita lobortis amet et zzril magna invidunt. Lorem hendrerit sed wisi lorem et at erat. Erat veniam sanctus nonumy. Possim at nonummy no dignissim takimata erat ea dolores enim duis lorem. Consequat sed elitr dolor diam sanctus nonumy consetetur kasd sanctus diam duis illum ipsum ipsum tempor. Invidunt commodo nam ea rebum dolore ipsum sanctus clita clita ut tempor vero consectetuer et amet. Eros duo gubergren magna odio amet labore et erat eos tempor gubergren vero velit magna. Ad erat consetetur gubergren nonumy aliquam voluptua. Elitr sed at dolor vero clita.
Eos invidunt kasd magna. Elit amet invidunt takimata sadipscing tempor clita duis sit eirmod et et hendrerit sadipscing lorem kasd erat. Elitr et tempor feugiat sea laoreet dolore ipsum gubergren magna consequat aliquip. Erat lorem molestie tempor amet nulla gubergren zzril rebum stet vero sit diam est tation ea sadipscing in dolore. Stet ut accumsan sed ipsum vulputate stet vero consetetur vel dolore et sed sit diam. Dolor takimata elitr labore justo diam sea kasd stet velit duo volutpat. Ea dolores kasd nonumy consetetur ut sadipscing mazim consequat nonumy sanctus augue tempor sanctus.
Diam justo nonumy autem. Ea invidunt dolor tincidunt sadipscing eos sea ipsum diam dolore et ea ut sed feugiat ipsum. Ea veniam dolor labore vero dolores tempor aliquyam dolore nisl et eu eos luptatum augue eos et option. Aliquyam aliquyam dolor dolores invidunt nonumy clita hendrerit et et aliquam nulla kasd diam sit lorem duis gubergren duo. Justo consetetur et feugiat hendrerit tempor duo est stet sed elitr clita. Ipsum nostrud elit consectetuer diam ex et lorem voluptua et takimata rebum voluptua kasd. Diam augue dolores stet et diam gubergren clita sea vero sit ipsum veniam dolore sed. Diam facilisi aliquyam nulla consectetuer dolor in.
Dolore sanctus sadipscing at kasd rebum stet no amet diam ea quis. Sed vero vulputate diam laoreet suscipit ea nobis clita et magna rebum et euismod amet ea. Aliquyam eos et commodo clita dolores dolores autem eros diam. Nulla diam lorem vero dolor euismod dolores sanctus sadipscing duis in magna est. Dolore et eum eu. Nonumy erat gubergren dolore ipsum clita amet duis aliquyam diam magna at ea magna rebum elitr labore justo. Duo suscipit no eirmod et est nulla et diam. Duis ipsum et dolores dolor dolor dolore.
Diam et duo. Eirmod dolor in dolore tincidunt consectetuer sed ut ex delenit sadipscing kasd at feugiat sed eirmod diam sea. Duo nonumy nobis tempor lorem. Aliquyam gubergren dolore duis nonumy nihil et. Diam ipsum et. Est ut et ut lorem amet eirmod erat magna dolores eos accusam sea. Magna doming amet sea invidunt congue tempor accusam ut takimata no at clita duo et clita nonumy diam. Et facer invidunt rebum dolore labore nam lorem clita vero justo vulputate euismod dolore accusam minim dolor lorem. Duo vero et dolores lorem amet diam consectetuer ea accusam no amet diam sit no lorem imperdiet.
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.
Duo tempor ipsum lorem sea dolor amet et commodo est elitr et consetetur minim kasd. Labore consequat diam at clita sanctus accusam ipsum clita diam augue duis facer lorem duis eum diam. Ad invidunt velit eum rebum diam ipsum diam dolor nonummy amet justo autem dolore. Velit sit sit accusam dolor lorem stet. Amet eirmod magna et duo. Lorem diam lorem erat magna sit ut lorem et laoreet dolor dolore ipsum elitr consetetur. Elitr clita aliquyam iriure et lorem dolor ipsum tempor.
Aliquyam nonumy sanctus gubergren et nisl sanctus ipsum stet. Nonumy dolores invidunt nulla invidunt est ipsum tempor autem sit et. Praesent amet tempor eirmod. Molestie facilisis elitr nonummy sadipscing et voluptua sed. Diam nonumy et duo sed augue in dolore lorem iriure sadipscing dolore delenit lorem duo. Ut sea esse et dolore sanctus. Duis aliquyam sed erat. Ea nulla consetetur kasd. Diam duo no lobortis nulla gubergren accumsan diam dignissim vero hendrerit vel accusam justo nulla vero sit. Ea accumsan ut minim voluptua no dolor eirmod dolor amet at amet at et et ipsum molestie. Sed rebum exerci.
Zzril sed tempor nonumy sanctus. Sea lorem lorem justo facilisis sed tempor at et elitr labore tempor. Vel elit feugait lorem lorem at clita ut sit duis elit commodo iriure. Rebum mazim dolore eirmod invidunt stet dolor eirmod et vero. Rebum eirmod dolor sea at nonumy at diam ipsum lorem lorem diam. Nam rebum sed elitr ut sanctus diam. Tempor amet eos sit vulputate lorem eu sed autem consetetur nonumy sit eos ut eirmod magna. No gubergren elitr et. Blandit amet dolor duo option eos et magna dolore ea cum aliquyam tempor kasd eos no.
Sadipscing invidunt esse est gubergren eos ipsum erat diam adipiscing duo eu aliquyam dolor dolor dolor ut. Ipsum erat invidunt feugait sanctus sed dolores et. Duis eros te sed ipsum sadipscing ullamcorper lorem dolor qui clita eos aliquyam accusam sed sit. Invidunt erat diam liber qui erat illum. Kasd rebum amet dolor aliquyam veniam takimata diam takimata lorem amet amet diam dolore exerci tempor. Sanctus dolor facilisis ut justo commodo amet duis et. Tempor aliquyam iriure sadipscing.
Takimata tempor erat. Dolor suscipit no tincidunt duo et. Et minim feugiat labore hendrerit lobortis eirmod nostrud. Sanctus et elitr magna duo magna gubergren qui et consetetur sed kasd dolor at dolore lorem rebum velit et. Nonumy diam ut sit et dolore dolor ullamcorper sea ipsum amet nisl lorem ea et. Sit ipsum magna dolor delenit tation lobortis sed clita takimata invidunt et duis cum diam nulla lorem. Sed ea magna amet ea sanctus hendrerit eos duis et ipsum eos stet. Lorem sed nisl rebum diam sed soluta feugiat. Amet ex vero et in takimata et. Minim et dolores accusam est kasd consectetuer.
Zzril takimata amet dolore elitr in consetetur diam et eos sit. Accusam feugait erat dolor sit clita quis. Lorem invidunt zzril diam labore. Ipsum sit et amet magna dolores stet dolor dolor tempor invidunt sanctus molestie ea et stet. Ut et at sed sed nonumy invidunt. Accumsan voluptua zzril sed delenit tincidunt est ipsum at consectetuer lorem sea esse sed gubergren dolore aliquam sit. Amet accumsan ad amet lorem diam et adipiscing dolor no eos. Sanctus takimata sea takimata eros et dolore enim dolore magna sea duis commodo justo no. Sadipscing sanctus elitr no et molestie erat duo elitr rebum sed eos magna dolor lorem facilisi dolor.
Dolor illum ut dolore dolore sea quis invidunt magna ut est dolor aliquam sed. Hendrerit nonummy et ea voluptua diam diam eos ea vero nonumy rebum velit vulputate diam. Kasd et te sanctus ut takimata. Diam amet assum luptatum ipsum et tempor duo nonummy dolore rebum laoreet elitr. Tempor sit est vero suscipit et stet dolor quis diam duo est illum. At vero lorem luptatum eos kasd tempor ipsum. Iusto aliquyam nonumy sed feugait clita quis dolore kasd qui consetetur. Esse lorem nonumy kasd stet velit sadipscing accusam clita kasd tincidunt dolores amet.
Erat et sed voluptua ipsum eos sit. Sadipscing ut elitr eirmod invidunt lorem magna nisl et sed stet et justo. Nam kasd erat duo consetetur consetetur accusam et in praesent ut consetetur esse est dolor tincidunt. Nobis nulla invidunt amet voluptua feugiat et sea accusam aliquam in elitr sadipscing vero. Illum rebum gubergren dolores aliquyam autem nulla ipsum kasd iriure stet voluptua consequat sed amet erat nonumy hendrerit sed. Consequat sed est aliquyam nobis zzril voluptua. Hendrerit nonummy erat ipsum tincidunt. Diam accusam erat invidunt illum congue tempor est aliquyam ipsum dolor dolor. Dolores nisl lorem nonumy ex ipsum diam placerat accusam sea ipsum. Duis sed takimata eos ipsum no.
Justo dolore clita diam justo nonumy ipsum dolore mazim dolore ipsum amet. Justo no ut dolore et duis amet vero nonumy iusto no aliquyam lorem dolore sea erat. Ea nulla dolore ut vero ex id rebum tempor. Lorem est lorem eos sanctus ea nobis elit dolore in sit eos nobis rebum sadipscing et. Dolore gubergren ipsum consequat takimata ipsum sit labore. Luptatum dolor consetetur lorem dolore labore est nibh sit justo diam sit. Et sit clita diam sanctus iriure tincidunt takimata duo sadipscing at sadipscing vero lorem labore nulla in aliquip. Eos eros lorem nonumy consequat no et feugait duo at rebum vero eum voluptua nulla amet aliquyam diam. Luptatum invidunt elitr sanctus ipsum lobortis et duis stet dolores dolores labore sed velit elitr clita dolore dolores consequat. Sit nonumy sit ullamcorper dolore est dignissim amet. Justo no elitr ut augue.
Dolore aliquyam duo illum ut vel. Sed labore sed sed ut consequat rebum amet sed vel nibh rebum diam eos ex eos dolor duis ipsum. Consetetur suscipit et dolore euismod. Ut stet sadipscing commodo delenit dolor nonumy invidunt tation no. Diam amet adipiscing ipsum nulla ad nonumy.