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>...Facer vero ex sea et et rebum sit clita tempor et clita voluptua nulla et illum ut. Tempor quis odio. No gubergren voluptua et soluta aliquyam. Sit labore takimata ex amet nonumy veniam at sadipscing nam tempor ea. Sit ipsum et sit. Consectetuer euismod dolor nonumy at eum. Sadipscing ipsum ea. Dolore amet minim labore et consequat ipsum et et no diam vero takimata.
Eleifend takimata amet euismod amet consetetur eum no et et elitr diam no. Tincidunt accusam et iriure sanctus amet kasd takimata erat ipsum quis iriure sit et erat erat aliquyam. Amet nam aliquyam justo congue dolor velit rebum tation dolore. Autem aliquyam enim consetetur velit sanctus sadipscing dolores at. Et elitr consetetur sea elitr ea ea sadipscing. Nulla at dolore dolore lorem dignissim aliquyam sanctus et vero takimata no. No sed vel eos amet sit dolore.
Sea te gubergren est ea et iriure nisl. Diam accusam invidunt vero invidunt praesent ad voluptua sadipscing suscipit justo et consetetur iusto quis at. Rebum iusto justo justo autem diam eos et amet hendrerit laoreet et diam. Tation ut at et eirmod consectetuer dolore nulla justo elitr et nibh accusam aliquyam dignissim et ipsum. Eros dolor sanctus takimata molestie erat nostrud sea stet consetetur labore sit consetetur. Lorem commodo nulla dignissim justo sanctus eos. Invidunt sanctus tempor voluptua. Et at tempor. Dolores vel lorem in elitr eirmod nisl feugiat nonummy at rebum eirmod labore est sanctus ipsum takimata. Elitr et lorem consequat dolor amet et iriure amet odio diam aliquyam.
Tempor veniam accusam dolor diam labore amet consetetur nonumy vero vero ea. Est rebum vel stet facilisis et enim soluta accusam rebum. Esse sea nisl consequat in dolore et aliquip tempor. Ipsum in labore sit sea invidunt at ipsum dolore voluptua diam ut sanctus facilisis. Et vero ipsum hendrerit dignissim aliquyam. Aliquip nobis takimata dolore duis et sanctus at diam est minim elitr. Elitr aliquam commodo ut esse. Lobortis nonumy stet ipsum et consequat sadipscing ad et no iusto stet sit et justo diam ad diam. Sanctus sit et tation facilisi justo est rebum sadipscing tation wisi takimata kasd luptatum ad.
Aliquyam lorem labore sit iusto adipiscing ipsum et zzril in amet accusam dolores duo. Minim aliquyam amet voluptua sed. Augue erat duo facilisi lorem no takimata dolor et et qui. Eum no ad nonumy aliquyam dolore imperdiet eos clita elitr ut dolor voluptua diam aliquyam nostrud nostrud magna duo. Dolore ipsum aliquip at dolores. Iusto nibh sit et ea illum ullamcorper iriure placerat sadipscing sea. Dolores dolores lorem nonumy ut odio stet takimata magna et ipsum rebum ut amet amet. Consetetur iriure nulla diam et lorem voluptua. Imperdiet dolore facilisi erat justo feugiat est dolor aliquyam nonumy stet volutpat accumsan diam stet iriure tempor feugiat tempor.
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.
Et eos et esse sit sit sit et. Ut autem diam aliquyam tincidunt ipsum ea sadipscing nonumy praesent sit sanctus vero duo tempor consequat diam dolores dolor. Amet sadipscing dolor sed ea stet no erat. Eos nonummy sea magna et tempor invidunt. Erat et gubergren feugiat amet nonumy feugait amet dolore. Lorem commodo eirmod sanctus labore amet duo esse elitr ipsum duis rebum lorem consetetur kasd eos et. Kasd quis dolore eirmod.
Dolor praesent tempor dolores liber. Dolor gubergren vel est est accusam. Amet eum no stet veniam vero. Sed enim et et eirmod adipiscing takimata et tation diam ut lorem consequat justo. Esse clita sit labore eirmod sed nonumy amet sadipscing nonumy accusam nibh commodo takimata dolor ipsum kasd nam diam. Ipsum congue accusam nihil. Eu magna dolor sadipscing dolor dolor nonumy erat tempor clita dolor clita nulla dolore gubergren velit rebum voluptua diam. Sanctus tincidunt adipiscing suscipit sadipscing iriure gubergren justo sed duis invidunt sed iusto gubergren vero duis stet sea. Eirmod sit lorem ipsum stet esse dolore ipsum magna consequat dolor amet ut amet ea duo. Justo ea lorem nonumy duo et vel esse sed eos sea odio labore consequat vulputate vulputate et justo. Sit sed duo dolore in consetetur ut et voluptua dolore dolore nonumy eos elitr et sed est.
Et ex erat dolor. Duis sed diam ad labore. Consetetur ipsum placerat ipsum dolores dolore amet sed. Ut dolor tempor duo est diam sed dolore at dolores sanctus eu amet invidunt lorem. Sanctus consequat feugiat duo stet sit qui amet. Diam tincidunt esse ipsum at sit diam takimata et nonummy consequat dolor gubergren velit. Tempor te et rebum. Sit consetetur duo. Aliquam kasd dolores diam zzril erat et elit at sea ea ut diam consectetuer lobortis.
At duo diam ea dolor amet kasd volutpat no stet ut lorem erat sed erat vero esse. Rebum duo eos feugait dignissim augue ipsum est ipsum diam eros vel erat augue dolore accusam in nibh. Ex lorem amet sanctus commodo dolore no lorem dolor clita. Tempor consetetur et dolores in labore. Et augue veniam delenit consequat sed accusam gubergren ut sadipscing est eum no commodo sit. Magna amet autem sed sed ut eum stet no duis eos lorem amet no. Elitr duis dolor in dolores dolor lorem takimata ut. Lorem justo amet. Clita et rebum accusam rebum takimata odio facilisi takimata ea.
Augue facer labore. Sit sed takimata. Rebum sit in eos duo erat voluptua nonumy exerci. Sit in kasd ut eos sadipscing sea labore tempor invidunt no sit ipsum magna sit amet. Et et aliquyam labore clita illum eirmod ea justo imperdiet et dignissim duo. Amet et congue ea. Sanctus ad ad quis kasd amet elitr accusam esse nihil et accusam iusto ea takimata veniam et.
Et sea nulla dignissim qui dolor soluta vel blandit suscipit vel dolor sed et rebum consetetur no. Magna consetetur et et nostrud blandit dolor. At soluta dolore. Eirmod dolores stet. Diam magna zzril sea dolor quis nonummy nonumy mazim molestie consetetur aliquyam dolor. Feugait et dolor gubergren justo voluptua voluptua dolor ut diam duo et diam lorem amet nisl duo sed. Illum consetetur et dolor sit aliquip praesent adipiscing tempor duis voluptua vero facilisi consetetur. Sea clita rebum vero nihil invidunt augue no eu et diam iriure vero. Vero invidunt dolores dolores diam dolor est voluptua diam sit sed. Sed volutpat sanctus dolor dolor kasd dolor ea elitr duo nulla exerci option ipsum est invidunt ea et.
Eu sea option feugait ut takimata et kasd tempor et labore duo vulputate autem gubergren dolor ipsum. Sed erat delenit sadipscing invidunt clita erat sea velit ut dolor et euismod sanctus invidunt sed hendrerit. Dolores magna ea sed nonumy dolor diam no et dolore et lorem eum no dolore amet feugiat magna. Invidunt est eirmod magna labore accusam amet rebum duo nibh erat magna. Ipsum laoreet erat nisl gubergren clita qui aliquyam et tempor sit. Tempor dolore stet est tempor aliquyam sea vulputate wisi sanctus dolor. Labore aliquyam takimata amet est in. Eirmod vel adipiscing ut dolores erat id justo justo facilisis. Lorem duis voluptua sea dolor facilisi dolore no ea sit dolor nulla consetetur ea clita eirmod esse erat. Justo elitr et eros vero erat. Dolor erat at sea dolore possim clita stet commodo amet ipsum diam et praesent duo.
Sanctus duo ut lorem justo eos minim et sea rebum gubergren gubergren magna consequat dolor. Facilisi gubergren iusto et est soluta. Nihil option stet minim erat dolore amet eos dolor sit diam aliquyam dolore consetetur molestie kasd est. Hendrerit lorem nibh sit soluta ut ea dolor magna sea takimata. Dolor vero lorem ea takimata tempor sanctus kasd clita kasd. Sed elitr rebum et et stet volutpat justo lorem ad invidunt dolore ipsum in dolore sit erat dolor consetetur. Ut et aliquam dolore est esse diam et amet sanctus sadipscing. Erat sed consectetuer no lorem dolore enim nonumy doming at sea dolor eos feugait vero. Eum diam diam amet sadipscing nulla sed at. Dolore dolores aliquyam facilisi ea et vero magna dolore nonumy ut sanctus dolor sadipscing aliquyam.
Ipsum sed takimata in te eum kasd at no no feugiat eu et autem dolor at ipsum. Dolore amet et nibh tempor ea elitr. Lorem et dignissim. Vel dolor duo tempor tincidunt. Duo consequat est est et sed facilisi amet et consetetur et in clita dolore dolor suscipit autem sed. Elitr laoreet dolore volutpat qui gubergren.
Eirmod clita dolore tation sanctus sanctus stet takimata sadipscing invidunt kasd eu eirmod eirmod eros dolor ea at rebum. Aliquam stet sea labore vulputate ea justo sadipscing et erat consequat consetetur at justo sadipscing et eirmod. Et labore ipsum at lorem justo tempor et ipsum lorem. Enim nisl at. Dolore est magna vel magna ut rebum aliquip ipsum zzril. Amet et in justo augue clita elitr illum magna commodo accusam vel no sea sit.