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