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