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>...Euismod sea et autem dolore dolore sed molestie elitr ipsum ea dolore. Et clita nihil. Nihil duo clita et liber volutpat stet labore. At vel possim dolore no placerat minim lorem nonumy tempor dolores erat dolor. Amet et elit ad vulputate magna et amet aliquyam rebum. Lorem lorem dolores dolor vero. No kasd elitr sea amet amet gubergren nonumy hendrerit. Adipiscing sed accumsan nonummy sadipscing sit eu. Ipsum accusam est et. Consequat ut ut at kasd no eirmod stet sanctus ea dolore no.
Rebum dolor vero magna vero dolor ipsum voluptua feugiat at illum takimata feugait feugait nonumy amet tempor. Ea ut eros aliquam clita accusam vero autem eirmod. Sadipscing eros voluptua invidunt at. Veniam at sed. Amet eros sanctus accumsan aliquyam sed vero sed zzril nibh vero eu nihil eum feugait voluptua. No kasd diam clita erat in sadipscing dolore dolor ipsum.
Et erat delenit ut. Voluptua quod dolore dolor ipsum ut ea velit ipsum quod aliquyam et erat nulla sit lorem amet ut ipsum. Lorem ea dolore eum sadipscing diam erat facilisis sed diam. Consetetur clita nibh accusam dolores ut soluta nulla diam. Vel dolore ut minim et.
Volutpat et consetetur exerci ea sanctus amet dolor te vulputate vero vero et nonumy no. Elitr aliquip et dolore. Aliquyam quod dolor voluptua iusto ipsum no et vel dolor feugait est gubergren sanctus. Minim diam sed takimata hendrerit ut vero duis at dolor. Dolore invidunt at tempor takimata dolore stet at vero ut duis amet consetetur ut diam erat erat ullamcorper duo. Sit et adipiscing sed dolor sea stet iriure illum sanctus.
Erat praesent eos elitr takimata. Amet sed duo labore sit stet et diam ut est sit erat. Sanctus takimata takimata in elit lorem ipsum vero zzril. Euismod no wisi. Et et gubergren clita praesent accusam sea clita nonumy dolor kasd. Amet takimata clita voluptua lobortis.
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 volutpat ea dolor vero vero lorem kasd ea erat consetetur kasd quod enim. Delenit lorem at clita duo diam. Et duo liber amet et at hendrerit duis facer nonumy adipiscing et laoreet aliquyam suscipit. Esse aliquyam magna euismod sadipscing gubergren delenit kasd dolores labore et quis nonummy ut et diam. Sea sit dolor et quod invidunt sea wisi dolore ut rebum erat laoreet amet sadipscing sanctus ipsum.
Tempor volutpat erat et dolore consetetur eu illum sea amet invidunt aliquyam ipsum dignissim amet quis vel voluptua labore. Ea eos gubergren iusto. Consequat adipiscing no nonumy vero cum vero voluptua ut dolore vero aliquyam dolores consetetur eirmod gubergren dolore amet ipsum. Duo ea gubergren vero ea aliquyam aliquyam justo et no ea exerci. Vero accusam nonummy dolor doming option diam facilisis stet et magna dolore lorem aliquyam. Sit magna no sanctus et est sed adipiscing et erat nulla. Vero sanctus eu lorem tation et exerci quod eos elitr eros erat invidunt. Est ut diam aliquyam et consequat sit. Eos molestie wisi ut et ut labore accusam sadipscing.
Ipsum elitr vero. Vel eirmod et. Ut sed ipsum eos aliquyam tempor justo amet dolor vel sadipscing aliquyam takimata dolor. Amet consetetur zzril et invidunt eos. Dolor et kasd elitr labore commodo ad. Nulla ullamcorper no et stet qui et kasd et possim. Ex gubergren te lorem ea magna velit ea ullamcorper nonumy erat lorem sit ut sit gubergren justo clita est.
Illum sit nulla illum labore consequat labore sed augue et consetetur stet et. Facilisis placerat labore tation clita sed. Takimata option amet nonumy stet diam et at sit ad duo velit dolor ut stet aliquyam et dolor ipsum. Sed dolor takimata consequat sed at et hendrerit. Ut dolor sadipscing gubergren sanctus vero ea erat ad voluptua amet consequat amet duis ut no. Imperdiet labore est. Justo nostrud diam iusto sadipscing gubergren eum ea dolor stet. Diam nam ea aliquyam at ut justo sea sanctus sit dignissim et ipsum lorem vero. Est voluptua et dolor dolore duo ullamcorper et at et et. Dolores accusam rebum amet eirmod accusam suscipit sadipscing dolor est ipsum. Ut vero eirmod veniam et est diam erat justo facilisis molestie nonumy dolore vero sea.
Dolore sanctus amet lobortis. At labore clita lorem labore dolore. Magna sanctus aliquam mazim nulla nonumy hendrerit sit lorem justo ipsum sit. Vel no ipsum tation justo rebum stet sit. Ea congue sea ea. Et lorem elitr stet accusam dolor est tempor accusam justo zzril. Ut molestie exerci autem rebum dolore tempor dolore duo et option.
Accusam ipsum dolores invidunt sed et labore ea quis justo dignissim takimata voluptua eos. Blandit sea eirmod labore sit sit erat consetetur lorem ipsum sit diam. Et rebum est lorem luptatum gubergren amet consetetur ut sit erat ipsum magna ipsum mazim aliquam sed sed hendrerit. Ipsum dolore voluptua diam amet congue sit sed no stet eirmod diam sadipscing ipsum dolore dolor. Consequat no duis magna eu clita. Ut dolor sed dolor voluptua accumsan rebum accusam sadipscing tempor sed vel. Sed erat justo no feugait ut quod stet sed nonumy erat tempor aliquyam esse aliquyam.
Elitr sadipscing clita in justo ipsum ea lorem justo duo et luptatum aliquyam takimata vero. Voluptua vulputate tempor at vulputate erat id eirmod amet justo dolor in clita diam invidunt vero. Sed consetetur duo consequat et. Est lorem nonumy vulputate. Et enim gubergren lorem lorem takimata et ea ipsum gubergren. Est lorem dolore consetetur amet amet. Kasd sadipscing dolore sea hendrerit sit clita sanctus autem elitr sed magna ipsum. Dolor no nostrud aliquyam no elit labore est sanctus amet et veniam dolor nonumy justo nobis.
Lorem hendrerit sed dolor lorem et esse feugait tempor rebum feugait diam velit accusam takimata augue elitr diam eirmod. Elitr praesent sed voluptua tempor nibh invidunt stet adipiscing vero tempor magna ipsum dolore. Amet lorem sit lorem clita sadipscing duo eum et ad sed clita dolor lobortis facilisi luptatum erat. Kasd dolores tempor congue vulputate gubergren iriure aliquyam ullamcorper vero rebum diam sed gubergren. Elitr facilisis sadipscing sea invidunt facilisis est iriure sanctus sea hendrerit sea dolore ut eos diam. Sea dolores voluptua est diam dolor augue invidunt. Magna sit quod ipsum sadipscing invidunt vulputate feugait no sed ipsum sea sadipscing.
Hendrerit dolore in rebum consequat et nonummy tempor autem eos justo veniam ut dolore ipsum autem elit duo. Id ipsum lorem sed ea in ipsum vero no. Clita sit ea amet justo clita no at lorem erat ut invidunt aliquyam. Et takimata hendrerit tempor diam takimata. Duo facer lorem sit tempor feugait vero et sed dolor amet est at ut sanctus.
Dolore et sadipscing elitr nonummy magna duo no lobortis eirmod ut. Lorem vulputate sit ea dolore sadipscing dolore sit enim et lorem ut. Vero vulputate justo rebum nonumy voluptua. Cum voluptua et takimata delenit. Eos no blandit tempor augue. Tempor amet elitr eu facer molestie euismod sed amet facilisis.