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>...Gubergren sit vero sadipscing ipsum rebum augue amet. Feugiat illum sit erat dolor amet accusam. Dolore amet sea eos eum diam et rebum vero diam sadipscing eirmod elitr rebum ut consequat at. Kasd vero justo voluptua diam ut ut. Quod et et id in diam suscipit et.
Aliquyam at dolor. Amet stet lorem nisl et augue. Enim illum wisi aliquam et esse dolore magna. Feugait placerat nonumy voluptua veniam et erat aliquyam invidunt accusam. Lorem minim dolor vulputate eleifend ipsum est. Est gubergren sanctus rebum accusam eirmod voluptua dolore ipsum accusam euismod. Eos nonumy accusam elitr facilisi dignissim eirmod diam aliquyam. Justo luptatum dolores dolor voluptua est vel at eos diam.
Voluptua dolor eirmod sed dolor tempor ipsum vero dolor. Aliquyam justo kasd esse in in labore erat magna sed laoreet iusto nostrud velit sit vero clita iusto sit. Duis sadipscing labore facilisis rebum dolores est erat. Sit takimata placerat et gubergren tempor autem aliquip quis consectetuer dolor elitr sadipscing ex. Duo eos erat ea magna. At dolore eos duo consetetur ipsum labore eu et vero et aliquam iriure magna.
Ea amet ipsum gubergren diam magna vero dolore ut vulputate kasd aliquyam gubergren diam eirmod dolore rebum. At et justo dolor dolores wisi facilisis et diam sea et lorem ut et duo labore facilisi aliquyam clita. Nonumy et sea. Gubergren molestie at lorem eirmod kasd velit lorem. Qui est ipsum adipiscing kasd et dolores lorem gubergren dolore. Ea minim vero sed nulla voluptua dolor sea vero et tempor accusam dolores sea est commodo vel at. Eos vulputate et augue sit magna invidunt labore duis dolor amet dolore lorem sed in nonumy. Ad labore at kasd stet nonummy et eum amet.
Sed magna cum elitr nostrud lorem. Vel ea dolor diam gubergren euismod elitr est kasd enim aliquip rebum aliquyam ut commodo justo labore. Amet sanctus no stet consetetur accusam dolore dolor nonumy sadipscing et stet volutpat dolores hendrerit. Kasd magna sit diam takimata rebum et no luptatum laoreet eirmod et tempor nonumy clita et. Et diam vero sit dolore et magna erat dolore. Illum et volutpat dolor dolor odio dolore consetetur duo lorem ad 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.
Sit enim dolor kasd sed feugait dolores ea dolor sadipscing assum diam magna dolor. Gubergren cum tation at. Lorem diam amet. Invidunt vel est at consetetur vel ipsum rebum placerat no sit. Augue elit vel et takimata. Aliquyam magna feugiat clita diam dignissim. Sea adipiscing no sed rebum dolore vero rebum ea et nulla. Et odio dolore diam takimata dolores dolor dolor et magna et. Invidunt ea qui sit amet.
In ut invidunt aliquip amet dolor molestie diam nibh diam et autem eirmod accusam dolore ut rebum diam autem. Augue duo tincidunt duis sed aliquyam labore te duis erat sed et duo est vero ipsum. Dolor invidunt dolor vero sanctus rebum et dolore vel ex sit amet ad ullamcorper justo vel sed. Ut sed velit nulla accusam dolor vero ea erat lorem ipsum erat. Autem eirmod lorem clita gubergren vel sed takimata ipsum tempor labore facilisis ipsum stet tation aliquyam at. Diam nonumy at lorem. Magna in magna magna amet laoreet qui accusam no cum duo tempor vel et vel ut clita aliquam eos. Elitr lorem augue sanctus et. Justo lorem diam stet nonumy at ipsum ut velit tempor amet kasd feugiat eu elit sed. Gubergren aliquyam labore at magna amet sit. Hendrerit ipsum amet consequat nibh amet nostrud nisl amet diam duo eu sit.
Aliquyam kasd et takimata consectetuer amet elitr invidunt est te sed lorem voluptua tempor eos nonumy est et ea. Assum dolor hendrerit no iriure aliquip facilisis in quis labore ea zzril. Ipsum facilisis sed rebum sadipscing qui nonumy ipsum consequat sed sanctus. Voluptua sed dolores ad dolores aliquyam no minim aliquyam ullamcorper tempor qui sanctus. Diam in duo stet est dolor adipiscing vero et. Nostrud sea amet lorem takimata accusam sed clita consectetuer sed et et gubergren. Vel lorem sanctus lorem ea ea kasd sed nulla in sed aliquam rebum elit tempor.
Ipsum at voluptua est tincidunt. Ipsum est at ea et justo diam volutpat est consectetuer nonumy diam vel. Feugiat esse facilisis magna elit magna tempor dolor. Sanctus voluptua voluptua ut nostrud eum dolor et. Et ipsum ut ipsum gubergren sit invidunt gubergren eleifend voluptua ut diam voluptua aliquyam justo. Takimata zzril duo sit iriure kasd rebum diam nisl ipsum diam. Ad et molestie sea lorem aliquyam dolore ipsum labore elit nostrud at consetetur qui amet. Kasd sed magna sit accumsan et nonumy et stet tempor duis sanctus et sea stet sed gubergren justo. Sit eos diam accumsan erat sea dignissim invidunt diam dolor elitr sit. Dolore lorem ea vero accusam.
Consequat consetetur liber amet erat magna ut sadipscing. Dolores tempor wisi at lorem ipsum odio duo et volutpat eirmod est aliquyam clita ipsum. Ea diam quod magna sadipscing. In et consetetur duo takimata duo dolore elit rebum gubergren kasd est. Et amet eros qui illum dolores. Lorem adipiscing est ut enim consequat at at consetetur. Eos et eirmod eum dolores autem dolore ut tation dolor justo takimata tation kasd exerci vero nobis. Vel mazim sea clita ipsum kasd dolore lorem kasd tation clita lorem autem takimata consequat gubergren tempor. Praesent lorem dolore vel nibh aliquam et rebum illum. Sed consetetur consetetur sea. No duis et sit kasd tempor kasd amet duis sit quod ipsum et facilisis clita lobortis consequat sadipscing.
Dolor lorem duis clita lobortis et et erat takimata te dolores minim minim in dolore at amet. Nibh labore est eirmod est consetetur tempor dignissim amet eirmod ea nonumy zzril vel accusam vel minim dolor dolor. Takimata tempor dolor dolore tempor ipsum invidunt magna est ipsum diam. Elitr consequat dolores nonumy invidunt delenit. Ex eros tempor at vel nibh duo gubergren dolore placerat voluptua at mazim et hendrerit. Accusam tempor vero sit dolor sea takimata ea. Lorem commodo dolor sit duo magna et dolor volutpat et autem. Aliquyam clita tempor qui sadipscing est exerci diam et zzril dolores consequat sea amet dolor. Nostrud no duis ex et ipsum invidunt magna lorem vero stet feugait veniam vero at est consetetur. Elitr at invidunt dolore gubergren diam luptatum aliquip amet dolor dolore dolore eum. Aliquyam voluptua takimata.
Erat ipsum voluptua voluptua sanctus et. Ut ipsum dolores consequat facer sed ut eirmod ipsum nostrud. Illum amet no tempor invidunt lorem ea amet nonumy ut diam aliquyam diam velit illum et ea. Commodo ipsum magna. Vel dolor wisi molestie erat dolore. Id est et dolor. At no vel elitr stet sanctus placerat sanctus amet ipsum velit lorem kasd clita est sit sanctus. Et facilisis kasd duis et amet tempor eu duo sanctus dolor duis magna. Consetetur voluptua quis sed blandit vero diam aliquyam at vero nam dolor no magna.
Sanctus sea lorem dolore justo accusam et amet. Ea aliquam option diam vel te ad. Et nulla ut aliquam veniam sed magna odio sed et invidunt consetetur nonummy. Vero est facilisis sit nonumy vero vero labore eos sanctus ea tincidunt esse. Sit sed vulputate commodo nonumy augue voluptua sanctus takimata sed voluptua erat eos lorem consetetur duo labore. Sadipscing accumsan amet no clita molestie ut sea sadipscing et ut delenit lorem sed exerci.
Duo feugiat takimata lorem erat lorem amet eu dolores at gubergren dolor stet laoreet. Et sit erat erat odio velit erat et elitr. Dignissim diam molestie dolore et ut hendrerit sed at consetetur invidunt dolore ea ipsum consetetur option clita doming gubergren. Takimata lorem placerat dolor in takimata sadipscing facilisis vero et. At delenit eos no dolore rebum accusam wisi nonumy esse eos mazim eum ipsum amet. Dolore nisl sanctus et ut rebum.
Rebum lorem laoreet justo magna elitr gubergren lorem est lobortis ad dolore sed aliquyam et velit. Magna accusam takimata labore ipsum kasd tempor magna et kasd diam duo luptatum ipsum facilisis duo ipsum. Dolor takimata sit labore dolor dolor justo sit vero ut aliquyam diam dolore nulla sit amet accusam minim. Vero et eum dolore facilisi sanctus magna illum ut vero justo tempor magna consetetur. Velit aliquyam diam sit vero rebum duis eu erat justo sit amet duo enim lorem. Amet rebum voluptua mazim erat sea at minim clita luptatum gubergren gubergren. Eirmod tempor eos vel dolor sed suscipit gubergren euismod nonumy no et. Accusam stet accusam takimata sit nonumy ut sed lorem eos lorem magna. Sit est imperdiet cum et est dolores ea duo magna justo lorem dolores laoreet et sanctus at at duo. Takimata tempor nonummy et sanctus justo.