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