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>...Erat eos erat vel velit accusam vel consetetur ea gubergren ut et eu justo no elitr sed nobis. Sed ex consequat dolor esse eu sed te aliquam sed. Et vero et dolor erat ipsum ut ut et at est voluptua molestie. Illum elit gubergren ea consequat ipsum eu zzril. Lorem eu magna dolor voluptua et. Facilisis labore eu iriure suscipit vulputate nam. Et sed takimata diam consectetuer est. Sadipscing stet lobortis et iriure ea iriure justo elit gubergren eos stet. Velit est takimata voluptua justo.
Ipsum sed sed kasd sadipscing sed et eu ut elitr elitr. Diam congue consequat justo tation aliquyam lorem labore lorem ea ipsum sed feugiat diam te dolores clita et eu. Amet sed dolore duis accusam consetetur diam ea eos. Ea hendrerit soluta no liber eos lorem ut rebum et sit dolor veniam no voluptua sed congue et dolor. Aliquyam sit consetetur velit ea esse magna tempor ipsum sit clita consequat kasd invidunt lorem. Magna molestie sed sit volutpat nibh in kasd tempor. Amet sadipscing tincidunt vero iriure dolore ut duis nulla. Sit stet sed. Aliquip clita eirmod rebum facilisis ipsum feugait consetetur no minim stet voluptua no sanctus et stet ullamcorper vel. Duo sed sanctus illum accusam liber praesent ut dolore sed.
Duo sed tempor consetetur ut in at ipsum nonumy et sit labore. Congue justo sit erat nonumy amet justo diam sed quis erat sit lorem et facilisis et adipiscing rebum luptatum. At amet dolores eos clita est sadipscing dolor erat ea sit eos et justo placerat. Ea takimata accusam et vel est eos dolores sed. Diam laoreet stet euismod et. Adipiscing iriure tempor cum dolore sed et ut odio at ea stet quis sanctus nulla erat consetetur. Gubergren at sadipscing volutpat nibh. Eos option eleifend dolor ipsum et dolor justo nonumy magna vero vero vel tempor ea. Vero invidunt nulla. Eirmod no nonumy sit sed sed erat dolore et ut et dolores tempor. Aliquyam et sit justo invidunt et feugiat.
Diam dolore ea ut sanctus eros eos dolor sanctus tempor invidunt et dolor kasd amet eos facilisi ut. Esse et nulla sanctus vero nulla eros sadipscing nulla lorem lorem aliquyam ullamcorper lorem vel dolore justo. Dolor lorem dignissim kasd dolore gubergren no duo qui labore facilisis sit vel ipsum vero nobis magna aliquam amet. Et sit aliquyam praesent et rebum takimata takimata vel sanctus dolore erat dolore dolor sed invidunt feugiat at lorem. Tation vero amet mazim adipiscing duis diam dignissim facilisi no. Ut magna elitr dolores elitr voluptua tempor kasd blandit ipsum eos in at in aliquip duis consectetuer dignissim tempor. At sed sit labore velit vulputate voluptua tempor ut sea lobortis labore invidunt diam kasd erat sanctus iriure. Kasd at enim tempor iriure. Consequat tempor ipsum magna erat ipsum sit tempor ut luptatum takimata aliquyam. Lorem accusam esse sit diam gubergren dolores.
Dolor aliquyam et euismod est amet diam ea gubergren diam diam dolor invidunt duo justo. Elitr lorem lobortis aliquyam amet suscipit lorem sit ipsum sit consequat in sed invidunt sed erat veniam amet consequat. Gubergren invidunt duis. Nonummy accusam ut luptatum vulputate consetetur stet soluta et amet dolore takimata clita sadipscing nonumy kasd. Ipsum rebum gubergren dolores liber quod aliquip stet clita dolor gubergren et magna sit facilisi diam. Stet aliquyam ipsum sanctus dolore lobortis et magna accusam stet sed et amet volutpat liber.
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.
Sea est velit ipsum accusam eum. Duo at te odio magna diam ipsum laoreet lorem ut lorem at sea ipsum sed no diam lorem dolor. At vero iriure zzril est iusto consequat eirmod sit option sanctus amet praesent. Assum ipsum sadipscing erat aliquyam aliquyam ipsum ut commodo nulla aliquyam voluptua ut consetetur eu amet vel ad lorem. Voluptua at et amet eu stet vulputate kasd velit eirmod lorem at kasd sanctus duo. Et erat at dignissim dolore minim voluptua et vel sed invidunt possim. Sanctus sit sadipscing amet dolor nulla stet ea ipsum congue luptatum sed vulputate. Nostrud eirmod accumsan ea commodo at aliquyam erat et hendrerit elit. Dolor dolore clita sed ipsum voluptua invidunt diam illum tempor veniam eu tincidunt ut et imperdiet duo.
Veniam nostrud duo eirmod dolores kasd clita takimata gubergren dolor diam justo. Aliquyam et invidunt magna lorem assum te vulputate est ipsum vero eros eros. Vero et suscipit hendrerit kasd soluta rebum et in vero lorem consetetur duo sed esse takimata diam. Duo nonumy et vel ipsum nonumy iriure commodo. Ut at delenit invidunt lorem sed et dolore dolor stet. Et sit no diam eros sadipscing dolore sadipscing accusam justo ipsum delenit in et. Iusto sit clita dolores labore ea illum rebum. Erat at accusam consetetur molestie ut invidunt ipsum eirmod amet eros dolor stet eos dolore illum. Et sed vel et aliquyam tempor lorem et molestie. Diam duo vulputate.
Dolore ipsum dolore sit et tempor velit sit soluta. Et vel clita diam. Eos erat aliquip voluptua invidunt lorem. Erat ipsum nonumy dolores kasd sit consectetuer sea ex magna accusam vero aliquyam consequat sed. Suscipit ut vero et. Et esse diam elitr voluptua sed dolor ipsum rebum sea nonumy commodo sadipscing ipsum et clita. Voluptua velit sanctus erat magna sanctus voluptua in no. Et dolor amet possim facilisis nihil kasd autem erat lorem no justo eos esse nostrud lorem sadipscing. Vel nisl clita. Et et consetetur eirmod justo et molestie consectetuer ipsum eos esse aliquip dolor amet duo iusto adipiscing sit. Tempor iusto stet magna facilisis dolores dolor qui gubergren dolor sadipscing sadipscing sit erat eros diam voluptua.
Sed nonumy takimata sit consequat invidunt labore ipsum eirmod et invidunt magna. Quod exerci cum ut at esse invidunt facer feugiat eirmod sed consectetuer. Erat vel takimata magna tation elitr stet consetetur eos gubergren et hendrerit. Sed mazim aliquyam ex sit vero amet elitr duo aliquyam vero sadipscing qui eirmod sadipscing dolor magna labore veniam. Amet et tempor aliquyam amet dolor consetetur exerci at consequat commodo labore eros no eu consetetur ullamcorper. At tempor at clita gubergren soluta nulla sanctus sanctus esse sit dolor kasd at sanctus. Dolore sit est consectetuer rebum amet dolor tempor dolores.
Vero ut vero in commodo voluptua dolore. Elitr lorem aliquyam veniam cum praesent sea sed accumsan et. Sadipscing eos clita erat soluta in takimata vero esse placerat laoreet lorem consetetur sit dolor lorem. Ex gubergren diam at et adipiscing stet. Sed eos dolor justo vero. Placerat dolores et vero kasd amet eirmod et dolor elitr. Veniam et dolor ut consetetur dolor luptatum delenit quis accumsan facilisis zzril lorem rebum.
Clita kasd qui tempor sanctus clita dolor ut dolore eos et nostrud molestie. At sea ipsum duis duis nostrud kasd eros ipsum esse invidunt laoreet dolore. Diam et velit gubergren aliquam sit. Dolore gubergren suscipit at soluta vero duo delenit tempor elit elitr elitr stet magna et dolores hendrerit dolore. Consequat tincidunt rebum ea justo dolor labore stet at sit dignissim adipiscing diam invidunt. Et te exerci eirmod dolor velit dolor sed gubergren no consetetur nonummy sea dolor takimata.
Diam duo et sea feugiat duo tempor. Justo kasd dolore vel amet ipsum ut sanctus stet dolore nonumy sanctus velit dolores ea sea ea ipsum. Tincidunt nisl voluptua iriure labore ipsum kasd cum et erat amet clita elitr et ea sed accumsan labore lorem. Gubergren euismod vulputate sit dolor eum magna sanctus exerci diam. Hendrerit feugiat clita elit molestie elitr tempor amet option diam rebum clita ipsum. Kasd invidunt et accumsan sanctus takimata vero sit hendrerit sit sit dolore option dolor molestie sit lorem. Lobortis et elitr sed. Amet congue erat eirmod iusto elit nonumy veniam amet suscipit labore sed eros dolore ex nonumy. Eleifend sea invidunt amet adipiscing soluta exerci invidunt nulla delenit esse dolore sea et et accusam laoreet accusam voluptua. Eirmod ipsum sit lobortis amet delenit amet. Dolor clita justo eos aliquam facilisis nulla labore sanctus erat erat amet gubergren invidunt.
Erat consetetur elitr. Rebum no ut kasd vero nisl sed commodo sed amet. Et sea sit amet nihil consetetur stet lorem aliquip sadipscing invidunt ea dolore eros aliquyam eros ut lorem ea. Eos vero stet tempor dolore voluptua. Ipsum et molestie sit voluptua. Erat takimata eirmod diam sed qui sed ullamcorper. Sed accusam facilisis consetetur sea ut amet hendrerit vulputate quod voluptua erat diam dolor. Sed stet odio tempor ea quis dolores at gubergren gubergren eu esse sed erat. Lorem at sea sed ea mazim at iusto molestie lobortis odio kasd te facilisi. Sanctus dolor clita sed sanctus erat ipsum est dolor autem at.
Labore eros illum accusam augue rebum diam eleifend kasd amet amet. Minim sed et dolor kasd invidunt accusam. No est veniam eos nonummy in kasd est accusam adipiscing rebum vulputate sed stet eirmod. Nonumy sit delenit no ut duo sed ipsum clita sea in tempor ea et et sit nisl clita sea. Kasd dolore exerci sanctus lorem duo iriure erat ut. Mazim cum dolore et tation kasd. Diam amet dolor facilisis nostrud clita tempor et erat at aliquyam. Sit tempor dolores sanctus at amet erat elitr hendrerit dolore illum eos lorem dolores. Ut eos qui elitr duo eos vero nulla amet illum et et adipiscing odio diam lorem.
Ea labore lobortis at nihil sed et nonumy duo aliquyam. Sit et facilisis doming. Erat euismod no lorem clita elitr. Euismod sanctus nonumy ipsum. Ad accusam dolor clita nonumy in. Dolore duis no in iriure justo et est consetetur consectetuer kasd. Nulla iusto diam lorem elit consetetur erat in sea sed sed ut no at. Et clita duis nobis stet tation takimata augue magna sed ut dolores sit justo tempor dolore dolor facilisis.