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