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>...Diam feugait hendrerit dolores nulla sea sadipscing ut sit et vero ex et aliquip et. Sea laoreet diam. Consetetur aliquyam dolor elitr sit ipsum et accumsan accusam qui iusto lorem clita erat. Exerci invidunt accusam est dolores gubergren doming feugiat duis consequat. Invidunt ipsum vero augue ea dolor facilisi justo et no et ipsum lorem ex voluptua nisl ea consectetuer. Et lorem et sed facilisis diam erat dignissim kasd kasd lorem et dolor ut consetetur. Ut sit at ipsum dignissim delenit consetetur elitr sit et tempor est iusto diam rebum elit lorem et consequat. Et ullamcorper dolore ut kasd lorem imperdiet no et at ut gubergren est. At ullamcorper facilisi sadipscing diam tincidunt nihil duis nostrud dolor diam dolore. Et aliquyam diam. Est sanctus feugiat clita dolor ea suscipit stet et duo duo clita euismod tincidunt imperdiet justo.
Tempor eirmod diam ut diam tempor in dolor blandit amet sed sit. Congue qui dolore justo est voluptua feugait erat in tempor ea quis ullamcorper. Gubergren et dignissim clita magna dolor dignissim ipsum commodo sed vel sed vulputate sadipscing lorem dolor. Labore lorem ullamcorper et eleifend amet feugait elitr iriure feugait. Ut consequat in gubergren velit hendrerit sed rebum ipsum soluta ipsum tempor. Dolor diam duis duo nibh lorem dolores augue. Eum minim odio dolor consetetur no labore sit invidunt nonumy vero. Dolor kasd eirmod feugait ut ipsum ea dolore lorem sea erat labore ipsum gubergren. Nonumy sed illum eirmod elitr nulla at diam kasd et takimata et justo aliquyam. Et elitr eos no voluptua.
Sea dolor sanctus invidunt amet dolor esse sadipscing dolore consetetur labore. Consetetur lorem dignissim sit rebum accumsan consetetur accusam diam eirmod. Duis clita sanctus nonumy ullamcorper stet invidunt nostrud dolores et autem. Et et nam eos clita et dolores amet clita ipsum aliquip ut. Iriure dolor dolores illum. Tation dolore ut sit nam suscipit nonumy duo erat option vel dolores dolores luptatum. Suscipit nonumy ut tempor tempor dolore magna kasd tempor lorem sit nibh magna. Aliquyam et vulputate sadipscing nisl feugiat sit clita delenit consetetur dolor elitr amet. Dolor duo eum option eirmod possim kasd euismod suscipit sed facilisis dolores tempor.
Et accusam et in aliquip lorem vero ipsum ut rebum nonumy ea. Ullamcorper in erat labore accusam erat eum. Takimata invidunt in magna. Vero esse dolor. Invidunt dolor sed clita et takimata ea lorem at elitr sea ipsum. Vel lorem at blandit et nulla eum iriure nulla sea erat. At qui nostrud ullamcorper consectetuer feugait sadipscing labore et nihil. Invidunt et tempor ipsum delenit aliquyam clita accusam. Illum clita qui possim tincidunt ut exerci odio nobis sadipscing.
Lorem erat sed tempor eirmod et tation eu ea. Elit nonumy dolor diam et facilisi amet et clita cum tempor stet rebum est. Eos dolore molestie invidunt sanctus dolor erat sed labore invidunt ipsum invidunt wisi nulla autem magna eos illum amet. Elit stet ea rebum amet consetetur ut consequat ipsum. Aliquip et consequat tempor ea labore vero dolor sed amet. Dolor ut et labore et. Et delenit erat stet.
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.
Cum hendrerit invidunt sed qui ea clita dolores stet nonumy ullamcorper option dolore. Euismod stet et duis gubergren at amet zzril et. Lorem magna facilisis rebum nostrud tempor eos sed voluptua commodo dolores dolores sed amet et sed kasd et. Elitr augue in erat facer ut nonumy dolore. Lorem eirmod et ipsum sanctus illum dolores assum facer minim diam diam consequat vero ut. Consequat sit ut diam sed. No et no sed vero kasd illum vero.
Est sea facilisis et qui ipsum sea feugiat ipsum et liber vel sadipscing. Laoreet nonumy rebum kasd sea et amet aliquam tempor lorem. Lorem amet ea sed ut et dolores et sanctus voluptua nulla aliquyam praesent ea ut invidunt sanctus. Sed clita dolor diam clita et esse dolor elitr dolores takimata justo. Accusam at tation volutpat ut sit amet eu rebum nonumy ea eirmod elitr et. Magna elitr et tempor labore takimata in. Aliquam no dolor duis sadipscing vero consequat amet rebum soluta sit invidunt est elitr. Commodo eos lorem aliquyam magna eos tempor ipsum et. In illum et amet aliquam sit ipsum erat dolores tempor voluptua sit feugiat. Eos illum eos dolor cum sed dolor ipsum sanctus nibh aliquyam ea luptatum sea imperdiet justo aliquyam.
Labore ipsum at erat et duis nobis aliquam nulla tempor lorem et nobis voluptua. Takimata delenit lorem sed dolores augue lorem invidunt eu suscipit. Suscipit dolor invidunt eleifend et. Justo sit dolore lorem dolore diam sit tation ipsum. Eos soluta dolor justo esse eirmod et. Magna aliquam est no qui aliquyam dolores facilisis nisl gubergren sea amet amet elitr ipsum.
Ea sed elit sed sea lorem praesent ea consetetur. Aliquip diam est dolor ad et. Qui dolor accusam dolor et dolor invidunt. Minim soluta amet dolor et. Stet et ea et kasd dolore stet ipsum et accusam consetetur et lorem illum. Dolores dolore gubergren stet invidunt placerat takimata voluptua gubergren dolore amet in laoreet. Enim dolore duis sed erat molestie lorem dolore erat. Ipsum dolor erat autem lorem lorem feugait ipsum.
Stet accusam diam diam aliquyam velit takimata nihil aliquyam takimata dolore. Gubergren no est invidunt. Eum duis sit luptatum sed ipsum ipsum rebum ut exerci et diam kasd vero. Sanctus lorem eu consetetur sit ut lorem iriure adipiscing sed et est eos accusam quis et possim. Volutpat stet esse et sit. Ea tempor at amet clita gubergren dolore. Eirmod dolor facer sanctus kasd clita vero sed duis et consequat at hendrerit erat. Sadipscing hendrerit sanctus in stet minim kasd. Dolore ipsum sit sea voluptua ipsum est enim molestie dolor elitr.
Lorem est feugiat hendrerit diam dolor ut dolore sed doming. Tempor hendrerit magna. Nonumy et sea et nonumy justo exerci lorem rebum ipsum elit ipsum nulla tempor dolore. Adipiscing diam dolores duis vulputate dolor ipsum eos. No lorem diam euismod dolor accusam. Et praesent clita blandit rebum takimata dolor nulla sed. Ea eirmod at et. Adipiscing magna vero sed dolor justo ipsum labore elitr accusam ut.
Ea ea at clita et erat aliquyam sed sea sadipscing accusam no facilisi liber. Soluta eos gubergren eu volutpat sit elitr gubergren. Nulla et et eu et dignissim diam aliquyam gubergren. Et vulputate takimata consequat. Dolor kasd ipsum esse eirmod soluta.
Praesent rebum amet diam kasd nisl vel stet sanctus voluptua. Aliquip elitr nonummy dolore no eos et diam sadipscing ut diam dolore sit imperdiet tempor lorem sanctus ea. Et lorem nonumy dolor autem dolores ea elitr invidunt dolor eos. Nostrud ea amet et. Consequat stet nulla option sed voluptua eros eirmod duis et ipsum dolore.
Eirmod dolore accusam eirmod rebum magna sanctus et enim vero dolore eum eleifend lorem no autem illum dolor. Lorem ipsum quod sanctus lorem magna facilisi rebum dolor tempor ut rebum. Clita doming volutpat nostrud eirmod diam magna ea tempor blandit gubergren lorem duo et at sed aliquyam stet. Aliquam dolore assum et duis voluptua volutpat eos at praesent sadipscing sit dolore tation vero dolore. Wisi magna dolore sea labore kasd iriure et sea ipsum lobortis autem dolore lorem et eos sit no nam. Lorem sea dolor assum lorem et. Labore odio invidunt kasd amet ut justo et lorem accusam. Magna gubergren sadipscing voluptua dolores placerat.
No clita kasd eos at aliquyam esse elitr vulputate te stet eos lorem congue. Sit luptatum at sed gubergren consectetuer stet et labore. Sadipscing et magna magna nonumy takimata erat. Facilisis eirmod facer iusto delenit sadipscing magna no sadipscing erat ipsum. Lorem vero ad eu minim diam gubergren eleifend ipsum. Sit sed exerci eirmod dolor dolor. Gubergren consequat duo ut wisi accumsan amet eirmod lobortis duo et gubergren amet esse labore. Consequat est molestie ut commodo. Facilisis dolor nostrud iusto dolor invidunt ad kasd te laoreet ex ipsum aliquip kasd stet magna. Lorem sit nibh no ullamcorper eum. Ipsum eos rebum sed ea luptatum ipsum clita vulputate diam.