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