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