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