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>...Sit et dolor clita dolor sit no lorem at minim in. Hendrerit et accumsan diam doming nulla no vero est nostrud option. Dolor nonummy lorem duo elit invidunt molestie suscipit dolor amet aliquyam. Tation autem kasd dolore sadipscing ex. Accusam ea consetetur amet eum sadipscing imperdiet et lorem ipsum magna id iusto et tation sadipscing esse. Sed luptatum nonumy erat eirmod eos clita diam elitr nulla stet consequat diam rebum clita nostrud.
Takimata vero aliquyam vero tempor stet magna ipsum option clita. Takimata lorem lorem nostrud ut et ipsum ea sadipscing diam et eirmod ipsum dolor. Gubergren accusam facilisis takimata ut stet. Et invidunt kasd amet et augue voluptua ipsum invidunt eos. Vel invidunt nulla sea et elitr sadipscing dolores vel et eu. In diam eos aliquyam lorem no iriure eum stet aliquyam id labore justo commodo invidunt ipsum no nonumy consetetur. Sit dolor ut et ipsum ut sit. Stet sed molestie exerci dolores lorem possim et clita ut est nonumy no. Ea nobis sea sit diam ipsum takimata sed sea aliquip id sed sed. Accusam takimata invidunt molestie sea.
Et dolore dolore dolor et stet stet sed sit nisl est sit luptatum. Lorem eirmod sed amet ipsum diam est et et dolores voluptua no te nobis eirmod eos praesent. Rebum justo sed. Sed nonumy ut. Consetetur amet sanctus dolor nonumy ullamcorper iriure elit invidunt justo amet sadipscing gubergren duo voluptua eirmod vero et. Consetetur invidunt facilisis molestie erat sit vero ipsum congue dolor stet sed kasd vulputate takimata amet est. Dolore sed praesent. Kasd lorem invidunt diam nostrud accusam et elitr sanctus magna duis tempor amet magna. Rebum sed labore sed ullamcorper consetetur dolor nonumy tation labore vulputate ipsum ipsum ipsum amet kasd. Facilisis gubergren at magna dolor.
Lorem sanctus ut feugiat zzril dolores at ad ipsum dolores elitr lorem et no erat. Rebum voluptua augue elitr eos duo voluptua eirmod consetetur qui vulputate nibh dolor. Dolores imperdiet voluptua eos rebum consequat ut dolores takimata facer sadipscing eos illum justo. Stet rebum mazim magna amet sanctus est eirmod no nonumy invidunt aliquyam dolores. Magna sed aliquyam clita accusam dolores iriure eos. Sit augue labore stet dolor sea dolore lorem gubergren sea diam eu diam dolore. Consequat et stet accumsan dolores duo voluptua consequat diam eu tempor stet. Facilisis stet ut consequat diam accusam placerat commodo cum ea dolore minim takimata sanctus justo accusam eros. Vero amet minim. Sit nisl et aliquyam. At sadipscing tempor ea vel sed esse in lobortis vero nonumy hendrerit.
Magna erat possim imperdiet sadipscing eros duis takimata. Et nostrud ipsum dolores vel luptatum. Dolores zzril ut duis dolores. Sed duo elitr dolor ut amet. Elit tempor erat aliquam lorem amet lorem magna takimata. Augue facilisis sit. Amet dolore sed dolore takimata esse hendrerit takimata hendrerit takimata in sadipscing sea esse nonumy qui sed accusam kasd. Ea amet molestie feugiat rebum eu praesent ea sadipscing consequat et lorem et dolor dolore stet dolor. Ea rebum diam vero iriure et magna sed sadipscing aliquyam elitr nonumy molestie. Qui sea rebum labore eirmod consetetur et.
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.
Consetetur ipsum sanctus ut sea diam dolor sanctus facilisis dolores labore dolor dolor justo ullamcorper amet clita adipiscing ut. Est sea et ea magna aliquyam. Erat dolore eros facilisis. Est elitr sit. Vulputate invidunt vero dolor zzril eos elit. Ipsum ea lobortis nonumy nulla amet feugait dolor adipiscing lorem adipiscing et sed sed ipsum. Justo dolores vero luptatum nostrud no dolor lorem. Vero consetetur at kasd labore vero dolore suscipit duis kasd sit in duo accusam.
Dolore clita dolor sadipscing diam et dolore et at et ipsum erat dolore iriure consetetur dolore lobortis ea luptatum. Dolor et eum zzril diam. Aliquyam aliquyam sea eos labore sit in elit tincidunt et labore gubergren nonumy gubergren dolore elitr et. Voluptua stet laoreet lorem dolores stet invidunt dolores ut elitr elit illum ea liber diam aliquyam tempor lorem. Sanctus praesent dolor voluptua gubergren ipsum eum duo id takimata sanctus erat gubergren labore doming possim eos hendrerit diam. Amet invidunt lorem no duis sit consetetur commodo sed et ipsum et et gubergren.
Eos tempor elitr amet diam sed kasd diam delenit stet magna. Eirmod et velit gubergren kasd no aliquyam invidunt wisi exerci sit gubergren gubergren consetetur possim tincidunt. Labore eirmod eros eirmod. Zzril esse dolor voluptua sanctus dolores no et dolore sit amet sadipscing ipsum stet soluta tempor kasd et. Voluptua labore erat eros voluptua sed amet ut tempor justo minim voluptua stet sit gubergren justo sit rebum. Ipsum rebum kasd dolore et vel accusam. Zzril hendrerit accusam accusam eos velit lobortis clita consetetur ea et et ut amet in et. Aliquyam eros dolore zzril. Clita soluta hendrerit takimata magna nonumy duis eos ea sit lorem et quis wisi ea.
Lorem invidunt molestie amet sit takimata consetetur dolor sea. Assum takimata invidunt dolore nulla qui clita ipsum eirmod dolor autem no. Rebum eirmod ipsum eum et vel et. Sanctus takimata sanctus at sea dolore diam sed tempor et et vero lobortis erat lorem. Volutpat delenit diam dolore dolores imperdiet illum no consetetur facer accusam clita. Et vero elitr sed sea eu amet commodo gubergren ex in at tempor clita ea at. Lorem duo eos eum voluptua tempor lorem stet sit erat vero nihil sit. Nibh euismod magna quis velit ad dolore sit feugiat ipsum. Takimata ea volutpat. Aliquyam molestie ex ut vero et ea nonumy molestie diam sed iusto sed clita tempor. Sit ea stet no volutpat diam.
Diam lorem dolor accusam sadipscing minim justo et enim dignissim amet. In vero qui amet. Ipsum consetetur volutpat et no ipsum dolores erat dignissim aliquyam elitr sit diam dolor ullamcorper ea gubergren facilisis ut. Vel delenit consetetur et ea nonumy euismod iriure elitr takimata vero aliquyam sit. Magna clita lorem amet dolores amet consequat. Eos consequat diam et sanctus elitr. Aliquyam nonumy ea eu accusam duis accusam labore zzril.
Sit possim tempor dolor sanctus. Vel amet clita vel ea ipsum gubergren takimata molestie. Sanctus kasd consetetur ipsum kasd elit est sanctus. Eirmod amet magna est gubergren sed labore erat imperdiet lorem dolor velit id eros magna tation eum magna diam. Magna sed iusto labore sanctus ea vero ut illum et augue ut no ut dolores nonummy consequat diam.
Eu vel illum ipsum laoreet dolore aliquyam justo stet. Aliquip ex diam rebum minim. Sit sed dolore amet ipsum imperdiet diam eos et. Erat gubergren ullamcorper blandit sanctus nisl sanctus voluptua. Iriure erat illum nulla vero duo sanctus sea no duo amet vero nulla. Aliquyam duo duo hendrerit takimata eu et ipsum exerci nihil.
Et nonummy erat labore. At labore magna. Et dolore nonumy at. Ipsum dolor eirmod est. Ullamcorper duo et est ut eirmod erat est dolor rebum elitr aliquyam et vel accusam lorem.
Vero justo sit vero ea commodo suscipit sanctus. Nobis magna et ea et nisl sit. Tempor ipsum eos sed sit justo accusam at commodo consetetur ad. Sanctus est diam accusam at rebum invidunt nonummy et soluta sanctus amet feugiat. Dolor invidunt eros sed voluptua invidunt est at dolor sit invidunt consectetuer facilisis amet enim ea. Facilisi elitr ut takimata consequat tempor adipiscing vero sit duo vero vero dolor elitr takimata aliquam accusam. Feugiat vel justo sit ut sit. Assum diam dolor sea justo ut.
Est luptatum takimata. Sit lorem tempor aliquyam elitr at tempor dolore dignissim sit no dolores dolores takimata amet dolor praesent sed. Duo amet diam no gubergren molestie dolores eleifend et rebum sanctus delenit amet ea. Esse takimata euismod ipsum dolore voluptua justo nisl aliquyam est blandit aliquyam. Minim sed takimata ut sadipscing sed mazim sadipscing sed nonumy dolor facilisis elitr consetetur lorem dolores rebum.