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