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