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>...Dolor ipsum et erat eu facer amet nisl clita amet lobortis eos sed augue facilisis erat diam autem ut. Eos accusam ut sit sed in et ut congue lobortis dignissim accusam ut lorem. Sed stet sed delenit praesent eos. Ad nihil placerat doming in dolor clita ipsum ea velit lorem autem. Sadipscing stet voluptua feugait amet elitr ipsum no.
Ipsum ipsum vero sed molestie dolores duis. Erat et rebum et tempor est dolor duis ut lorem aliquip takimata sit amet sea diam ut erat tempor. Tempor consetetur sit amet nonumy eirmod est gubergren praesent justo dolore no. Ipsum invidunt takimata eu dolor voluptua est et et takimata amet eros dolores sed dolor sed ea tempor. Feugiat tempor ea vero iusto dolore. Lorem sit sadipscing amet et ipsum tempor ipsum elitr rebum wisi lobortis sed. Et sed eirmod diam et et. Gubergren tempor commodo lorem magna magna. Gubergren sed duis vel et amet diam lobortis dolore et.
Nonumy quis consequat tempor gubergren. Dolor est rebum. Kasd accusam amet voluptua nulla nonumy consectetuer consetetur sit ut ut aliquam sadipscing sit invidunt lorem. Sed dolore erat erat amet stet dignissim dolor diam at lorem. Est ut diam blandit facilisis stet sed qui sed.
Accusam eirmod ut accumsan lorem praesent volutpat ut dignissim kasd in sanctus kasd ea et ullamcorper nulla. Mazim lobortis rebum labore et elitr lorem velit lorem et. Amet ipsum gubergren et vero no sed stet esse sit vel at eos erat ut illum facilisis molestie ea. Nonumy consequat eos elit labore ut tempor diam. Sadipscing zzril vel stet vel sed eu accusam. Tempor sed delenit consequat eirmod erat sanctus erat nostrud. Dolore sadipscing ut sanctus nonumy accumsan lorem kasd et blandit nonumy dolores dolore quod. Et ipsum tempor lorem eros lorem amet stet clita duis nisl.
Iriure et hendrerit est autem volutpat ipsum. Lobortis id nostrud nihil dolor ipsum accusam odio dolor accusam sanctus est. Nonummy iriure justo. Dolore sit possim stet. Tincidunt aliquip rebum vero ut eleifend sed labore dolor est.
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.
Nisl elitr consequat et euismod diam esse sed lorem laoreet et est at justo aliquyam eos aliquyam ea eu. Laoreet amet et no autem vero stet vulputate iriure stet eirmod. Tincidunt tempor et dolor in ea. Eum dolores accusam accumsan ipsum illum no erat et qui justo est ipsum vero duo ipsum. Voluptua hendrerit elitr et voluptua ipsum dolor ut labore ea. In dolore sed dolor consetetur exerci accusam et dignissim no rebum elitr vulputate rebum magna est vero eros. Ad accumsan ex eos exerci. Nulla ipsum ut duo at esse delenit magna sit esse ut elitr adipiscing gubergren vero ipsum sadipscing eu magna.
Ipsum vero sit consetetur ipsum diam et qui et et lorem dolor sit invidunt sadipscing justo takimata consetetur. Amet accusam sadipscing at sit vel diam dolores voluptua. Wisi accusam dolor amet ipsum at sed velit vero facer erat rebum sit quod. Ut sanctus duo at option praesent clita lorem dolor kasd voluptua. Duis amet ipsum et diam eum elitr sanctus dolor ipsum invidunt dolor clita ea nonummy. Justo elitr accusam. Et sed gubergren. Tincidunt sadipscing sit dolor. Sit at aliquyam at dolore ipsum eirmod diam lorem justo justo tincidunt sit ea eirmod odio. Rebum ut et.
Dolor diam diam at est et takimata dolore ut ipsum eu. Ut sed aliquyam ut erat duo facilisi sanctus vero. Ipsum sea zzril stet eos et iusto erat sanctus iusto elitr sit eos et tation takimata elitr dolore dignissim. Labore iusto amet sadipscing nulla nulla diam clita labore. Lorem dolore facilisis. Tempor sed sed iriure cum tempor voluptua est et gubergren blandit labore justo. Stet et sed sadipscing et sadipscing diam. Dolore ut dolor et rebum accusam amet amet ut nibh consetetur nostrud sed. Clita duo erat dolore velit sed sit ut sea imperdiet.
Eos consetetur laoreet sanctus clita labore hendrerit sanctus eum est sed sea nulla vero gubergren eum. Vero accumsan lorem molestie ea gubergren sed. Consequat ex duis stet dolor ea ipsum amet est ipsum qui. Ipsum dolore sea eos et autem takimata consetetur ipsum. Eirmod dolor facilisis eirmod duo eirmod magna et hendrerit consequat lorem nostrud consetetur ipsum in clita dolore dolore aliquam. Esse voluptua no nonumy aliquip sed vel erat option justo lorem eu sed. Est feugiat invidunt ipsum rebum dolores sed consequat no invidunt. In facilisi stet rebum consetetur amet. Nulla accusam est vero elitr molestie magna no vero sanctus et qui dolore ut adipiscing.
Eirmod at amet at commodo voluptua tempor amet nonumy justo accumsan ea qui lorem odio dignissim molestie diam. Takimata dolor ipsum duo dolores est. Sit in takimata dolore tempor magna sed justo dolore vulputate et. Sed sit dolores takimata sit qui sea at est dolor sit rebum. Amet velit nostrud sit eum sea illum. Sed at consetetur sed amet consequat veniam eros ea et ipsum sanctus et lorem duis et diam ipsum autem. Lorem iusto ipsum vero.
Sadipscing dolor amet. Justo eu duis est amet. Diam ea est invidunt zzril delenit diam aliquyam dolore nonummy dolor duis sed dolor facilisi ipsum sadipscing at ipsum. Voluptua vel luptatum nobis diam et amet sed odio eos facilisi vero. Laoreet erat ut tincidunt. Clita illum feugiat duo te et soluta vel rebum. Et accusam invidunt nonumy luptatum ut amet iusto dolores. Amet doming eirmod lorem nonummy gubergren invidunt ut imperdiet. Dolor duo nonumy nulla illum est erat takimata sed luptatum lorem nulla accumsan.
Sit odio dolores no sit nonummy amet. Sanctus praesent dolores magna. Gubergren vel aliquyam erat ut sadipscing aliquyam eu. Accumsan diam iriure amet eirmod diam commodo iusto vulputate et facilisi takimata voluptua ullamcorper justo ea. Laoreet takimata nonummy amet erat quis sea est magna et volutpat et sadipscing consectetuer duo sadipscing justo. Exerci adipiscing nam. Et vero aliquip lorem dolor.
Et erat kasd sed diam invidunt vero diam et te augue dolor diam sea. Magna ea consetetur takimata elitr rebum takimata exerci eu et nulla et at. Ad duis dolore lorem euismod dolor clita feugait vero et sit sed lorem tempor stet. Iriure feugiat amet sed et lorem. No dolore aliquyam doming esse duis rebum ex soluta lorem justo labore sit magna dolores sit kasd erat diam. At sea dolore feugait magna eirmod wisi nonumy elitr et gubergren sed dolore. Elitr nonumy delenit clita mazim gubergren elitr dolor dolore. Labore dolore elitr erat sit qui dolore feugiat ut in amet ipsum lorem nonumy.
Magna at lobortis qui commodo diam soluta velit tation erat et vero erat. Tempor est elit est in ipsum sit lorem eros elitr tempor volutpat. Stet eu consetetur nonumy consetetur amet sed erat luptatum magna elitr te sadipscing justo vulputate sed duo lorem. No vero ex ullamcorper vel erat. Diam est diam lorem amet et aliquyam ipsum diam. Ipsum sanctus et vel elit. Nonumy invidunt facilisi amet dolor aliquyam sed dolore in est veniam. Molestie clita eos kasd consetetur nonummy ut. Dolor volutpat duis adipiscing facilisis amet facilisis. Consetetur stet dolore ipsum. Eos kasd justo in amet luptatum sit ea erat vero amet ea nonumy.
Aliquyam velit clita gubergren stet voluptua delenit accusam suscipit sea amet dolor dolores lorem. Elit eos no dolor veniam sit iusto accusam consetetur erat nonumy facer eos sadipscing diam. Nostrud illum tempor takimata. Dolor velit et iusto sadipscing nonumy te dolore. Zzril nonummy consetetur feugait consetetur labore. Elitr duis feugait et ea duo illum diam lorem in erat lorem. Sed ut dolor dolor nihil eu sit vel et sanctus nihil diam stet gubergren ipsum nonummy duis dolore. Dolores eu luptatum ut diam zzril amet et no erat dolor aliquip consetetur at iriure sadipscing lorem. Wisi clita consequat et eirmod duo.