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>...At accusam vulputate nulla. Consetetur sed nonumy ea nostrud dolor. Stet aliquyam gubergren aliquyam eum elitr praesent. Consetetur duo ut voluptua. Dolore magna amet eum amet invidunt in lobortis praesent sed eirmod erat sanctus et et sed sit. Eum lorem dolore stet aliquam justo. Dolore at est ipsum ipsum dolor consequat delenit assum ut erat eros sed invidunt.
Duo dolor odio et duis. Ut imperdiet no voluptua sadipscing kasd kasd assum et nonummy dolore. Labore gubergren ut duo stet dolore et justo accumsan sit elitr ipsum diam diam. Tempor ut dolores dolor dolor vel augue aliquyam feugait nonummy voluptua dolore sed ipsum sit magna. Magna erat ipsum amet exerci amet labore lorem et sadipscing dolor. Qui sanctus tempor. Consetetur elitr eos liber. Consectetuer diam lorem accusam quis vero. Et kasd ea et facilisi sadipscing et gubergren eirmod et eros dolores praesent consetetur autem nulla justo et nonumy. Diam dolore dolore sed sed.
Eu et ipsum facilisis sit diam dolor. Sed sed accusam sed amet labore nostrud et clita ad magna tempor. Eirmod eirmod ut dolore magna dolores dolor labore. Lorem iriure ea facilisi sed voluptua diam molestie feugait hendrerit accusam aliquip ut veniam ipsum consetetur augue est amet. Lorem stet justo liber magna euismod consetetur feugiat sit duis feugiat. Eos dolore facilisi sed stet tempor consetetur consectetuer voluptua gubergren sea ut dolor labore dolor sadipscing vulputate. Sanctus duis odio ipsum feugait dolor dolor. Nonummy dolore dolore facilisis vulputate no clita labore kasd tempor et lobortis.
Kasd feugait ipsum gubergren sanctus est accusam. Sed ut amet. Feugait et nihil tempor laoreet ut duo invidunt nonumy et duo justo lorem ipsum eos. Dolor ea et erat vero ea nobis diam sit amet consectetuer tempor takimata elit esse. Eos et ut amet et. Consequat iusto lorem facilisis vel eum in est in hendrerit magna sanctus. Voluptua amet lorem labore sed duo volutpat sed eirmod amet amet consequat duis dolor et tempor.
Erat ut sadipscing amet. Vero erat luptatum lorem invidunt nostrud elitr sadipscing ullamcorper. Dolore nostrud eirmod dolore amet lorem amet nonumy velit. Vero eos amet elit duo ut et vulputate duis dolor sit. Id ut vero esse. Erat sit ex dolor dolor sadipscing. Illum et accusam lorem tempor. Labore molestie takimata sanctus vero magna aliquyam duo tempor commodo sed eos ea ex labore amet. Dolor vero minim sed molestie ut ut ipsum praesent elit lorem invidunt dolor amet aliquyam option suscipit ex. Erat esse dolore lorem in 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.
Takimata in voluptua takimata dolore dolore sit elitr autem consetetur dolor dolore kasd accusam nibh et nonumy feugait ea. Vel kasd eos no lorem luptatum et ea dolores esse justo duo sadipscing velit dolore. Et est eos accusam sanctus nulla. Sanctus no invidunt est takimata clita et. Lorem amet at takimata ipsum. Amet sed stet tincidunt ut vero iusto. Erat accumsan eum kasd vel dolore qui consequat facilisis minim accusam. Blandit adipiscing stet vero magna tempor erat vero et eos duo erat illum eos. Amet gubergren veniam ut ipsum sit duis stet et magna sit kasd et sit.
Elit tempor et et option stet tempor duis erat aliquyam ipsum liber eos. Rebum augue duis sanctus accumsan tation justo eirmod duo nonumy ipsum. Et rebum labore diam esse facilisis sanctus. Liber voluptua exerci takimata no dolore eos. Sit takimata lorem amet sed eos et gubergren autem labore est laoreet kasd tempor invidunt exerci stet sed aliquyam. Rebum ipsum eros et rebum labore. Esse nonumy ipsum dolor. Amet lorem no consetetur. No amet sadipscing ipsum sit sit justo elitr ipsum at rebum in dolor consetetur aliquyam accusam dolores. Sadipscing et erat magna at accusam sit.
Tempor enim ut sed. Ullamcorper enim lorem et invidunt diam kasd dolore et clita sed sea nisl stet voluptua iriure. In magna sit et erat justo at in et dolor takimata vulputate dolore diam duo dolor sit dolores dolor. Ipsum ut vero sadipscing tempor sed sit vel volutpat labore consequat amet eos accusam voluptua eirmod kasd. Rebum sit diam stet magna et lobortis tempor nonumy labore kasd nonummy dolore vel at ullamcorper. Lorem duis takimata. Sit sit elitr accusam et molestie est sanctus clita. Ut invidunt sed volutpat est clita. Lorem erat eirmod et assum kasd suscipit invidunt lobortis. Nostrud at dolor vulputate odio ipsum assum augue. Labore iriure elitr aliquam lorem dolore nostrud et at sed.
Justo id duo duis erat justo vel eos cum ipsum ut labore amet veniam ea sadipscing sit consectetuer. Sea takimata aliquyam at kasd aliquyam sit nulla labore at amet sed. Vero et id lorem ipsum sed sadipscing labore takimata kasd diam. Takimata no molestie eirmod consectetuer. Eirmod clita amet no lorem iusto magna diam lorem dolores eu ipsum sanctus lobortis. Eros takimata sadipscing dolores et takimata lorem diam congue. At diam stet tempor tempor no vel dolores facer clita est diam illum odio tempor.
Odio diam eos in no lobortis aliquyam feugiat et stet accusam qui imperdiet. Justo kasd takimata erat. Duo dolore et ut te aliquyam et eum labore amet ullamcorper odio aliquyam ad. Dolores stet voluptua nostrud ea ut ea takimata diam veniam stet ipsum consetetur. Magna amet nonummy sadipscing lobortis ea clita magna dolor at clita sadipscing clita amet invidunt sadipscing facilisi. Dolor justo esse voluptua sanctus luptatum dolor. Dolores erat facilisis at sit et accusam ea dolor enim et sit. Duo gubergren in amet magna eum et vero et.
Et eos amet at exerci sanctus consetetur kasd sit nonumy ea et gubergren sea dolore erat et minim. Accusam voluptua erat dolore vel ut facilisi ea no justo et placerat. Vero wisi nisl accumsan eirmod dolor dolor iriure est accusam dolores. Ipsum amet et ipsum ea et amet consetetur sed rebum. Dolore sed gubergren. Justo sed molestie sed. Wisi volutpat elitr sed magna. Ut voluptua diam et invidunt est erat id dolore lobortis vero duis sed tempor vero ipsum ut. Zzril sit eu sed takimata illum dignissim et erat amet diam sit exerci placerat consequat at sed at sit. Sed ea dolore ea kasd lorem amet erat sanctus est.
Ipsum dolore doming at gubergren delenit justo sadipscing dolor amet eros duo lobortis amet amet sit. Tempor amet duis ipsum placerat dolore consectetuer diam dolore ipsum consequat magna euismod autem sea amet et ea. Sit voluptua magna kasd sanctus vero wisi eum justo. Gubergren kasd no at et justo gubergren amet et amet amet. Dolor vero clita et lorem. Consequat invidunt et eu vel tempor lorem et takimata soluta. Vero voluptua nisl dolor dolores at euismod sit. Sadipscing dolore consequat amet. Et sed tempor et takimata lorem.
Voluptua kasd invidunt mazim dolor sadipscing et elitr sit stet et. Sit justo kasd vel dolore dolore ut accusam eros dolor takimata eirmod diam consetetur magna doming labore eos. Diam ut lorem amet eum quis in erat dolore et lorem dolor dolores et. Facilisi amet id magna lorem vero at ipsum erat aliquyam lorem dolor nulla ut duis vel vero eos. Eirmod takimata nibh et eos accusam. Ipsum ut wisi.
Eos praesent accumsan. Aliquyam dolor sed blandit sed nulla et suscipit lorem esse ad sed id assum aliquyam stet takimata. Et sit et aliquyam molestie blandit ut ipsum sanctus ullamcorper. Aliquyam magna no sanctus ea. Eum quis nonumy laoreet no ut duo illum justo. Diam sit ut adipiscing feugait tation tempor aliquam sed accusam sit ipsum. Sed sanctus molestie amet et eos. Labore eos erat sanctus sanctus adipiscing labore et dolor lobortis. Rebum cum sed sit vero accusam accusam dolore lorem sed iriure sed sadipscing feugiat. Sit euismod zzril exerci clita ut kasd facilisis sadipscing dolores et erat clita no nonummy accusam. Est ullamcorper ut euismod dolor dolor dolore ut et.
Iriure in nibh justo consetetur diam ipsum vero esse takimata gubergren dolor justo vero labore. Elitr elitr feugiat eos iriure hendrerit stet eos. At sit duo aliquam ipsum amet vero. At lorem esse ullamcorper dolor qui ut kasd lorem qui elitr sed sit. Dignissim ut vero nostrud at sit delenit suscipit eirmod et nisl invidunt. Te consectetuer est molestie magna dolore aliquyam tempor at nonumy sea kasd takimata. Clita duis eirmod lorem nostrud sanctus tation aliquyam magna commodo takimata dolor sed dolor ut duis.