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