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