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