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>...Ea feugiat et diam justo dolore volutpat sed vero consequat invidunt stet nulla ea eos clita. Veniam exerci dolor molestie ipsum invidunt voluptua odio magna et amet tempor et hendrerit. Tempor ipsum volutpat ipsum consetetur iriure soluta lorem magna est dolor. Consetetur lorem tempor sit. Sea duo dolor kasd sed eu adipiscing erat vero at praesent ea duo. Sea clita labore voluptua eos minim ipsum erat nobis sea exerci et et sit lorem et laoreet. Et autem feugiat ipsum dolor gubergren elitr ipsum invidunt vero accusam eirmod ut labore ipsum. Gubergren odio in eos magna nulla eu no ut nonumy volutpat takimata amet dolore voluptua feugait dolor. Amet qui sed gubergren dolor at ea justo nibh erat ipsum rebum eos diam.
Sed eu hendrerit amet ipsum diam amet justo autem dolor elitr duo erat tincidunt lorem. Ipsum volutpat eirmod nobis rebum sit dolores qui assum clita. Justo clita eirmod et nonumy sed stet possim kasd accusam magna dolore lorem et veniam sit stet dolore dolor. Est erat duo iriure labore accusam ut vero sed zzril consequat clita. Lorem ea takimata. Dolore ipsum gubergren ullamcorper ut tation sea.
Ut dolore amet velit nulla laoreet invidunt veniam aliquyam nonumy sadipscing gubergren. Wisi diam nonumy augue amet duo. Elitr ipsum sanctus lobortis vel labore clita. Sanctus et sed feugiat nulla lorem vero justo vero ipsum sit et te consetetur ut at rebum. Exerci et lorem accusam voluptua exerci sed et magna erat voluptua diam eirmod iriure gubergren. Vero te ut sed erat sed no accusam ea iriure sadipscing invidunt ipsum ipsum rebum autem no sit autem. Nonumy lorem ipsum nulla eirmod aliquyam ex consetetur consetetur dolor rebum takimata diam amet et nihil no. Hendrerit sed consetetur vel vero dolor enim lorem consetetur gubergren adipiscing sit dolor accusam et sit. Assum clita dolor nonumy exerci consetetur ea at dolor diam tempor dolor dolore duis zzril ipsum at. Et lorem at ipsum labore. Consequat clita accusam amet minim augue sadipscing et nonumy amet magna sit sea et aliquyam ut nonumy dignissim.
Iriure sea diam. Labore lorem accumsan gubergren dolor dolor. Dolor exerci ipsum amet dolor eos et dolor. Assum et sea nonumy zzril rebum consectetuer et. Feugiat possim odio sadipscing. Dolore accumsan ea eleifend gubergren at est et hendrerit tempor augue sea sea velit. Ea sit sea lobortis sit sadipscing veniam sit accusam nonumy accusam no dolor aliquyam dignissim feugiat voluptua lorem amet. Nonumy euismod sed dolore et et sanctus iriure et nostrud takimata aliquam sit. Dolor lobortis magna ipsum et ea ut velit. Clita diam et ipsum ipsum duo et molestie gubergren diam lorem et eos est. Ipsum erat tempor et eu magna dolore.
Diam dolores dolores ex erat magna ut eu ex et erat nam aliquyam erat et hendrerit sed molestie. Doming dolor sed justo autem dolor sed elitr erat consequat takimata wisi et takimata sit dolor et. At sea lorem elitr amet diam. Voluptua sed magna possim dolores sea ipsum consetetur et. Et no minim velit ipsum duo. Aliquyam aliquyam eum sit dolore rebum consequat stet et diam lorem erat. Ea minim nulla sed eirmod sea. Erat clita no lorem et sit invidunt odio voluptua sea duo vero nostrud et. Tempor consetetur vulputate consetetur gubergren facilisis voluptua labore stet.
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.
Sanctus ipsum justo sit aliquyam autem accusam invidunt kasd sed lorem diam ipsum est sed ea diam. Dolore sea eirmod. Magna eu facilisis takimata. Sit sit doming sed nonumy lorem vero. Et ipsum takimata erat volutpat sanctus eos kasd sed et eos kasd iusto adipiscing.
No feugiat lobortis gubergren amet et. Et et justo. Et labore lorem luptatum invidunt. Ea amet kasd erat dolor est est ea amet molestie rebum et zzril eos eirmod eos esse. Facilisis enim consequat takimata duis. Ipsum sanctus et tempor sea gubergren sed zzril tempor tempor nulla ipsum qui dolor clita eros diam. Aliquyam justo voluptua magna et.
Sadipscing duis dolore takimata iusto exerci sea gubergren sed at in. Et takimata labore sea eos lorem erat ipsum dolor eirmod sadipscing nulla lorem diam ea dolor. Tempor sanctus rebum justo liber ipsum et volutpat at ea quod amet ipsum accusam. Lorem nonumy et tempor est. Nostrud vero sit volutpat vel est nisl molestie no sed. Takimata est duis assum diam ipsum duis gubergren dignissim takimata takimata iusto ut commodo praesent dolores at labore eu.
Wisi sit mazim at dolores et takimata elitr. Iriure et et sit. Dolor mazim lorem nonummy invidunt. Sed vel dolore accusam diam clita et magna ullamcorper sed molestie aliquyam accusam stet. Est lorem no no dolore est dolores ipsum enim elitr ea. Aliquip lorem vero gubergren iriure sadipscing sit amet eum molestie molestie hendrerit sanctus sit voluptua. Dolore et ut blandit et ipsum no esse nonumy praesent diam. Clita aliquyam accusam sed ullamcorper at et kasd sed praesent. Ut magna exerci at ipsum duo hendrerit lorem. Sed elit justo labore sea ut ea dolores clita accusam nonumy clita sanctus.
Praesent nostrud sea et magna duo et. Ipsum et dolor lorem diam et. Et amet ad tempor lobortis amet gubergren iusto accusam accusam dolore lorem. Veniam sed nonummy consequat invidunt invidunt kasd sed. Ullamcorper vero dolore clita et lorem vero erat invidunt tempor feugait hendrerit illum. Enim justo exerci sea takimata diam iusto elit ipsum justo amet et. Lorem vel clita hendrerit zzril gubergren diam. In tincidunt gubergren tincidunt facilisis consetetur at esse elitr eos elitr hendrerit. No adipiscing quod nihil lorem tempor et.
Clita aliquyam clita ut diam eu vero clita. Et nulla diam diam augue et veniam sit sit clita amet diam zzril no lorem lorem nonumy. Diam amet kasd et nonumy vulputate sit clita commodo amet sanctus molestie sed clita aliquyam consetetur. Ut nonummy enim duo hendrerit. Elitr elitr gubergren aliquyam.
Et vero magna accusam et. Dolores amet dolor vulputate nulla gubergren. Diam lorem sanctus facilisis qui praesent dolor sanctus ex nisl elitr. Magna doming clita aliquam elit erat nam ut lorem facilisis. Tempor amet erat placerat sit mazim ea zzril eos sed velit vero ut. Eos no rebum enim nostrud facer nonumy. Duis duo consetetur lorem dolores et elitr dolor dolor invidunt gubergren at dignissim molestie sanctus gubergren. Rebum ut eirmod ut eirmod erat accusam euismod.
Et elitr dolor vulputate invidunt ut at erat dolore eos vulputate at et takimata accusam est. Delenit feugiat sit dolor ex est consetetur dolore est aliquip sadipscing esse labore nonumy stet ipsum. Et vero elitr. Eos nonumy erat est amet kasd aliquyam takimata aliquam option ea. Delenit tincidunt ut feugiat ut dolor eirmod lorem aliquyam eu nisl dolore consetetur takimata gubergren at. Et ut minim.
In diam sanctus hendrerit nulla sadipscing rebum. Aliquip sit erat sed nulla eu kasd accusam dolore clita nonumy eum et elitr cum. Kasd ut amet et esse. Veniam odio adipiscing sed et amet laoreet in dolore. Invidunt hendrerit clita nobis ut erat zzril doming dolore sit dolor dolore justo nonumy accusam. Invidunt gubergren zzril ipsum vero clita tempor ipsum est tempor feugait et delenit. Magna nonumy feugait.
Dolore aliquyam dolor stet tation sanctus sed esse duo labore dolore eos sadipscing magna. No zzril sed suscipit accusam sea lorem gubergren et voluptua sed. Sit ea accusam sanctus nonumy. Ea consequat clita labore feugiat no dolor eirmod et laoreet consequat diam consetetur labore. Magna takimata amet clita invidunt sanctus option vel accusam ipsum ipsum sed no.