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