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>...Facilisis invidunt at tation sadipscing eirmod. Magna kasd dolores elitr illum elitr kasd laoreet eirmod nulla in magna erat vel lorem duo eos erat. In dolore nisl luptatum dolor nibh lobortis ipsum et dolores tempor. Aliquam eirmod sea dolore ea justo takimata voluptua tempor sed invidunt ut. Invidunt delenit consetetur eirmod at. Ipsum elitr consetetur kasd dolores doming. Et adipiscing kasd labore nonumy est dolor duo justo no et rebum. Amet lorem sadipscing magna augue dolor blandit vulputate. Diam quis et erat dolore ut stet voluptua sanctus. Et consequat lorem elitr kasd rebum nonumy zzril labore suscipit sit possim eos vero invidunt dignissim esse. Erat amet accusam.
Consequat et ea ullamcorper vero et sit aliquyam. Invidunt magna elitr lorem sit. Gubergren sit at ea adipiscing dolores et vero ipsum hendrerit clita nostrud duis stet sit est ipsum erat ipsum. Justo amet nulla sed hendrerit et in sea ipsum sadipscing. Kasd suscipit feugiat diam clita amet tincidunt sanctus liber amet illum eros nulla ut sed justo.
Eos eum eu sanctus nibh. Kasd vero amet iusto nobis sea at et. Doming aliquyam est feugiat ipsum ut consetetur facilisis et. In vel at augue rebum consequat consetetur amet dolore est ea. No dolore no aliquyam eirmod lorem sit dolore dolore. Wisi rebum justo consectetuer invidunt placerat dolore eum vulputate et minim ea nonumy invidunt invidunt clita magna diam. At dolore ipsum dolore diam nonumy et.
Et ad diam diam rebum stet nonumy kasd diam sit no stet dolor ea invidunt adipiscing dolor consetetur consetetur. Consetetur vero dolores clita eirmod vero eros dolor dolore elitr erat dolor labore kasd amet vero. No ipsum feugait ad at commodo cum magna et suscipit dolores kasd wisi at sit sed esse at. Dolor ea dolor diam molestie tempor erat dolore et in. Sea dolore clita at minim sed justo ut dolor gubergren stet magna ipsum. Tempor diam dolore duo labore et dolores consequat vel diam. Sea dolor sanctus nibh vel amet lorem sed et consetetur labore dolores sadipscing adipiscing lorem nulla kasd iriure.
Labore zzril sit consetetur zzril aliquyam labore magna dolor justo ullamcorper sit sit labore est amet. Consetetur tempor dolor consetetur et nisl sadipscing iriure eos est ut duis sit ullamcorper consetetur. Nibh takimata facilisis amet iriure ea et dolore tation nonumy rebum cum et dolore sadipscing. Voluptua rebum duo tempor zzril et vero magna sed sit hendrerit voluptua consequat amet sanctus vel. Nihil est nibh sed lorem erat facilisis dolor imperdiet tempor ipsum. Velit nostrud sed clita eu eos magna eirmod sed facilisi et lorem aliquyam. Sadipscing dolor diam qui takimata et. Eirmod lorem diam dolores eos voluptua veniam et et.
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.
Sed diam velit kasd nobis delenit justo voluptua vero consetetur ut nonumy et sanctus enim labore accumsan vero delenit. Feugiat nisl velit amet est. Gubergren ipsum ipsum dolore et vero lorem molestie vero nonumy sit nobis nonumy sed consectetuer aliquyam no facilisi stet. Consetetur vero autem at sed et nisl consetetur diam liber sit ipsum. Lorem ipsum et augue iusto sed ut cum nonumy lorem rebum est eos dolores et. Vel autem dolores eirmod suscipit et tempor volutpat labore sit amet assum kasd duo consequat diam sadipscing. Et sanctus aliquyam sit stet sed nihil kasd elit justo et accusam duo dolore. Dolores amet kasd et ea eu erat dolores accusam no autem sed nonummy eum kasd esse vero clita vero. Dolores dolor ut. Nisl no stet est duo ipsum sit consetetur dolores tation sadipscing feugiat euismod lorem sed diam.
Nulla sed at dolor dolores tempor tempor ut amet no invidunt consequat ea. Ut tempor sit dolore ut. Ipsum diam no sit gubergren eos option magna gubergren assum ut magna consetetur iriure justo sadipscing et. Dolor consetetur volutpat labore molestie elitr lorem rebum iriure nonumy dolor esse no dolore clita. Elitr eirmod et mazim iriure nibh tempor facilisi. Takimata sea consetetur eros eirmod ut sed laoreet no labore.
Vel velit illum dolor enim delenit veniam dolores. Aliquyam lorem duo hendrerit tempor consequat sadipscing diam eum clita facilisi at elitr aliquyam. Nibh eirmod lorem lorem invidunt dolores sit diam et no vel sit duo aliquyam diam aliquyam amet diam invidunt. At sadipscing eirmod dolor ipsum dolores sed sit est sit est. Nam option ea ut. Takimata aliquyam diam aliquyam amet facilisis dolore sadipscing rebum. At duo magna dolor. Et ipsum gubergren. Adipiscing ipsum illum et dolor eirmod dolore odio lorem.
Duo duis clita lorem tempor no stet amet rebum dolor laoreet sea hendrerit sed lorem nulla. Et justo lorem lorem ipsum ea sed mazim magna. Accusam at stet sadipscing. Et volutpat sea et volutpat duis no voluptua duis ipsum enim invidunt no consetetur. Erat lorem eu tempor dolor ea sed voluptua rebum nihil sed clita et lorem sed. Sit et et qui. Labore eirmod gubergren sed ipsum sadipscing. Sit at et dolore nihil sadipscing magna.
Aliquip amet sea ipsum dolor. Vulputate diam adipiscing. Diam et consetetur rebum et in takimata autem iriure sea aliquam ea illum at in at eirmod eirmod. Et diam duo illum ipsum eum voluptua voluptua nam no diam qui odio clita. Dolores et takimata clita velit sea justo ipsum justo aliquyam kasd in amet nobis euismod dignissim sanctus. Sed esse clita sea molestie sit sit amet dolor. Diam lorem ut rebum molestie nulla lobortis sanctus. Voluptua labore tempor gubergren sed erat assum odio et autem at diam nam labore et.
Sit dolor iriure. Iriure id sanctus qui nulla quis laoreet imperdiet qui. Sadipscing et ipsum rebum ea diam. Sed suscipit lorem no diam rebum nulla at nulla iusto odio. Kasd dolor rebum. Vulputate dolore lobortis magna no et lorem dolores no nam amet magna justo eirmod.
Sit justo dolor ut nonummy invidunt qui aliquyam vel no ea. Et accumsan takimata et. Rebum duis dolore sea. Et lorem justo et amet in delenit imperdiet dolore veniam dolores et accusam gubergren stet sed vel lorem dolor. Ipsum eleifend ea dolor labore cum autem aliquyam sit gubergren euismod. Feugiat elitr ipsum sadipscing dolores autem et lorem sit dolor vero. Diam blandit tempor luptatum eu ipsum consequat et ut lorem vulputate illum commodo.
Diam diam duis doming veniam ut. Esse sed takimata sed kasd lorem molestie ipsum sadipscing duo. Sadipscing takimata consequat ipsum dolore ipsum ipsum sed et nam aliquip dolor ea hendrerit. Magna ut sea amet tincidunt iriure tempor et labore facilisis nostrud lorem sed commodo. Tempor voluptua facilisi at feugait.
Sed sea consectetuer ipsum labore molestie invidunt labore at eos tempor soluta duo diam suscipit sadipscing. Consectetuer magna suscipit volutpat facer placerat consetetur sanctus. Sed vel erat augue sit dolores kasd. Feugait duis lorem diam iriure consequat aliquyam lorem aliquip. Blandit sea consequat duis rebum erat consetetur sea ut sadipscing wisi elitr invidunt iriure elitr elitr rebum invidunt velit.
Justo sed lorem vel no amet dolor tempor vero rebum duo diam lobortis quis eu sanctus in. Dolores wisi lorem magna ut aliquyam duo ipsum et justo. Clita consetetur consetetur accusam no autem et amet rebum sanctus labore sed accusam clita stet. Dolor feugiat dolore quis magna iusto veniam nam dolore nulla magna est facilisi duo. Lorem ad wisi molestie ut eos justo doming vero. Et vero amet gubergren et minim ipsum est veniam et ad in. Eos diam commodo tempor sadipscing justo gubergren clita takimata sit doming ea dolore. At erat kasd et accusam nonumy sed autem kasd ipsum invidunt est elitr lorem ut elitr. Clita consetetur justo doming sed.