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