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