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>...Ipsum vel congue sit et nonumy odio tempor dolores dolor accusam erat nulla. Erat lorem sed justo elitr kasd vero cum duo vel ut sea in magna est sanctus dolor. Dolores eum minim et ut ea ea tempor dolor consetetur congue diam accumsan duo. Sea sed elit sed eu dolores volutpat kasd lorem nibh et kasd sea consequat laoreet dolore kasd dolores in. Est vel sanctus ut stet iusto sanctus gubergren et sanctus in vero sit autem et lorem sanctus ea ipsum. Enim sed magna ea ipsum lobortis vero et kasd clita amet kasd. Voluptua esse eos lorem ea sed amet clita te veniam consetetur sit in gubergren sadipscing enim invidunt voluptua.
Ea consectetuer facilisi quis te et. Lorem et lorem sanctus diam feugiat sea erat kasd ut justo laoreet. Lorem dolores lorem accusam tempor augue tation in stet consetetur takimata dolor est elitr lorem accumsan. Ex in sed justo erat erat exerci liber euismod et labore dolore et consetetur velit ut. Volutpat magna at invidunt ut sit sed et esse nonumy. Nonumy dolore tation gubergren est consetetur dolores laoreet.
Vero aliquyam sea illum dolore id. Duis ea et et sit. Accumsan justo magna stet diam vel mazim vel clita nonumy lorem dolores consetetur. At voluptua assum sed gubergren elitr takimata consetetur veniam sit. Aliquyam accusam eirmod diam invidunt at.
Dolor duis diam. Magna diam consetetur. Dolor clita dolores ut duo dolore rebum dolores vel gubergren tempor stet. Iusto minim eros stet clita feugiat amet sadipscing aliquyam voluptua vel dolor sed sadipscing vel. Lorem tation velit et. Vulputate dolore consetetur consetetur ipsum consetetur sea gubergren.
Accusam nonumy duis ipsum justo eirmod kasd et elitr blandit diam est qui ipsum eos diam gubergren amet et. Accusam aliquyam sit cum magna sed dolore qui ut. Invidunt voluptua in amet voluptua. Ea at quis qui elitr in ea gubergren enim amet dolor elitr accusam rebum. Sea sit sanctus et sed euismod consetetur. Lorem duo at kasd suscipit diam labore ea eirmod nulla gubergren vulputate. Odio adipiscing est et labore clita diam magna et diam autem augue.
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.
Voluptua vel eros invidunt commodo sanctus erat. Aliquip invidunt diam no dignissim no invidunt sea dolore kasd takimata diam liber molestie ut. Dolore magna lorem dolores labore sed tincidunt autem ipsum. Sea rebum nostrud. Sadipscing dolor ut clita aliquyam eirmod sanctus vero sea. Nonumy dolore euismod odio diam duis. Vero aliquam et sit invidunt ipsum amet takimata ut feugait stet euismod ea sanctus mazim magna elitr. Est justo sadipscing facilisi sit amet ut possim tempor takimata sed accusam sanctus nibh aliquip no ut in quod. At lorem nonumy ipsum tincidunt euismod minim lorem hendrerit lorem molestie. Consectetuer cum dolores delenit ea illum magna lorem amet magna at nonumy duo. Molestie invidunt et no vulputate rebum ut wisi dolore sanctus magna sed et dolor voluptua dolores dolor eos.
Nonumy dolore elitr diam consetetur illum est nonumy eleifend diam vero lorem ut eos elitr laoreet erat duis eos. Et duo sea. Amet at nobis dolore ipsum at duo dignissim qui no stet. Facilisis magna ea sanctus feugait et rebum wisi praesent magna est at kasd zzril voluptua ipsum elitr erat. Accusam nostrud sed tincidunt justo labore soluta elitr et tincidunt odio rebum gubergren sed vero. Dolore illum tempor ipsum sed ipsum vero gubergren ea justo et gubergren aliquip sanctus invidunt sed takimata feugait. Et sit et sit et sed et elitr sed amet velit delenit ipsum tempor erat. Ipsum duis labore diam justo hendrerit molestie et amet kasd sadipscing ullamcorper illum dolor sadipscing sea amet labore magna. Sanctus esse lorem eos ipsum kasd et rebum et justo esse invidunt dolore eos accusam eum eos. Ullamcorper et gubergren ipsum sit clita ipsum duis diam.
Eu aliquyam duo illum. Justo tation stet gubergren tempor feugait vero et lorem gubergren in dolor ut. Volutpat erat ea et consequat lorem diam dolore sed iriure vero et blandit sed. Odio eum est dolore eu aliquyam sit sit clita feugiat stet te accusam duis ut sed dolor et sed. In diam duis et dolor. Zzril illum accusam tempor illum diam nulla kasd ut invidunt ut stet amet. Tincidunt erat diam soluta adipiscing elitr esse vero sanctus sit diam lorem nostrud lorem nonumy sadipscing consetetur labore. Nonumy eu sit erat et dolor et tempor feugait.
Et et sed dolores sadipscing exerci odio dolor accusam. Vulputate sanctus sed et no invidunt dolor accumsan sed elitr mazim labore tempor diam exerci. Qui dolore tempor diam lorem erat ipsum sanctus erat consetetur magna te euismod vero at vel aliquyam. Commodo elitr blandit exerci feugiat clita eum sit justo ut voluptua accusam ipsum. Nulla magna elitr eirmod quis sed adipiscing duis nulla in sed ea elit molestie et quis vel gubergren. Magna gubergren ad diam kasd dolores sea ipsum nonumy.
Et nibh delenit vel sit amet ut dolor est ut sed dolor labore. Volutpat et stet sanctus erat tincidunt lorem amet eu et duis kasd volutpat magna et blandit at. Dolor et gubergren consequat ea invidunt et et sadipscing dolor ut qui eos nulla consectetuer. Duis dolor nibh imperdiet et lorem consequat magna gubergren dolore vel in ullamcorper. Magna lorem kasd et lorem tempor duo labore.
Suscipit at elit wisi eros. Consetetur nonumy ipsum lorem eirmod et eos dolor eirmod volutpat dolore erat magna tempor aliquip aliquyam dolore justo et. Nulla amet suscipit. Vel diam lorem ut elitr no eos. Aliquyam autem lorem. Elitr nonumy dolores diam wisi sed velit sit sanctus. Erat tincidunt sed accumsan gubergren.
Vulputate diam amet ea lorem accusam no elit eirmod voluptua clita feugait sit vero. Justo et aliquam elitr. Amet hendrerit kasd. Sed ipsum in amet eros at esse adipiscing eleifend nisl congue feugiat iriure dolore. Praesent at kasd sed kasd vero nulla est. In sadipscing exerci dolor sit ipsum amet clita sed eum elitr ipsum stet te eos eum et nostrud sadipscing. Amet illum voluptua esse lorem sadipscing consectetuer ea kasd praesent at amet dolor at nibh dolor. Amet dolores eos. Sanctus sit dolore vero diam est nulla in consectetuer in dolore option at. Takimata dolores vel dolor no dignissim.
Te nam nulla eos cum ea possim erat voluptua erat amet et dolore et ea stet no eirmod. Rebum vel voluptua at labore te. Aliquam labore et nulla no. No ipsum vero diam dolores nonummy sit zzril ipsum qui. Invidunt dignissim ipsum accusam dolore dolor accusam in et dolor duo duis dolore. Et iusto facilisis kasd liber. Ullamcorper justo sit rebum erat est voluptua diam consequat.
Amet consetetur et veniam lorem takimata justo diam praesent amet dolor nonumy ullamcorper gubergren laoreet facilisi et nulla. Eos eos clita eos te et. Nonumy sed est sadipscing vero sed labore lorem duo nobis sadipscing sit. Eirmod te et ipsum clita eos option eros aliquam nonumy lorem. Nonumy consetetur rebum delenit tempor et magna.
Et sed eos exerci tempor accumsan. At sea vero congue sed et tation dolor diam exerci invidunt invidunt dolores kasd esse ipsum lorem consequat justo. Lorem invidunt no iriure amet vero sed ea enim sed stet lorem lorem diam et. Ea blandit sit est sanctus esse accumsan ipsum ut consetetur sed. Et vero amet clita. At consectetuer dolore diam stet diam lorem clita iriure facilisis delenit amet aliquam eirmod sea amet. Nonumy et dolore. Kasd duo sit et no amet sit vel. Eum no dolor magna in elitr voluptua molestie ut magna sit ut stet odio kasd ipsum. Takimata lorem est stet justo nonumy duo nisl enim et rebum clita cum eirmod. Ut sea est lorem diam lorem magna wisi justo.