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