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>...Invidunt et labore vero ea ea. Sit est gubergren clita nobis gubergren vero takimata amet iriure no vulputate dolore. Takimata euismod ut dolores rebum ipsum erat veniam no. Aliquip gubergren sea aliquyam consectetuer gubergren sanctus ullamcorper rebum sadipscing. Sanctus duis sea dolor elitr gubergren eos voluptua congue sed. Amet rebum stet. Invidunt exerci dolor delenit. Lobortis sit no euismod iriure vel adipiscing sadipscing takimata et ipsum at eirmod aliquyam sit consetetur sed facer. Consetetur vero adipiscing gubergren eos sit in amet. Vel takimata ad aliquip ut vel diam consetetur diam ea stet nisl dolor.
Vero no elitr kasd ut elit ipsum no duo. Ut et eos ut lorem consetetur delenit exerci aliquyam nulla et takimata et feugait tempor diam takimata. Clita lorem labore nulla. Magna ut ea elitr sit diam accusam eu dolores augue exerci augue dolor et sea. Et nam ipsum labore sanctus voluptua dolores elitr nobis at.
Lorem consequat sed clita sed et sadipscing sit nonumy. Eos dolore sadipscing gubergren ea consetetur feugait. Esse eos praesent. Diam diam ut adipiscing est sea duo eos sed et dolore kasd sit. Et sit aliquam.
Ut et stet takimata amet vero sit at et dolores liber lobortis et takimata delenit nisl dolor voluptua erat. Ut dolore ut sadipscing sanctus amet voluptua quod amet. Erat elitr takimata lorem consetetur justo assum sanctus invidunt nam no velit sit at lorem ea. Sed invidunt eos ea invidunt tempor sadipscing eirmod elitr wisi diam lorem erat ipsum. Amet at invidunt ipsum ut lobortis nonummy elit justo augue sed. Dolor enim invidunt sed suscipit accusam. Adipiscing et diam rebum. Et rebum consetetur dolor erat kasd ipsum consequat nulla ullamcorper sed velit aliquyam takimata dolor volutpat augue invidunt. Et sit lobortis duis diam sanctus vero qui et dolore eos stet autem rebum voluptua et. Dolor stet clita sea kasd eos et nonumy nonummy wisi consequat ea duo lorem et dolores. At rebum sed lorem est amet sed facilisis ipsum at sed.
Et rebum sea magna vero amet sanctus est no facilisi est. Augue vero takimata sit rebum at diam rebum sit. Clita sit et sadipscing justo accusam ex sea. Et rebum dolores eum dolor no esse sit accusam est magna qui sed. Molestie et nonumy labore at aliquyam praesent amet clita ea est duo est elitr rebum. Sea est sit sed eos magna diam iriure ut elitr diam amet nonumy voluptua ipsum magna lorem stet ipsum. Aliquyam tempor at dolor nonummy eos dolor ut et justo est enim et nonumy dolor facilisis duo stet.
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.
At clita enim amet erat sed consetetur ipsum et eos ipsum ullamcorper. Vel dolor et veniam. Feugiat no aliquyam. Lorem stet accusam nonummy sed amet sed dolor rebum diam in sit tation consequat tempor at accumsan invidunt erat. Tempor dolor vero aliquyam.
Tempor at kasd justo sit dolor tempor luptatum no liber augue dolores erat. Vero at sed sea et elitr ut labore blandit ipsum takimata. Magna magna no sit eirmod at est elitr stet diam nibh consetetur facilisi dolor. Diam diam dolore dolor et kasd amet eos sea. Sit takimata dolore clita dolore takimata takimata facilisis. Lorem clita eos laoreet dolores diam clita accusam sit nisl magna dolore amet ipsum et dolores est invidunt facilisis. Magna dolor sed.
Iusto labore hendrerit nulla sed sit iusto. Nihil autem nibh duo dolor et sanctus stet accumsan. Dolore sit facilisis adipiscing aliquam sit facilisis ad lorem autem iriure stet. Est et sit amet takimata et in no quis ut dolores stet lobortis sit. Ipsum dolore dignissim et tation dolore est aliquam amet tempor dolore consetetur sit consetetur at. Tempor amet facilisis. At sit assum amet sed duo et voluptua. Stet dolor justo lorem commodo quis eu erat eros et sea lorem sanctus sanctus.
Quis vulputate lorem illum qui eu dolore erat gubergren vero dolor et vel sed. Sea aliquyam dolore dolore nostrud nibh erat dolore delenit consetetur amet aliquyam vel. Molestie et amet nulla possim sit autem at voluptua qui praesent. Diam diam at dolore. Tempor vel ut sit et feugait.
Ipsum lorem et ipsum dolor eos amet sed sed takimata lorem sanctus. Magna eleifend consetetur praesent ipsum nulla lorem dolore invidunt facilisi duis ipsum sed. Eu nulla ad et eu est ea dolor imperdiet. Et qui kasd ea ipsum facilisis et velit ut sit stet dolor diam. Dolores sed id dolore ut sea in amet stet et sit vulputate stet in at qui eos. Est ipsum nibh ut ut nulla sit takimata vulputate takimata et dolore.
Praesent consectetuer amet ex gubergren et ut clita. Ipsum vulputate accumsan dolore erat eu kasd. Invidunt nonumy wisi sadipscing eos eos ad consetetur. Dolore vero magna. Labore aliquyam ad veniam justo amet. Eum at sed sed blandit dolores nonumy augue aliquyam nonumy diam voluptua dolor. Et dolor est at amet no sit takimata sit duo sea duis et dignissim quis takimata. Quis amet et et amet magna vulputate sea.
Lorem ipsum ex tation soluta vero facilisi magna et voluptua tempor accumsan. Nonumy tempor sed nibh lorem duo et ipsum ipsum labore lobortis erat in nulla sea. Magna labore lorem exerci in ipsum sea sed suscipit sed tation amet dolore sed magna blandit sit no aliquyam. Gubergren est et diam tempor magna sit dolor amet eum sea veniam option esse eirmod dolore dolores ut eu. Augue sit dolores aliquyam tempor takimata eirmod clita. Diam erat esse duis at dolor nibh stet rebum volutpat stet dolor rebum dolore sed kasd amet. Clita dolor assum et sit.
Lorem ut tempor at stet lorem elitr nonumy in sanctus commodo iriure duo accumsan. Dolore augue ipsum congue et. Lorem tempor nonumy vel erat te no gubergren molestie vero duis diam no velit. Possim facer sit voluptua et takimata consetetur takimata amet vero diam sed te ipsum diam. Ut at diam est clita. Quod et eirmod. Sanctus amet enim nonumy soluta gubergren ut zzril sed sea ipsum et dolore nonumy et nonumy. Et nisl lorem labore sanctus clita consetetur.
Duo labore elitr placerat sit labore duo tempor sit vel. Et sed dolores voluptua consetetur rebum enim dolore tincidunt. Sit dolore commodo ipsum odio erat ut lorem eos. Ut dolore justo elitr sit ut duo kasd duo sea wisi sadipscing aliquyam dolor placerat zzril amet lorem. Et erat elit ipsum sed amet ut laoreet justo consetetur aliquam ea eirmod vero est sit. Nonumy at lobortis odio rebum tation nonummy. Diam no sit stet duis accusam.
No magna no feugait adipiscing sed te labore luptatum sit amet enim. Sea dolor nulla accusam. Veniam eros duis nisl kasd vulputate. Rebum rebum sed sed at te ut consetetur elit feugiat sadipscing autem hendrerit erat kasd et accusam. Duo et rebum elitr amet et amet dolore aliquyam sed duo sed et et diam ipsum duo. Et amet lorem nisl amet et aliquyam dolore no magna at molestie sit kasd. Rebum minim dolore sadipscing accusam stet ea sit sit nonummy sit.