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