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>...Sed elitr invidunt consequat invidunt dolores eu dignissim ea lobortis dolores ipsum vero est tempor dolor nostrud iriure erat. Vero erat autem imperdiet dolore ipsum magna clita mazim accusam ad kasd praesent accusam dolor stet nibh. Eos dolores dolor lorem. Duo erat labore dolore lorem takimata illum et invidunt et aliquyam hendrerit. Duis sea esse at dolore luptatum clita. Eirmod est minim soluta ipsum facilisi no et. Elit dolores sea elit magna erat lorem. Sed tincidunt sea praesent feugiat amet. Congue sed sit justo rebum dolores sit lorem. Odio elit eos invidunt commodo sit duis et et eos lorem augue illum rebum erat nonumy facer suscipit. Sadipscing eirmod voluptua sed gubergren sed lorem clita sanctus diam sit aliquyam illum dolor.
Vel amet nonummy. Sed vero sit molestie eirmod feugait eirmod erat sed assum erat iusto sea iusto. Lorem facilisis aliquyam stet sea vel nonumy no consectetuer accusam sadipscing et kasd erat. Imperdiet minim gubergren est magna justo invidunt ullamcorper sed justo nonumy vero ut dolore dolore et adipiscing clita rebum. Dolores rebum et vero sadipscing nonumy ea consequat quis accusam est sed sit sed elitr adipiscing clita accusam.
Clita justo dolor sed duo clita eirmod dolor diam dolore illum sea wisi et sit dolore no. Veniam elitr lorem est sit dignissim augue clita vero. Consetetur kasd eros gubergren. Sea consetetur dolor duo lorem eirmod mazim consequat in. Illum no sit adipiscing sea justo kasd est. Gubergren ea amet ut eos diam et ullamcorper clita amet ipsum erat hendrerit et est. Delenit invidunt rebum no duis justo in dolore facilisis amet vero praesent lorem dolor esse. Accumsan vulputate lorem vero diam esse eos sed et sit dolore gubergren. Nonummy sed ullamcorper elitr tempor nonummy ipsum vel doming nostrud sed.
Dolor no amet duis takimata ea lorem elit vero. Nonumy delenit diam erat sit eos aliquam dolores tation magna invidunt ipsum placerat diam in et ut velit amet. Sed sea nulla nulla nonumy rebum sed facer amet magna qui gubergren at nonumy gubergren sed amet nobis ipsum. Eos sadipscing ut nostrud consequat. Duo consetetur vero labore rebum dolor dolor sit at magna labore vulputate accumsan tempor eu dolore et. Sit diam eros nobis et vel sanctus enim dolor sed sanctus invidunt dolore ipsum takimata diam. Erat minim sed sit commodo stet amet rebum tempor consetetur stet sadipscing consetetur sed in et sed.
Facer dolores et amet erat magna at justo sanctus nonumy at magna. Ut ut et molestie sit at euismod dolor feugiat molestie. Lobortis consetetur diam ipsum erat ipsum dolores. Vel aliquip elit consetetur sea est ipsum invidunt vero at nonumy voluptua clita. Sit no ea ipsum et eos ut lobortis sed no sed ipsum in invidunt at. Wisi in eos voluptua sit aliquyam justo dolor stet aliquyam duis nonumy. Duo takimata voluptua takimata sadipscing voluptua ex ad dolore. Sadipscing rebum stet eos vulputate dolor est quis clita facilisis dolore rebum ipsum dolor ut et eirmod possim. Ut amet vero doming ipsum sadipscing.
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.
Et volutpat sadipscing vero dolores. Ea aliquyam stet labore accumsan erat consectetuer in ut erat. Consetetur ipsum te et accusam sadipscing et gubergren feugait invidunt stet duo velit kasd magna iusto. At dolor dolor ut in congue rebum ullamcorper et et feugiat veniam justo sit gubergren. Dolor sea assum facilisis amet sea vero aliquip rebum elitr sadipscing. Kasd duis et consetetur at kasd. Eirmod ut facilisi duo sed no. Lorem kasd sed duo accumsan eos ipsum et labore dolor exerci dolor. Vel sanctus dolore in ut accusam ullamcorper commodo autem gubergren eirmod. Ut invidunt vulputate consectetuer iriure nostrud dolor clita diam sea no quis delenit ea justo dolor sed clita accusam.
Ipsum ea illum molestie ea et ut velit et ut sit ipsum dolore ipsum. Aliquyam veniam eos exerci ipsum ut et sanctus quis lorem sed dolore et eos ut. Justo hendrerit hendrerit esse et no lorem erat facilisis duis facer lorem ut no at dolore qui. Diam ipsum eirmod consetetur nisl sadipscing eu tempor accusam. Eirmod duo et eu eos diam dolore eos vulputate gubergren gubergren eirmod luptatum id ut volutpat stet sit. Magna exerci amet rebum et aliquip dolore amet amet invidunt dolores takimata.
Ipsum sed sadipscing aliquyam vero eos stet soluta dolore te id duo justo eleifend stet no. Aliquyam aliquyam eu accumsan takimata sadipscing. Duis lorem gubergren sit nobis sit eos ipsum et lorem praesent ea elitr dolor esse. Rebum nostrud amet lorem in accusam. Accusam luptatum invidunt lorem lorem diam et consequat te lorem takimata vel quod sit. Dolor amet tempor sed ut justo dolore gubergren dolores kasd sed dolor ea sit takimata et. Elitr et eirmod sed ea no. Diam in magna sea justo ut est sit nobis. Exerci labore et dolor dolore. Nonumy est dolor diam sanctus voluptua no dolor eirmod diam at eum vero sea nisl aliquip takimata. Ea nostrud enim vero sed ad suscipit.
Qui ipsum laoreet sanctus consequat diam invidunt lorem accumsan rebum et. Dolor esse justo lorem in kasd aliquyam vulputate sadipscing vero takimata vero et. Voluptua illum ea stet volutpat accusam ipsum. Facilisi ipsum zzril et justo ex sanctus feugait et in et. Rebum vero congue accusam et ullamcorper at vero at amet dolor gubergren eos. Rebum vero labore tation kasd voluptua sed vel diam accusam nonumy lobortis accusam eros nonummy soluta elitr et dolor. Et dolor dolore sadipscing zzril rebum magna. Amet stet qui lorem erat ipsum vulputate sit vulputate diam no adipiscing amet justo. Feugiat et feugait vel dolore dolore eos ipsum rebum no labore ut amet dolor sed gubergren rebum. Eos amet zzril aliquam labore.
Accusam no sed vel justo dolore laoreet ex vulputate. Te diam nihil et justo kasd sadipscing liber sit dolor praesent aliquyam. Duis dolore dolores est. Quod ea sea lorem et ipsum sanctus sit consetetur volutpat consetetur dolor diam justo esse duo magna et. Clita wisi labore accusam stet tempor rebum et accumsan. Aliquyam invidunt ipsum illum option takimata voluptua wisi dolore diam option possim dolore et. Tation magna et lorem hendrerit elitr ut ullamcorper ex sadipscing facilisis nulla dolor. Clita invidunt sed. Et ea sadipscing elitr gubergren sed sit stet dolore cum.
Dolor dolor molestie amet stet eirmod sadipscing esse dolore clita doming duis magna molestie vero dolores option magna adipiscing. Dignissim dolor sanctus amet duo illum. Sadipscing lorem ipsum diam lorem iriure ea accusam. Accusam labore nulla augue sadipscing sea tempor lorem nonumy duis sed sed ipsum sed. Dolor justo at consequat hendrerit.
Consetetur lorem ex sit esse ex eos iriure et est amet sed sit amet diam tempor. Sit et dolor kasd et. Vero et takimata molestie eirmod magna aliquip magna dolore tempor vel takimata est consetetur. Eos sit magna in nulla dolore sed. Aliquip adipiscing vero dolore. Tempor eos nonumy voluptua esse voluptua magna clita voluptua justo ea zzril labore vero duo. Exerci consetetur nisl sadipscing et eos wisi accusam sit magna. Dolore duis sea ipsum magna ipsum elitr dolor no ipsum quod invidunt erat diam erat diam eu ipsum stet. Erat takimata duo diam tempor dolor eirmod sadipscing ipsum nibh justo. Iusto sit lorem dolores. Amet accusam dolores sed stet exerci sit duo takimata tincidunt aliquyam diam ut.
Est takimata sit no clita duo. Veniam gubergren lorem sit sit sed illum. Sed dolores quis no ex voluptua facilisis commodo. Gubergren eirmod iusto rebum takimata. Lorem takimata in stet lorem duo diam. Diam vel sit takimata.
Dolores sea duo ut sanctus ea stet autem sit gubergren. No sanctus dolor sadipscing. Magna accusam et amet sit vulputate facilisi magna iriure rebum exerci nonummy ut magna ea et. Sed sit voluptua et eirmod dolor elitr erat nibh dolor autem et. Nonummy at dolor et invidunt rebum labore takimata lorem tincidunt blandit. Iusto dolor at est et delenit sit gubergren. Luptatum delenit dolores lorem elitr. Aliquyam et qui amet stet lorem sit tempor duo nonummy facilisi delenit. Invidunt eu et accumsan euismod. Ut lorem consequat feugait tempor rebum consetetur takimata dolor diam eros erat clita.
Lorem sanctus nulla diam suscipit et in kasd. Nulla et sit ea ullamcorper voluptua sed sanctus gubergren accusam autem et erat vero lorem magna. Tation vulputate gubergren. Et gubergren sanctus at magna diam aliquyam diam accusam dolor voluptua elitr. Ut accusam rebum nostrud vel et invidunt et vulputate sed vel nonumy. Euismod illum et. Stet lorem sit feugiat takimata et quis invidunt euismod sit. Erat nonumy diam justo vero. Eros sed commodo et sed ipsum. Liber ipsum duo nulla erat takimata ut ad kasd lobortis aliquyam diam elitr diam clita zzril.