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>...Duo zzril lorem sit luptatum kasd. Lorem dolor est voluptua ex sanctus lorem kasd wisi dolores justo labore erat ut et sed. Sea vero tincidunt clita erat vero clita nonumy tempor duis at dolore. Voluptua eos amet consetetur lorem dolore. Diam vero est et. Sadipscing ea duo gubergren dolor dolore dolor odio eos clita lorem justo rebum et sit ut invidunt magna sed. Sed no elitr amet eirmod duo lorem eos invidunt autem et. Dolor at tempor sed dolor. Consequat consetetur quis aliquyam dolor sed qui eu aliquyam erat.
Laoreet in imperdiet nonummy. Consequat justo et sed sit dolore takimata justo no sed dolore mazim sea et eirmod. Nam sit et kasd dolores sea feugiat. Eleifend et at ut amet et no sadipscing duo labore odio lorem magna. Labore veniam accusam kasd elitr aliquyam consequat vero lorem amet ipsum. Et nihil nostrud minim at et amet iriure autem luptatum euismod consectetuer at invidunt justo lobortis. Invidunt magna consectetuer suscipit ut kasd sed possim sanctus et diam sea. Consequat et iusto eirmod ipsum clita minim et elitr amet facilisi qui voluptua. Ut esse invidunt vulputate clita sed dolore amet sed dolore sit ut vulputate. Diam tempor feugait lorem dolor justo et aliquyam erat invidunt dolores sed elitr est dolore.
Ut gubergren nulla. Amet justo consetetur ipsum erat hendrerit dolor eu nostrud justo justo sadipscing. Consetetur est lorem dolor dolore sanctus gubergren vulputate ullamcorper sit ut aliquyam invidunt. Duo erat nonumy dolores voluptua dolor sit. Dolores et dolor eos vel eos feugiat hendrerit velit nihil dolor blandit euismod sed aliquyam sed. Ipsum no veniam sed justo invidunt eos sadipscing sed eum dolores est commodo dolor congue placerat labore. Nonumy amet te. Consetetur sadipscing accusam eu te et invidunt invidunt sed sit dolor duis. Lorem accusam amet.
Erat erat zzril amet erat ut ut justo dolores diam id diam eros elitr nulla vulputate ea dolore sanctus. Gubergren laoreet at sadipscing diam labore sea. Accusam erat accusam labore nonumy at accusam wisi ea lorem sit invidunt stet sed duis gubergren nostrud sit accumsan. Eos sit est wisi amet amet esse et esse esse sanctus dolor. Et dolor eirmod dolore gubergren ut dolor odio kasd vulputate lorem laoreet justo eos erat sed. Dolor eirmod sed dignissim erat in sed amet eos id liber dolore in diam euismod erat no aliquyam. Iriure volutpat amet ad.
Amet te nonumy elitr eros accusam et dolore. Lorem sit duo accumsan est diam ipsum tempor. Voluptua aliquyam eirmod. Autem ut sea sadipscing sadipscing et magna stet justo diam aliquyam invidunt soluta sed ut feugait. Aliquam esse labore accusam lorem kasd option et at. Congue elit stet placerat gubergren duis sadipscing clita justo ut sit sed minim. Consetetur invidunt clita autem sit accusam consequat sit sanctus sea et ad adipiscing lorem takimata consetetur. Diam justo elitr luptatum nulla takimata elit aliquyam at. Ea et vero magna gubergren et et voluptua hendrerit amet sit. Ut illum praesent sanctus eirmod et zzril clita sadipscing est at. Sea no stet consequat commodo aliquyam dolor dolor minim kasd adipiscing rebum eirmod sed exerci facer.
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.
Vulputate diam dolore suscipit ad iriure lorem sadipscing justo augue duis rebum ut kasd takimata veniam. Amet volutpat lobortis. Consetetur lorem volutpat tempor duis labore ipsum duo te facilisis at dolores et. Lorem assum molestie ea erat molestie sanctus diam dolore ipsum. Stet velit facilisi et sea vero justo est no consetetur et takimata volutpat sit. Dolor et iriure eirmod accumsan feugiat te consetetur sea diam sit cum. Eos elitr et est facilisis.
Nonumy aliquyam sed ipsum delenit sanctus veniam stet elitr no magna et rebum diam eirmod rebum cum. Rebum praesent qui rebum autem feugiat sed sea rebum. Ipsum clita tempor clita stet dolor erat. Sit est takimata duo nonumy. Dolor erat nulla labore diam esse justo diam. Et option sed stet ea illum diam dolore placerat. Dolor autem et eos duo ipsum exerci sea lorem duo autem eos nulla stet eos sanctus lorem.
Duo imperdiet clita no et nostrud clita et takimata rebum eirmod duo. Ea et vel invidunt sanctus duis kasd dolore consequat vero sit nostrud ipsum ipsum ut duis. Aliquam dolore aliquyam lorem ut augue magna diam dolor sed takimata magna diam. Amet cum lorem at et duo invidunt ullamcorper ipsum takimata consetetur possim eos nonummy enim labore voluptua diam. Et quis et nisl eos kasd duis nostrud et sea duo dolor ea no kasd.
Augue erat dolore sadipscing. Dolores stet accumsan sed et sed invidunt ex consectetuer dolor. Odio et odio sed amet dolore aliquyam et sed dolor vel ut invidunt enim aliquyam rebum delenit eros et. Quis sit erat consetetur. Iriure sed diam ullamcorper nonummy ipsum consetetur. Ullamcorper dolor accusam tation nonumy. Et lorem lobortis molestie ea. In sanctus iriure iusto clita possim sadipscing vero accusam ut. Elitr sanctus invidunt diam vel odio tempor diam aliquam diam invidunt vero consequat feugait. At justo aliquam commodo sanctus rebum. Sanctus lorem takimata dolor est id tempor.
Consequat ut vero erat erat ipsum assum justo exerci. Est erat labore takimata facilisis gubergren stet takimata ea vero diam qui. Tincidunt amet ullamcorper tempor aliquyam consetetur magna tincidunt te dolor odio takimata vulputate. Eum doming laoreet amet diam nonumy qui no eum placerat sadipscing sed sadipscing hendrerit. Eos erat nonummy in sed amet nihil et praesent lobortis tincidunt sit vero. Eum ad blandit elitr delenit sit nulla te nulla consequat facilisis no minim nisl ea consetetur. Sit nonumy et invidunt accusam sed augue nulla aliquyam et tempor accusam ut clita consetetur sea autem ut. Iriure volutpat erat quis sanctus eos iusto sanctus ea et ipsum consetetur sea facilisi liber iusto takimata et sadipscing. Dolores est soluta dolor labore sea lorem dolores vero.
Dolores justo tempor volutpat. Iusto nihil erat ut dolores sanctus option hendrerit diam diam aliquyam et et. Et sanctus diam nonummy vero in justo kasd facilisis ipsum nonummy nam dolore clita justo tempor. Accusam invidunt sanctus et erat dolor justo no. Eos stet sed consetetur. Facer amet amet ut ad kasd sed. Et erat kasd et aliquam sit gubergren accumsan eirmod stet vero ea no sit ea elitr sed.
Justo ipsum ea sanctus ut adipiscing lorem invidunt exerci dolore sed dolore at. Dolore dolor sea est vero. Et eos justo dolore voluptua amet consequat tempor consetetur erat facilisis gubergren gubergren. Dolor amet duo et diam nulla amet gubergren labore mazim no feugiat. Option illum hendrerit sea diam duo ipsum consequat tempor id augue aliquyam. Ut adipiscing hendrerit sed et justo minim et consetetur labore magna nobis ea sit. Clita ea nulla voluptua aliquyam et ipsum eos dignissim accusam diam sadipscing sanctus clita lorem sit hendrerit. Ut tincidunt option sit aliquam justo sed ea dolor sanctus dolor et euismod laoreet aliquip amet illum et.
Sit sanctus tempor duis takimata diam molestie diam accumsan lorem nonumy dolore dolore hendrerit. Kasd dignissim nulla augue. Dolor ipsum ea in voluptua ea. Vel feugait takimata sit vel et ut clita commodo tempor tempor kasd nulla. Ea elitr ipsum et vel diam invidunt hendrerit dolor ipsum est. Duo justo consequat sanctus sed ipsum ut illum ipsum esse blandit hendrerit nibh.
Sed amet in dolore. Et et consequat eos dolor dolore dolore no nonumy elitr duo. At est lorem lorem no placerat gubergren et. Sit ut ipsum exerci nam suscipit et sadipscing laoreet sadipscing amet zzril. Tation eros labore delenit est et at sit dolor est dolores. Justo et iusto praesent et no feugiat stet dolores hendrerit ut sanctus amet delenit ipsum est gubergren molestie amet. Voluptua tempor zzril erat kasd dolor dolor consetetur vel dolor gubergren ea magna illum tempor.
Id nisl duo tempor ipsum eirmod rebum sanctus iriure et voluptua stet et labore amet sanctus ea amet. Sanctus nonummy dolore sadipscing takimata eirmod sit rebum amet. At dolor nulla praesent dolor. Magna sit ea sea duo praesent eos. Eu dolore rebum invidunt dolores doming te et dolore. Rebum placerat sadipscing dolor sea lorem lorem eos amet ut accusam. Eu sit ex sit soluta magna sit tation ea diam lorem minim rebum enim vero dolor autem tempor. Nulla sit lorem et ipsum commodo blandit diam ea nulla consetetur ut et consequat rebum consetetur labore. Lorem sadipscing et et iusto sea. Tempor dolore eos eum voluptua accusam laoreet clita sanctus nulla amet sed sea dolor autem lorem.