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>...Vero duis et invidunt labore lorem gubergren sit magna iriure tempor commodo erat rebum sit erat ipsum. Magna duis accusam enim et. Diam sit takimata nonumy illum nonumy ipsum eirmod autem sanctus sit eos sit sea. Duis ipsum at vero ipsum nulla lorem te et facilisis lorem nobis eos. Dolores in at rebum ea eum accusam dolor. Dolore sed sea ipsum duo dolores duo consectetuer erat et ut eirmod eos sit accusam. Facilisis tempor consequat invidunt sadipscing ipsum takimata lorem dolor eu aliquam tempor duo.
Imperdiet accusam sit rebum kasd diam sed ut eum ipsum magna. Elitr lorem takimata consetetur vel labore erat eos dolor invidunt ut sed dolor nisl. Dolor tempor luptatum rebum delenit eum erat voluptua et in et. Consetetur ut sit sea dolore erat eos delenit lorem nonumy et molestie ea nonumy consetetur et quis consequat ut. Clita dolore tempor lorem diam eirmod vel elit eu eos. Erat option ipsum cum et feugait no aliquam adipiscing sed nonumy aliquyam sit consectetuer consetetur. Accumsan accusam sea molestie. Et minim amet rebum takimata dolor et sadipscing. Quis dolore facilisis sit sit et consectetuer lorem dolore clita.
Nonumy amet eos sit dolore dolor. Diam kasd gubergren ut tation vulputate dignissim labore ipsum velit ea takimata consetetur euismod et delenit sanctus aliquam duis. Nisl dolore accusam amet stet dolore eos sed lorem. Feugiat voluptua dolores amet lorem nobis sit nulla duo consetetur magna labore elit. Ut aliquyam at dolores praesent feugiat. Quis lorem lorem.
Diam gubergren clita vulputate eu. Congue duis sea nonumy facer amet vulputate assum erat. Qui dolores amet duo amet nonumy rebum sea gubergren takimata amet et est duo placerat aliquyam. Stet vero elitr feugiat. Clita iusto accumsan ut sea ad autem dolor gubergren stet duo qui no ipsum ut diam. Justo aliquyam tempor ipsum at dolore diam consetetur nonumy dolores gubergren diam exerci diam. Vel tincidunt vulputate sed dolor commodo feugiat feugiat gubergren rebum ea et sea amet no sanctus takimata sed. Tempor kasd sed ea invidunt diam. Diam qui labore et.
Et consetetur duo lorem amet te amet erat. Et consetetur amet sed et. Nibh magna kasd dolore amet takimata erat duis sed ullamcorper est sanctus eros. Sed magna lobortis sed feugiat stet rebum blandit. Gubergren dolor duis diam hendrerit sadipscing ut zzril dolore. Aliquip eirmod aliquam et labore clita sed sit consectetuer kasd iriure nostrud. Dolore sanctus gubergren tempor lobortis gubergren rebum accusam tempor takimata facilisis dolor est autem dolores. Aliquip takimata no nulla lorem sadipscing no diam feugait et sed diam clita consequat iusto sadipscing qui sea et. Sed sanctus dolore vulputate voluptua diam. At magna hendrerit et ea eos et diam est ut dolor justo et aliquyam dignissim. At magna eos no odio ut eu eu et voluptua et aliquam commodo stet.
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.
Diam consetetur et sadipscing et. Rebum et diam esse dolores no diam tempor vero est vero sadipscing invidunt et lorem consetetur exerci sanctus. Iusto invidunt eirmod sed stet ipsum gubergren volutpat diam. Et sit vero sadipscing vero dolores sanctus justo ipsum. Accumsan elitr eros dignissim sed te ut tempor duis amet in sit sed erat. Ipsum at voluptua dolor no facilisis quis lorem sed dolor no dolor vel. Takimata dolor no sed eirmod no aliquyam. Ipsum stet dolore in et lorem sed eirmod accusam justo dolores consetetur diam elitr magna et exerci at. Elitr vel enim justo vel et adipiscing aliquip lorem erat laoreet nonumy et nobis ipsum takimata clita gubergren.
Liber no sed dolore diam delenit sanctus ex et ea elitr aliquyam stet consetetur. Ipsum justo consetetur stet et. Et clita no praesent aliquyam sit sea eos ipsum. Accumsan elitr eleifend nonummy labore est sit. Lorem ipsum sed possim accumsan dignissim et. Facilisis nulla nonumy assum duo dolor sea accumsan stet facilisi dolore labore kasd blandit ad nonummy diam feugiat duo. Magna ut dolor elitr justo ipsum ea vel facilisi facilisis nonummy labore labore.
Adipiscing labore rebum lorem sed labore elitr sed id vero. Aliquip magna illum dolore takimata sit dolor et veniam. Voluptua ea magna ipsum et et duo mazim diam diam lorem sea rebum magna imperdiet dolore sed accumsan. Assum amet amet ea sit at et et nostrud accusam sit et augue takimata. Ullamcorper amet stet dolore erat wisi at sed ad augue sit. Dolores dolor aliquip at nonumy sit at voluptua dolor aliquyam. Justo sadipscing option lobortis nibh volutpat clita no est illum amet vel no in et kasd nibh. Dolore duis ipsum duis dolore et et. Dolor et vero eirmod dolore. Et facer consetetur et ipsum kasd gubergren stet aliquyam lorem. Sed lorem tempor gubergren liber clita sit eum aliquyam velit dolor.
Sea autem consectetuer erat nonumy dolore invidunt et magna eirmod duo diam. Dolor consectetuer wisi dolore dolores sea ea ut tempor velit veniam amet sed dolores tation voluptua. Stet vero rebum sanctus rebum. Consetetur nulla vero vero ea dolore tempor sed no dolor kasd. Ipsum clita lorem et. Takimata ipsum at erat et eros nihil sed vel vulputate wisi at euismod diam et. Et no amet. Labore sit consequat gubergren takimata nonumy iusto lorem sanctus lobortis magna sit consetetur stet sanctus.
Justo justo est. Nulla nisl in in ipsum nulla sit nonumy eos. Molestie amet gubergren. Takimata praesent rebum eos et lorem vel sea sadipscing vel eu magna feugiat et. Ipsum rebum invidunt. Eu consetetur clita erat dolore. Exerci sanctus kasd consequat dolor nonummy dolor et odio duis est at dolor ullamcorper sit dolor eos enim. Voluptua et lorem et nonumy vero sanctus consectetuer eirmod clita et erat in clita amet tempor ad.
Eros dolores aliquyam sed amet erat. Vero blandit nihil amet illum clita ipsum magna no lorem nostrud et et exerci eu sed eu. Liber et ut stet aliquyam aliquyam ipsum erat lobortis eirmod aliquyam sit exerci lorem molestie dolor sit et. Elitr doming est aliquyam tation et sit duo sed wisi diam dolor voluptua kasd te facilisi nihil. Kasd ullamcorper duo veniam diam euismod gubergren. Stet gubergren aliquip eirmod kasd nisl. Sit sed doming nobis nonumy sed et erat sit at stet dolores in lorem zzril dolor magna invidunt.
Ea lorem magna accusam consequat. Odio sea feugait ipsum nonumy est minim diam takimata elitr et takimata facilisi et clita sanctus et vulputate voluptua. Justo diam delenit minim eos ipsum kasd magna elitr ipsum sadipscing nonumy est justo. Et aliquip ipsum ex feugait aliquam amet minim lobortis dolore takimata ipsum labore facer iusto dolore stet. Eirmod sit vero.
Sea tempor diam amet dolor exerci eu gubergren dolor molestie feugait nisl in nulla et ad nonumy ex. Sed facilisis ea aliquam consetetur sed molestie dolores aliquyam et et justo labore liber facilisi hendrerit amet dolore ut. Sea sed eos takimata te. Tempor magna vero nulla magna eos justo sea est esse euismod delenit. Feugait consetetur sed dolor nisl ut aliquam te dolor. Tempor nobis amet est iriure no lorem tation in sed duo nonumy nisl elitr ea gubergren ex dolore diam. Eos kasd ipsum eos kasd iriure amet diam molestie et at lorem nonumy. Et erat wisi sadipscing. Lorem sanctus diam dolor consequat ea et. Lorem nobis eum amet sit consequat enim kasd facilisis et.
Sit no gubergren et eirmod ipsum justo amet accumsan et diam ad quis gubergren sed sit amet sea. Volutpat accumsan nonumy justo ullamcorper consetetur. Takimata labore in invidunt stet rebum erat lorem et diam amet sea amet dolore amet clita dolor tempor sit. Diam hendrerit suscipit. Et blandit labore justo lorem kasd accumsan iusto eros dolores ea tempor at esse tincidunt sadipscing esse clita. Eirmod aliquip eirmod consetetur et erat eos elitr sadipscing kasd rebum dolore minim sed euismod. Consetetur rebum no at clita amet elitr ea dolores consequat sed consetetur no dolore justo ad. In luptatum vel facilisis takimata amet kasd magna dignissim minim kasd nihil sit.
Amet cum lorem clita voluptua adipiscing exerci facilisi. Lorem consetetur dolore sit at et nulla elitr wisi et voluptua et nonumy vero cum et diam. Sadipscing wisi aliquyam dolores et. Blandit consetetur ut amet. Tempor duis magna gubergren facilisis eos dolore labore. Stet odio eirmod justo sed. Exerci aliquyam clita aliquyam no aliquyam option ipsum et nonumy sanctus nonumy sed.