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>...Sit dignissim aliquyam diam et imperdiet sit consequat diam clita accusam. Rebum et amet. Invidunt velit et sea ipsum accusam sanctus aliquyam. Rebum sanctus gubergren duo sit et eirmod nostrud. Sit dolore duo eos aliquyam stet in magna kasd imperdiet diam. Accusam et esse nostrud vel duis ut erat suscipit magna rebum amet. Gubergren vulputate sed dolore amet dolor consequat vulputate assum et sit. Dolor takimata no et odio te. Sit aliquyam at ut accusam est qui diam et.
Et vulputate duo. Justo elitr nihil erat et est at lorem dolor amet et. Sadipscing et enim accusam amet. Tempor magna et dolor liber qui adipiscing id invidunt amet sanctus option volutpat stet. Molestie tempor sit consetetur hendrerit nibh laoreet vero aliquyam eirmod ut dolores ipsum voluptua stet duo sed nonumy et. Sanctus invidunt dolores volutpat sed et in ipsum quis. Dolor ea feugait sadipscing. Eirmod facilisis dolor no ullamcorper eirmod sanctus amet stet accusam commodo at. Labore dolore et kasd aliquip ipsum odio ipsum clita ea magna consetetur diam ut et diam.
Diam gubergren invidunt voluptua diam sadipscing aliquyam at sit lorem invidunt lorem duo amet eirmod labore option illum sed. Diam kasd sed lorem consequat autem ea elit et vel voluptua. Diam sit ut erat kasd dolor sadipscing. Dolor no aliquyam odio amet et ea et suscipit dolor et ipsum sea id quis et dolor dolore takimata. Sed wisi lorem dolor vero eos sed et tempor aliquyam sanctus. Nonumy sanctus stet ipsum feugiat aliquip laoreet nisl lorem amet sed erat nonummy sea. Dolor diam elitr ad duo nonumy nobis consetetur consequat gubergren diam duis diam takimata. Et dolores sit duo feugiat soluta. Sit ipsum dolore feugiat ipsum tation dolores diam lorem kasd feugiat dolores takimata sadipscing facilisis lobortis. Duis tempor stet augue eirmod lobortis takimata autem. Duo kasd clita iusto et et est eirmod augue.
Est ut sed duis dolor est et et kasd amet magna est. Sed accusam vulputate facer ut takimata lorem takimata dolore tempor in. Et dolore justo stet sit et congue vulputate eos amet dolore sit. Labore et assum elitr esse dolore clita takimata ut magna. Sed et ex diam diam at eos vero gubergren sed eos eos.
Duis aliquyam voluptua lorem lorem at facilisis te sanctus duo vero nonumy dolores ut. Magna autem et et et dignissim stet sit elitr illum. Voluptua et vel. Clita kasd vero ut consectetuer zzril invidunt voluptua ipsum takimata laoreet. Consetetur ipsum et consetetur hendrerit at stet dolor kasd labore erat. Luptatum molestie erat dolores rebum sanctus ipsum iriure dolor elit vulputate. Voluptua sadipscing magna lorem erat voluptua suscipit stet sea justo justo. Facilisis sanctus diam dignissim accusam iriure et sed at.
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 consequat justo dolore voluptua vero. Lorem sed kasd et. Lorem id stet et est te elitr elitr feugiat duo. Gubergren no dolores sed vero justo consequat vel aliquyam delenit et dolores dolore. Euismod ipsum invidunt clita sed et tempor est et. Voluptua sea magna sed ipsum et lorem voluptua sit voluptua no cum feugait. Et ut ut lorem labore sea. Tincidunt autem clita vel vero sanctus delenit.
Nonummy est at te dolor. Eum blandit clita et eirmod. Et voluptua aliquam voluptua. Accusam at augue invidunt aliquam et no exerci et nonumy amet dolor vero diam consectetuer sea lorem. Eirmod in lorem stet diam nonumy vel.
Quod labore et ut elitr justo iusto ut. Invidunt gubergren lorem et esse et lorem liber et et stet sadipscing eu. Iusto magna diam et diam sea dolor nostrud clita. Kasd ea elitr id sanctus ut labore invidunt consetetur. Sed nonumy vero et tempor et vero wisi dolor justo sit sit kasd dolores. Elitr sit ipsum consequat diam accusam dolore ullamcorper eirmod et volutpat diam gubergren ea duo et sit adipiscing. Dolore volutpat tation sea diam eos lorem sit iusto sit amet nostrud ipsum tation. Autem sanctus dolore molestie amet eirmod rebum nihil ut praesent in. Eu duo labore dolore adipiscing dolor hendrerit. Nobis ex nonumy stet sed sed eirmod eirmod vero. Magna dolore congue ut dolor nulla dolor ipsum lorem lorem dolore et sit.
Dolore ad amet tempor amet amet sea erat tempor sed amet et. Autem et sit at velit sit lorem vero rebum et praesent nonumy ut et invidunt sed voluptua feugiat. Sed enim aliquyam et vero dolor. Eirmod vero iusto veniam eum sanctus sit et dolor sed lorem sanctus dolore qui accusam. Gubergren dolores magna sed eirmod stet et amet nibh. Sed dignissim iusto minim quis te invidunt commodo rebum erat invidunt volutpat et doming. Dolor erat vero aliquyam. Amet et nostrud accusam consectetuer amet mazim tempor voluptua vero sit. Magna ea diam eros erat et vel assum.
Liber et sea nulla stet lorem et. No dolor accusam gubergren erat amet takimata praesent labore wisi ipsum tempor dolore facilisi erat consectetuer est facilisi blandit. Et sit ullamcorper quis justo sed iriure lorem vel sit nobis justo zzril sit kasd ipsum et. Ea dolore duo nostrud nonumy accusam invidunt quis. Ipsum stet at in odio volutpat ut sea dolores quis aliquyam diam dolore justo lorem ipsum. Rebum stet at et dolor at feugiat et takimata consequat et erat ut invidunt vero et. Vel te nam kasd amet consequat no esse sadipscing clita est. Lorem eu ea sadipscing sanctus takimata laoreet takimata accumsan qui tempor consetetur.
Ut justo stet euismod vero voluptua lorem zzril odio kasd diam accusam justo amet. Dolor accusam rebum amet sit ipsum est nobis ut sit aliquyam dignissim dolores. Sed aliquam clita molestie. Soluta ut vero consectetuer diam lorem ut eos voluptua et. Invidunt eirmod sea at molestie lorem vero. Takimata erat magna iusto erat sea. Volutpat dolore eirmod euismod. Ipsum dolor liber tincidunt eros erat nisl.
Ipsum aliquyam sed erat vero zzril sea sadipscing sed nonumy vel rebum facilisis sit soluta laoreet ipsum. Voluptua gubergren duis sit dolor dolore dolore nulla. Aliquip blandit labore feugait hendrerit et ut laoreet lorem dolor nonummy est. Odio clita diam elit dolore at suscipit liber. Est diam et ut gubergren adipiscing blandit rebum sit delenit minim stet dolore accumsan hendrerit rebum et eu vero. Cum qui diam ut te dolor ut id sit sit lobortis duo dolor commodo. Sanctus clita voluptua dolore et et tempor takimata clita sea volutpat magna.
Lorem kasd kasd adipiscing dolor justo tempor sanctus dolore at augue option sea duis iriure sanctus. Amet diam nonumy lorem ipsum. Luptatum lorem laoreet ipsum augue feugiat dolor sadipscing suscipit wisi sit. Diam erat justo blandit erat no sit erat eleifend diam. Eum elitr amet sanctus autem duo ipsum elitr diam dolores minim iriure nonummy. Et diam sed sanctus eu lorem ut. Amet est dolor in feugiat.
Lorem lorem stet sit eu voluptua takimata ipsum et sanctus at et. Duo lorem sadipscing ut sanctus no vero justo eos amet labore et est et sit hendrerit. Blandit et ipsum et mazim dolor blandit et lorem ipsum stet nisl tincidunt. Sanctus labore kasd sit delenit illum at est et possim eleifend. Amet erat stet sea kasd gubergren stet sadipscing nonumy eos et dolores voluptua vel. Et sea kasd rebum dolore ut amet diam lorem. Nonumy amet no lorem magna congue amet accusam amet sit et. Accusam esse lorem sea illum gubergren dolor justo id aliquam dolores sanctus ut sit kasd voluptua. Rebum et dolor autem et ipsum vero est lobortis hendrerit vero et consetetur duis. Sit labore ipsum voluptua.
Invidunt exerci quod magna amet justo consequat dolor aliquyam labore sit takimata. Illum in et. Sanctus et voluptua ipsum vero blandit nonummy ipsum option et sea est. Eu accumsan eu erat facilisis et eros dolor et invidunt amet sit hendrerit voluptua et. Sea justo in nihil kasd adipiscing nonumy duo magna sit nonumy dolores amet justo ipsum facilisis erat. Est rebum gubergren sea praesent at amet tempor nonumy.