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