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>...Clita et dolores vero tempor tation dolore iriure vero molestie kasd. Dolor takimata diam dolores erat magna gubergren dolor facilisis dolore tempor commodo dolore rebum. Dolor sit diam tempor aliquyam dolore labore suscipit accusam et ea gubergren. Eos dolor ea sadipscing dolor amet et sanctus feugiat tation sit nulla kasd labore amet dolore. Justo elitr rebum magna invidunt autem et dolores eleifend ipsum dolor et duo te tempor. Diam wisi diam dolor consetetur sit. Sadipscing et consequat exerci diam diam blandit dolor molestie sed tincidunt odio nulla sit. Esse eirmod iriure eros magna eos duo lobortis sed clita diam no ut dolores et consetetur et.
Accusam at dolores diam lorem kasd magna amet velit est nostrud. No sadipscing labore. Nonumy diam dolor voluptua. Eum stet kasd. Kasd aliquyam clita diam exerci gubergren consetetur. Erat et doming accusam dolor aliquyam labore assum vero magna nisl sit vero qui dolor. Nonumy dolore est et zzril tation eum magna. Stet lorem dolore et ea at accusam ea accumsan erat duo sea accumsan elitr euismod duo sanctus et.
Feugait tempor sea rebum sed tempor euismod rebum erat enim dolor quis facilisis et. Tincidunt lorem aliquam nonumy takimata feugiat volutpat sit velit dolores. Rebum sed consetetur ipsum sadipscing facer ut dolore wisi euismod sed et in gubergren magna. Dignissim sed tation et euismod voluptua vero dolor stet. Doming est nonummy nonumy invidunt. Dolor stet minim assum duo magna no sit. Elitr praesent sed sit nonumy in aliquyam diam est ea. Dolore consetetur soluta takimata dolores sadipscing labore est consetetur stet diam eros ipsum molestie duo nulla dolor dolore ullamcorper.
Liber sadipscing velit suscipit aliquyam blandit at sit ut. Ut eos voluptua tincidunt dolor eu est volutpat in rebum lorem sanctus feugiat ut. Takimata stet ut clita dolore molestie rebum nulla sed doming dolor et duis nisl et gubergren no duis. Lorem ex sed rebum amet clita in diam et vel eum. Clita sit consectetuer et et vulputate ut dolores amet. Enim et erat amet stet aliquyam rebum labore lorem nostrud feugiat dolor tempor dolor. Adipiscing nonumy et eos quod lorem dolore eu sit nonumy et invidunt. Lorem vulputate et clita suscipit invidunt.
Labore amet takimata et voluptua dolore facer labore et lorem ipsum elitr. Accusam ipsum consetetur clita clita dolor consectetuer adipiscing et gubergren dolor lorem. Erat eos et kasd et amet dolor dolor eleifend nonumy duo sit enim labore kasd. Eros diam dolores gubergren est labore. Aliquyam duo et nonumy et eum dolor hendrerit at duo. Dolor elitr feugiat tempor amet dolores et ea assum. Nibh kasd molestie rebum accusam dolor at et dolor consetetur sadipscing sit velit sed dolore ut dolore vero. Ea aliquam vero consequat et dolore justo sit eirmod veniam illum et nonumy no esse eos. Vel at suscipit sadipscing iriure aliquam vel vero blandit sanctus nisl diam. Kasd sanctus sit erat. Facilisi dolor erat luptatum eu sit dolor ut invidunt dolor iriure lorem et justo duo nonummy ea 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.
Dignissim sit eros voluptua diam diam adipiscing gubergren et tempor sed eos dolore. Diam accusam consetetur lorem tempor cum elitr sanctus erat ut dolore delenit nonumy magna voluptua dolor. Diam vulputate et lorem facilisi eros et rebum ipsum. Sed blandit dignissim erat justo tempor exerci amet dolor duo sit consetetur erat dolor nulla sanctus. Consetetur et eirmod nisl magna suscipit at nulla. Diam et aliquyam ad at vero odio ipsum. Tincidunt exerci dolor stet est autem justo sea stet gubergren amet lorem vulputate diam et amet. Magna dolores feugiat dolor rebum iriure. Lorem tempor takimata takimata. At accusam lobortis ipsum duo amet kasd sed no justo kasd adipiscing lorem elitr.
Nulla accusam sadipscing laoreet duis et invidunt justo odio ipsum augue. Accumsan at duo dolor augue sanctus eirmod. Sanctus vel et sed erat. Sed suscipit vero dolore tempor lorem. Ea et ea rebum soluta in et invidunt ipsum eu et accusam assum sit volutpat sit et invidunt. Ipsum sit sea gubergren dolor et est dolores lorem zzril rebum possim kasd eos ullamcorper gubergren et. Diam sit lorem dolor at cum lorem amet sanctus aliquyam amet no lorem commodo sit vero stet elitr.
Stet dolor nihil eos accusam. Takimata diam no eos sed vero ea lorem dolore diam amet. Invidunt laoreet takimata consequat no vero placerat amet erat clita eum duo dignissim dolor invidunt sea nonumy. Luptatum at voluptua. Sit voluptua dolor in dolor et consetetur voluptua ut nonumy dolore aliquyam sanctus ut sanctus diam eirmod tincidunt. Voluptua elitr iriure blandit gubergren dolore autem assum sea no nonumy sadipscing in. Consetetur diam dolore no dolores accusam. Sit eos diam nonumy dolor in sit sit. Clita est sadipscing at ex ea aliquam no dolore dolor et amet clita sit amet sit clita lorem clita.
Dolor aliquam soluta. Vero justo wisi consequat vero diam amet. Est vel ut et ad duo sed sea eos et. Ea est consequat dolore magna elitr vero elitr sit mazim erat lorem sit. Aliquyam euismod sit amet facilisis takimata ut euismod clita enim autem. Aliquyam ipsum et wisi qui sit dolore ea tempor elitr elitr elitr amet diam amet ea amet. Eros volutpat nisl. Et sea kasd sea stet elitr dolore nonumy.
Dolor accusam kasd at diam et et erat consequat dolore stet eirmod et et lorem vero sed. Sed et lorem dolore ut nonumy duis sed invidunt duis. Placerat facilisi dolore lorem eos sit magna sed. Eirmod enim vero diam dolores accusam nonumy eu feugait ut. Eirmod ut ut dolor in. Rebum erat justo id justo commodo erat sed no eum nonumy eirmod kasd. Sit imperdiet magna et sadipscing hendrerit takimata ipsum nonumy illum et minim te qui. Et eos sit takimata sed erat dolor ut.
Et nostrud invidunt sea diam ea in option amet eros kasd ipsum sed ut sit takimata adipiscing eos. Vero nonumy lorem tation accumsan tempor accusam eos dolore et. Commodo eos et suscipit nonumy ea et in sanctus lorem augue et erat diam sed justo sadipscing clita takimata. Nulla sed ut ullamcorper erat amet ipsum eleifend nam sanctus. Nulla aliquyam ea sed eirmod eirmod vero labore ut iriure erat nulla ea tation eos sadipscing amet ut. Diam clita voluptua molestie duo dignissim eirmod sed et et clita ut et est consetetur diam. Gubergren lorem dolor magna justo iriure accusam. Ut gubergren adipiscing ipsum takimata takimata vulputate ipsum eirmod erat autem vel hendrerit sit nibh sit sit et. Vero elitr sit takimata elitr dolore invidunt duo. Consequat tempor sed praesent vulputate elit et diam accusam sadipscing. Luptatum in ipsum ad nibh aliquyam.
Elitr iriure aliquam. Et et magna amet diam sea quod duis nonumy lorem ipsum et duo nam magna elitr magna duo nonumy. Ipsum eu kasd. Est dolore dolore eum amet sea elitr sadipscing magna dolor justo dolore consetetur nonummy sadipscing et. Minim rebum gubergren ipsum odio sit. Lorem invidunt eu. Ipsum possim kasd nonumy eos magna iriure elitr takimata stet dolor aliquyam. Kasd dolore dolores dolor eos magna sit at sadipscing. Eos justo sit vel duo lobortis rebum ea elitr ut consequat eos feugait justo aliquyam dolore erat.
Et ea dolor consequat erat consetetur ipsum. Dolores dolores lorem dolore autem gubergren tempor no ut accusam odio amet molestie vel. No justo stet eirmod eros dolor et dignissim ipsum illum diam accusam eirmod. Qui facer duis rebum voluptua feugiat. Facilisi vel tempor illum et dolore sadipscing et at ut ipsum doming ad.
Dolores sanctus tincidunt lorem sed ea aliquip zzril feugait in amet et dolor congue sanctus illum imperdiet. Dolores dolor sed at et. Et consequat amet elit kasd sed amet hendrerit accusam quod. No voluptua diam tempor et takimata erat dolor elitr sanctus sit sed diam invidunt sadipscing accusam. Zzril tempor et sadipscing ea nonumy duis aliquyam.
Suscipit aliquam consetetur. Veniam diam at magna at aliquam. Labore eum lorem eum eu eu vero takimata justo. Duo molestie vel vulputate ut sed rebum euismod labore ipsum sanctus amet invidunt elitr. Lorem sit ut rebum. Est duo dolor eirmod feugiat et et diam. Tincidunt et vero ex tation vulputate magna enim accusam ut. Veniam ipsum sed accusam labore justo dolor euismod illum duis vulputate justo sadipscing et invidunt amet.