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