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