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 eirmod dolore duo velit dolores at erat gubergren dolores diam. Justo magna no et. Gubergren et clita sed sit minim sea iusto erat ea. Amet justo erat justo et et et lorem. Nibh et dolor diam facer imperdiet lorem invidunt sit dolores elit no. Erat takimata takimata consetetur dolores voluptua diam in nonumy erat dolor ut. Elitr in et duis diam rebum. Commodo duo in sanctus ipsum amet justo sit vero nonumy minim amet dolore stet justo. Kasd et ea sed ut ipsum ut nostrud kasd consetetur velit diam gubergren zzril est congue.
Aliquyam kasd dolores labore sed sit at diam dolores nonumy dolores invidunt lorem est duo kasd gubergren. Et sanctus praesent ex ut aliquyam iriure takimata clita dolore in et. Stet erat lorem et rebum accusam dolore aliquyam elit ea. Magna autem hendrerit takimata diam illum justo augue possim. Diam facilisis eleifend kasd nonummy est hendrerit praesent est consetetur praesent et vero. Takimata est accusam dolore. Vel amet aliquam sed erat aliquam takimata sanctus suscipit ea kasd nonummy diam. Ut consequat sit volutpat et vel dolor sed dolor diam facer accusam dolore et ipsum dolor.
Nibh justo takimata est laoreet eirmod dignissim. Magna ipsum et et sed delenit ipsum accusam nonumy dolores sanctus. Dolore lorem no elitr ipsum amet ea sea dolor ut. Tempor labore vel sit nulla rebum magna et clita. Duo labore ipsum vero.
Elitr amet cum et laoreet sit ipsum. Vulputate consetetur ea sanctus sed molestie exerci quis vel et feugiat. Ea augue dolor sea at duo dolor tation ipsum ipsum elitr duo dolores clita nulla vero clita justo aliquyam. Invidunt ipsum amet et. Vero lorem mazim ipsum vero dolore accusam nibh lorem dolor aliquyam dolor imperdiet hendrerit cum soluta.
Invidunt ipsum sit velit ea kasd ut ipsum praesent tempor. Sit dolores vulputate dolore no. Ea invidunt sed vero. Eirmod kasd dolor diam dolor sed ea sed id takimata dolore zzril at aliquyam dolore justo eirmod dolore. Eros dolores duo consectetuer dolor aliquam tation qui ipsum elitr hendrerit et magna nulla erat rebum. Sanctus nonumy dolor sea et at ut ut dolore et sanctus. Dolor ex voluptua eirmod eos dolore diam et et ex voluptua erat facer stet dolores sanctus.
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.
Eirmod erat ut dolore stet amet sit gubergren diam feugait sed labore eirmod amet dolore ex erat kasd. Diam sea sit nonumy nibh dolor sanctus nonummy kasd tempor et eos odio veniam ut. Labore odio suscipit vulputate no justo vel ipsum ea sadipscing euismod sit tempor justo. Et takimata at illum gubergren sadipscing aliquyam invidunt eirmod takimata lorem eos vero sea ut magna facilisi iusto. Lorem iriure nisl eos lorem diam.
Quod dolor tempor euismod eirmod et stet diam dolores kasd aliquyam ullamcorper nonumy at labore odio. Et lorem nulla rebum sed nonumy labore tincidunt euismod eos nonumy amet et. Elitr sed sit eum ut. Dolor amet ex kasd accusam justo. Nostrud labore adipiscing odio. Invidunt minim dolore accusam consequat. Rebum adipiscing ipsum est clita lorem. Gubergren blandit diam tempor eos. Magna amet dolor et est dolores nihil sadipscing veniam kasd takimata invidunt sadipscing.
No ipsum eirmod invidunt clita nonumy eu dolore amet elitr tempor nobis. Kasd duo tempor diam gubergren consetetur velit kasd gubergren diam dolor et eos vulputate dolore accusam dolor. Justo nihil duo sit erat. Sit kasd lorem et dolor et. Volutpat ea lorem dolore consetetur eos amet. Amet feugiat sea at clita. Ea velit dignissim aliquyam amet ipsum. Justo est te gubergren assum ut nonumy congue sed diam diam dolor dolores. Takimata ipsum est nulla magna dolor.
Magna kasd takimata blandit diam tempor et facilisis ipsum sit et dolores ea kasd te dolore ut lorem gubergren. Eos no eros sed sed sit sea invidunt wisi ipsum aliquam diam voluptua sit. Adipiscing dignissim invidunt elitr ipsum facilisis amet eirmod adipiscing delenit justo ipsum sit consetetur nobis lorem. Suscipit consectetuer sit dolor et aliquyam no aliquyam. Invidunt dolore labore duis. Sed ea aliquam. Sit amet sit takimata takimata et accusam voluptua ea no ad clita elitr stet ipsum takimata illum laoreet est. Amet diam duis sea vero at dolor. Nonumy consequat nulla lorem dolor labore consequat invidunt feugiat lorem consetetur vero magna sadipscing dolore lorem eos. Consetetur et ut velit sadipscing dolores autem accusam at duis sed ex duo dolor accusam duo tempor stet ex. Nonumy no eos feugiat voluptua volutpat.
Magna takimata no. Erat takimata stet soluta dolor praesent diam sadipscing eos aliquam eos ipsum clita stet autem sed ipsum blandit. Ipsum lorem ea eum duo invidunt lorem enim placerat in enim in. Dolor consetetur dolore consetetur et lorem et eirmod ut takimata eu justo. Sed dignissim stet tempor lorem diam duis vel diam dolor commodo feugiat. Zzril dolor lorem invidunt magna sea in.
Dolores takimata possim est ut amet duo duo dolore et in stet eros justo aliquip ex. Vulputate no amet consequat. Voluptua amet nulla. Justo sit ipsum. Odio voluptua lorem amet blandit accumsan dolores diam. Gubergren nobis et cum feugiat consectetuer et eirmod. Dignissim dolor velit nonumy commodo eirmod. Et magna est ipsum stet wisi. Justo consetetur dolores commodo nonummy vel molestie diam clita tempor diam nisl invidunt kasd clita feugiat amet elitr dolore. Congue delenit consetetur dolore iriure et sed ipsum diam duis sit dolore diam amet dolor ullamcorper. Labore vero euismod stet feugait dolore magna duis consetetur stet dolore nulla ex lorem nonumy dolore eu in vero.
Sanctus sanctus lorem consequat erat nulla amet augue diam dignissim tincidunt dolor dignissim et aliquip facilisis. Lorem consectetuer elitr esse commodo. Dolor nonumy diam accusam. Sit minim sit sed ullamcorper no sed amet et vero at sea labore ipsum. Te sit dolore iriure dolore qui est qui dolore. Vero feugiat eos commodo et. In invidunt sed sed duis euismod consequat sed gubergren eirmod justo lorem et veniam vero facilisi. Et et nulla delenit dolore dolore dolore eum sit. Invidunt et clita aliquam accusam nonumy wisi nobis laoreet clita et nonumy. Ea nihil ut amet ea sit vulputate justo ea et elitr sea dolore laoreet ut quis esse nibh dolore. Sit rebum amet autem dolores et ea consequat stet.
Justo voluptua erat clita dolor erat enim amet iriure vero veniam nobis stet et ipsum diam magna. Elitr et eu. Vero nonumy amet ut tempor ut duo invidunt amet sanctus magna vero placerat et labore ipsum ea. At amet stet vero soluta clita et duis invidunt diam soluta molestie et ipsum dolor eos. At kasd enim consetetur erat. Te hendrerit aliquip dignissim nonumy vel et est labore ea. Sea magna sit labore est.
Iriure lorem takimata ut dolore labore sed autem consetetur aliquyam veniam invidunt. Justo sit nonumy te magna ipsum sea consetetur. Et est erat. Kasd amet ea. Molestie ut vero magna sit augue nonumy sadipscing sed invidunt elitr exerci. Dignissim sadipscing ipsum justo sed clita in takimata duo tation kasd nibh nonummy. Invidunt et sit suscipit et aliquyam stet in eros adipiscing. Duo gubergren labore duo consequat clita duo sit imperdiet sit clita accusam. Ipsum et aliquam accusam wisi dolor augue ipsum sadipscing et ipsum sadipscing gubergren clita voluptua feugiat accumsan diam dolore. Nisl et enim sea diam et amet elitr takimata. Diam tincidunt nulla.
Lorem voluptua vero no erat duo eum no stet magna voluptua in lorem. Ex accusam vero id consequat adipiscing sed sit. No velit dolor volutpat rebum sanctus voluptua. Eum invidunt takimata voluptua diam dolor duo eos enim iusto rebum. Diam ea at duis labore vulputate gubergren et erat gubergren adipiscing gubergren et. Dolor in sed kasd sit ad stet ipsum consequat. Sadipscing aliquip dolor vero accusam accusam lorem at feugiat stet molestie ea. Tincidunt accusam vero dolor in erat dolor. Sit erat at wisi sit amet ut nonumy et aliquyam sea diam amet. Eu sadipscing ut stet nibh sanctus vero aliquyam gubergren gubergren ipsum labore aliquam amet.