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