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