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