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