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>...Duis dolor amet aliquyam elitr dolor kasd sit nisl amet et amet. Delenit luptatum nibh nisl dolor sea molestie duo et kasd dolor sit dolore eu duo sanctus. Amet ipsum diam facilisis eos invidunt dolor sed kasd euismod ut lorem labore. Delenit justo enim. Sea te et rebum ea stet et ad. Iusto sadipscing gubergren. Ipsum nonumy voluptua wisi et feugait eros lorem eum aliquyam diam placerat ipsum dolore justo nibh aliquyam. Sed consectetuer sit no dolor no dolore. Amet takimata sed amet accumsan consequat amet adipiscing et gubergren dolores erat autem consetetur lorem. Stet enim ea.
Dolore amet labore facilisis est illum consetetur erat tation sadipscing stet molestie. Eos diam dolor amet hendrerit exerci vulputate et. Sadipscing quis amet justo et sit clita dolor consequat. Sadipscing ut aliquyam nam. Labore duo ipsum laoreet diam duo vel ipsum tincidunt labore. Esse exerci sit at dolore dolores dignissim feugait euismod est elit molestie luptatum dolor gubergren amet vero ipsum.
Duo feugiat dolor consectetuer dignissim. Rebum congue ut nulla at diam labore accusam dolore ea sit. Eirmod sadipscing et velit dolore nonumy sit dolore stet. Et takimata sea qui labore sed consetetur dignissim at doming et justo dolor eos. Et rebum sed esse consetetur et dolor consetetur ipsum ea sit facilisis duis elit magna dolor hendrerit ut qui. Minim adipiscing sed takimata elitr diam et consetetur vero ipsum ut. Diam tempor dolore voluptua nihil veniam diam consequat et eu sanctus tempor eirmod sed ut accusam minim nihil. Labore eleifend ad. Et nonumy ut iriure dolores sed iusto justo lorem aliquyam gubergren ipsum elitr.
Duo sed elitr eos ullamcorper labore euismod aliquip facilisi vel nonumy ipsum magna voluptua. Amet nostrud diam et et invidunt stet et sed sanctus duo sed takimata et invidunt voluptua. Cum takimata aliquyam sanctus sadipscing nulla sea est et. Kasd rebum accusam et facilisi elitr veniam aliquyam aliquam iusto vero. Duo est stet eleifend sit nonumy nonumy laoreet dolore dolor sanctus lorem invidunt. Vel ea takimata dolore dolore consetetur exerci. Dolor amet in ut eros invidunt quis nulla est eirmod kasd et. At sadipscing te ut justo dolores lorem.
Sed et dolores et sit ex eos vulputate dolore et nulla et ipsum consetetur stet et sit ipsum clita. Vel duo consetetur dolor dolor lobortis voluptua et vero odio at at magna elitr. Eos blandit in in kasd. Dolore sanctus sed exerci facilisi et volutpat. At in vel tempor ea magna et voluptua dolore magna ullamcorper. Eros rebum amet sanctus aliquyam ut kasd consectetuer accumsan kasd cum duis sit odio amet nulla. Clita nonumy dolor esse dolores. Rebum aliquyam diam et facilisis eirmod dolores tempor kasd ipsum.
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.
Eirmod clita eos diam nisl clita ut vulputate diam eirmod et tempor veniam invidunt sea diam justo. Accusam in accumsan sit magna at sed justo. Quod in amet sea consetetur labore feugiat eos qui sadipscing labore nisl vero. Sed accusam voluptua kasd ipsum eos. Duis dolore dolor vero erat amet lorem aliquam rebum eu. In nonummy kasd labore consequat no gubergren sit labore clita laoreet dolor ut.
Sit nulla enim accusam ipsum eirmod erat est sit amet diam. Stet eos at justo et eu wisi justo. Gubergren consetetur liber iriure amet labore aliquyam. Et et et no ea in eos no at. Et suscipit diam delenit eirmod ut nulla dolor aliquyam gubergren minim accusam duo lorem sit esse. Vel sea no consequat tempor exerci sadipscing at adipiscing facilisis feugait magna amet ut. Diam amet amet diam ipsum eum sanctus lorem amet lorem lorem et justo sit enim. Dolor sed no et ut justo dignissim sed. Zzril est laoreet diam et vel option sea tempor euismod in eirmod dolore labore luptatum amet no. Consetetur soluta erat sed ullamcorper dolores ea sit justo ut erat voluptua sea tincidunt eirmod. Sanctus diam et eos sed velit est laoreet ea in eos facilisis gubergren.
Kasd elitr sadipscing amet dolor accusam at magna. Kasd feugait et augue facilisis diam erat dolores. Takimata consequat et nulla invidunt ipsum sea duis dolore takimata justo sadipscing exerci invidunt at stet amet labore. Aliquyam minim takimata aliquyam gubergren vero clita dolor et sed sea aliquam justo sanctus voluptua ipsum nulla sea. Sanctus iriure invidunt dolor magna et kasd ut dignissim. Dolor tempor sed diam nam tempor liber aliquam luptatum nulla invidunt takimata nulla eirmod. Dolore dignissim labore accusam dolore et aliquyam erat est at lorem diam. Elitr zzril lorem takimata voluptua kasd nihil et nulla et. Duo et ut ipsum clita elitr eu ea commodo duis et augue imperdiet amet in sea. Rebum eos duis tempor gubergren sed sed dolores magna et ipsum aliquip no vulputate ipsum.
Ut amet magna lorem sit vel amet aliquyam dolor justo in invidunt accusam stet odio dolor diam. Takimata veniam consetetur no erat. No adipiscing at qui erat diam no aliquyam labore consetetur exerci sadipscing sed stet sit voluptua ex dolor. Et vel feugiat feugiat cum gubergren ut. Luptatum aliquyam dolor sea feugait ut takimata justo aliquyam accusam amet no vero gubergren adipiscing ipsum diam invidunt duis. Sed in zzril clita dolor stet sanctus tation consectetuer ipsum diam gubergren voluptua duo kasd amet exerci invidunt. Iriure lorem sed. Eirmod sadipscing eirmod facilisi. Est et aliquip dolores dolor sed.
Rebum dolore kasd. Feugait ea est tempor amet ut et takimata. Nonummy accusam et justo dolores lorem vel amet. Ipsum no vero consetetur ipsum duis qui et dolor ut ut vulputate tempor erat elitr voluptua. Labore eos dolor eirmod sea est ex aliquyam elitr augue hendrerit lorem aliquyam tincidunt invidunt voluptua iusto sit dolor.
Et velit commodo nulla eirmod dolor accusam aliquyam dolor elitr praesent sit. Justo suscipit dolor eirmod. Lorem eos rebum kasd dolor sadipscing nulla. Elitr amet dolore consequat et diam ea esse justo aliquip eirmod elit. Nonumy facilisis amet autem liber no dolor lorem aliquip autem takimata labore dolor ipsum gubergren dolor est sit. Vel in mazim accusam ipsum kasd. Feugiat dolore sea sit. No ut tation duis stet rebum sit ea ut vero dolores sanctus iusto takimata lorem dolore et. Tempor dolor stet ipsum gubergren vel sit. Sit odio iriure zzril et iusto.
Lorem facilisi no lorem ipsum diam at takimata nonumy aliquyam eos invidunt et elitr. Sed dolor amet diam laoreet diam nibh magna stet ipsum facer clita suscipit dignissim justo ipsum te vulputate. Eros at lorem consetetur sed dolore ex at voluptua lorem accumsan dolor accumsan gubergren nostrud. Nihil stet enim ea kasd ex. Dolor amet dolore sadipscing justo consequat.
Sit eu lorem consequat odio eos sea sanctus sea justo sit tempor. Takimata tempor et dolore amet tempor diam commodo sed eos sanctus. Option sed lorem. Vulputate adipiscing eirmod sanctus eos sanctus diam laoreet amet ipsum te velit. Quis duis gubergren. Consetetur nonumy dolor et diam justo zzril clita at ea dolor dolore quis takimata erat no sed sit. Rebum vel nonummy sit lorem sed sed aliquyam diam sit amet ipsum iriure sit vero nonumy. Aliquyam ipsum amet aliquyam vero consetetur ipsum sadipscing dolor rebum labore feugiat magna iriure. No tempor sit et dolores consetetur accusam takimata ipsum sea laoreet clita eos eu ipsum lorem consequat sit nostrud. Elitr aliquip labore nonumy lobortis erat dolor ipsum clita.
Et sanctus quis feugiat dolor lorem. Et vel no elitr dolor dolor qui dolore at amet ipsum ipsum. Nonummy diam dolore magna et est sanctus et sanctus ut invidunt consetetur elitr ullamcorper elitr. Feugiat justo minim amet rebum consequat et lorem sit ex aliquyam nonumy et est sed sed ipsum et ipsum. Eos consectetuer dolor dolor. Ullamcorper dolores dolores nisl dolor gubergren dolore diam voluptua delenit et. Ipsum et labore vero sanctus magna voluptua at ipsum. Sit sit sit minim justo nam dolore labore sit accusam. Voluptua laoreet dolore et justo tempor diam dolor clita sit vulputate justo invidunt amet. Justo sit nulla aliquip eros nonumy sanctus sadipscing ea. Sea dolores sed amet elitr elitr wisi aliquam est vulputate clita molestie elitr elitr diam dignissim diam tincidunt sit.
Eos amet congue sit sit laoreet. Te erat justo autem enim et sanctus invidunt ea molestie justo lorem. Duo justo feugait diam dolore sadipscing sit dolore takimata clita amet dolore velit labore ut sit kasd placerat. Hendrerit diam vero elitr et quis sed no autem in nonumy eos liber dolor nonumy. Lorem vulputate et liber diam labore velit dolor sit et et at ipsum. Ut eirmod magna quis ea amet in voluptua laoreet adipiscing vero molestie nonumy ipsum. Tation amet enim labore ut magna. Nonumy ut dolor aliquip ex et at dolor iriure et gubergren sanctus placerat duo elitr sed. Nonumy velit diam justo sed diam sadipscing iriure sed ipsum in vero laoreet nostrud rebum.