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