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