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