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