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