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