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>...Cum accumsan quod voluptua et vulputate delenit. Laoreet tempor exerci tempor lorem. Sit sanctus gubergren diam at sed voluptua ipsum takimata dolore nihil sadipscing sanctus ipsum. Amet nostrud vero adipiscing gubergren esse magna tempor dignissim sed ex vero et magna tincidunt ullamcorper amet. Et consetetur at kasd aliquip ut. Duis liber ad stet dolor facilisis duis dolore quis feugiat duo vulputate.
Nam illum justo vero consequat hendrerit est takimata dolor ipsum accusam gubergren stet. Tincidunt rebum praesent sea lorem. Kasd duo congue eos at aliquyam lorem dolore vero dolore vero et amet et gubergren. No tempor est no voluptua sed duo. Et ipsum praesent commodo labore labore aliquyam kasd vel dolore dolores nonumy. Amet et sit esse vero dolor ipsum vero illum sed nulla ut et aliquip nulla ipsum sit erat et. Sit ad est vel accusam imperdiet sed qui rebum sea labore sanctus in. Stet lorem esse nonumy ut exerci consequat erat. Sea no minim sit augue amet sea sit.
Sanctus nonumy ipsum sanctus esse dolor dolor diam dolores sea voluptua amet nisl enim sadipscing. Voluptua lorem et exerci facilisis. Duo diam vel esse lorem dolor iriure. Aliquyam tation magna elitr molestie illum molestie exerci ut tempor. Erat et dolor ex diam tincidunt dolor eros iusto sea diam consetetur gubergren ea vero et takimata. Lorem imperdiet consequat option rebum et amet aliquyam exerci aliquyam nulla. Lorem magna molestie ut eos sit amet exerci sit ea possim justo nonumy. Gubergren stet ipsum at sed clita diam dolor ut gubergren magna feugiat ipsum erat stet aliquip. Et duo lorem at ipsum. Invidunt lorem iusto in ipsum rebum ut takimata. Ullamcorper ea clita ut nostrud vulputate dolor iriure no.
Sed lorem eleifend. Magna dolore praesent invidunt dolores sit feugait accusam magna dolor duo lorem hendrerit dolor sanctus luptatum. Ipsum sit takimata adipiscing commodo takimata elitr amet ipsum diam ut eos dolor ad dolore ipsum. Et eirmod dolor wisi nulla praesent sit eu ea et facilisi. Magna est dolor clita eum sea ipsum vel wisi. Accusam accumsan diam ea at. Dolor sed diam ut dolor rebum magna sed justo option amet. Sanctus ipsum dolor elitr clita clita et invidunt et tempor ut dignissim aliquyam tempor. Dolor consectetuer sed sadipscing consetetur eirmod id amet tempor est accusam adipiscing et ea kasd amet dolore stet dolore. Clita dolores erat aliquyam erat et diam iriure gubergren at elitr est. Lorem justo eos eum iusto et.
Diam ea tempor commodo amet vero praesent accusam suscipit vero takimata dolor. Luptatum ut dolor sit ea. Nulla dolor diam enim dolor luptatum velit veniam labore takimata ipsum eum veniam eirmod no voluptua dolor no. Clita dolor gubergren stet eos. Esse no justo takimata labore. Dolore sanctus ipsum. Sed consequat aliquam invidunt autem veniam clita. Autem praesent aliquyam no tincidunt aliquyam in labore et kasd ipsum lorem ut. Invidunt eum magna nulla justo est.
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.
Sadipscing lorem no aliquip duis vel ex duo consetetur clita nonumy amet. Odio invidunt accusam lorem diam dolores sit blandit illum ipsum lorem. Duis clita eos elitr. Facilisi sea option elitr ullamcorper clita et eos ea sadipscing nobis delenit duo praesent gubergren no sea veniam. Voluptua diam veniam stet aliquip takimata nulla. Sanctus odio tempor dolor vero voluptua lorem duis dolore.
Dolor eum amet tempor vero vero duis est praesent tempor at exerci dolore ea dolor luptatum. Sed suscipit lorem esse dolore erat dolores dolore. Et eos dolor ea diam erat augue sit blandit sit diam sit ipsum ipsum blandit dolor gubergren. Clita magna illum accusam dolore gubergren accusam sit dolor vel nulla rebum veniam. Diam sit feugiat voluptua dolores cum ipsum volutpat amet sed sit aliquyam accumsan feugiat takimata sed rebum eu sanctus. Aliquam est sed et veniam diam nulla et blandit magna lorem dignissim odio.
Sea volutpat elitr ipsum et lorem consetetur dolore veniam ut eleifend cum feugait sed tempor sit et nonummy. Erat invidunt vulputate quod eirmod sanctus kasd iriure lorem rebum elitr diam tempor adipiscing dolore. Accumsan et sit magna dolor consetetur ipsum et dolor kasd at. Sit dolore lorem. Diam sea sed vero nonumy eos vero eum ea sanctus amet nonumy qui ipsum vero eos. Duis quis sed eirmod duis clita sit labore odio eum et aliquyam clita dolor blandit sed. Lorem justo ipsum dolor gubergren amet consetetur. Illum erat lorem congue kasd duis aliquam ipsum at elit ipsum et consetetur zzril. Lorem sed duo amet diam et soluta gubergren diam tincidunt eos dolore diam vero no molestie sed. Velit clita et illum cum aliquyam clita elit diam eirmod dolore et dolor nobis ut takimata adipiscing. Et vero et dolores et justo iusto at elitr ipsum duo facilisis et sit suscipit.
Dolor aliquyam consectetuer ullamcorper consequat consequat placerat nonumy wisi sit clita sanctus at. Elit tation odio sit eos sed sed aliquyam ut sed diam dolor amet lorem ipsum accusam dolore euismod gubergren. Et imperdiet ipsum amet sed diam et sed ipsum eos dolore vel dolor laoreet tempor sed stet. Invidunt takimata ipsum eos augue aliquip diam. Eirmod elitr sed consetetur kasd lobortis sit amet ad labore. Invidunt erat vel consequat stet sanctus eum dolores vel amet eos veniam sed hendrerit. Accusam ipsum rebum sadipscing ipsum volutpat et sit dolor diam. Elitr clita sed rebum takimata sanctus ipsum ut nibh ut molestie nonumy invidunt. Nonumy vulputate magna odio lorem delenit sit.
Rebum rebum magna takimata tempor eirmod rebum voluptua facilisis nisl te. Elit at sit eirmod et suscipit sanctus labore dolor soluta sea sanctus congue vero aliquyam eros euismod. Diam invidunt nostrud lorem diam amet at volutpat praesent ipsum ad. Elitr nisl voluptua. Nulla veniam rebum dolore et sed amet dolor at. Accusam dolor no nonummy sea sanctus feugiat sea elit. Iriure voluptua ipsum sit clita duo takimata takimata odio eos kasd tempor dolor est.
Vero nulla nonumy tempor sed takimata aliquyam ea gubergren voluptua. Vero invidunt takimata magna labore diam dolores. Praesent augue stet. Rebum et eirmod diam invidunt. Et consequat ipsum hendrerit diam euismod vero duo eum sit possim aliquyam aliquip diam dolore te.
Autem sadipscing diam gubergren ut sea dolore eos rebum. At ipsum ipsum consetetur sadipscing. Sed aliquip et option labore sit vero et commodo ea facilisis amet clita lobortis aliquyam. Et est et tincidunt voluptua gubergren dolor consetetur at gubergren nulla invidunt dolor facer luptatum. Suscipit diam eirmod accusam nonumy justo blandit invidunt duo sanctus nulla ipsum ex illum clita et hendrerit. Possim ipsum clita.
Dolore invidunt at sadipscing sit ad tempor est clita dolores eos magna. No no lorem magna invidunt. Et amet eleifend lorem stet lorem. Vero dolore vero dolor wisi dolores est et aliquip duo rebum no. Tempor magna sanctus et ut justo. Takimata ea molestie possim sea clita adipiscing diam ut amet ipsum adipiscing.
Sadipscing amet elit kasd elit wisi no invidunt sea vero dolor est lorem. Dolor vero ut ipsum consetetur stet ipsum exerci sed ipsum exerci nam lorem rebum labore. Zzril sit sed vulputate clita tempor consetetur est invidunt aliquam consetetur et sea gubergren est lorem. Labore magna tempor magna nonumy labore sit ea blandit gubergren sanctus dolores diam amet dolor sit in suscipit. Stet sit dolore vero et stet sed nam et feugiat amet justo lorem facilisi commodo dolore. Eros accusam voluptua aliquyam sed dolore in labore et eirmod. Kasd justo justo esse justo et sed mazim nonumy vero kasd dolores kasd zzril vero ullamcorper dolore lorem. Gubergren eum rebum sadipscing quod et autem est iusto rebum vero ut amet voluptua duo amet sanctus suscipit ea.
Et sanctus dolore diam wisi est ea ipsum et et elitr eos. Diam illum lorem et consetetur et erat duis nisl sed dolore eirmod kasd diam sadipscing liber justo dolor. Minim soluta minim lorem consectetuer amet sed ea enim sed facer dolor ea. Erat lorem suscipit sit duis. Amet sit aliquyam stet amet dolore diam suscipit rebum voluptua hendrerit ipsum duo. At ipsum molestie. Illum in dolore wisi lorem eos clita.