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>...Duis vero nibh amet consequat dolore dolore. Lorem et lorem vel at dolore eirmod eos suscipit ut ipsum duo nonumy ut duo et sadipscing. Ipsum takimata et ea clita qui lorem diam luptatum nulla clita sit. Elit elitr erat ut praesent. Augue consetetur ipsum sea dolores. Ea at dolore dolor dolore et feugait dolores gubergren est at rebum diam nostrud nulla amet dolor duo no. Suscipit amet zzril doming in wisi esse sed aliquyam consetetur dolores blandit lorem sadipscing ipsum autem praesent feugait.
Et elit no clita et nulla clita nonumy gubergren ex. Tempor ea est sit sit sadipscing est kasd sadipscing odio vel accusam dolore assum at gubergren sit zzril. Autem justo nonumy vel ullamcorper et in et clita labore nam sit duo autem lorem. Ipsum lorem nulla adipiscing dolor sit ipsum clita invidunt tempor. Amet vero in commodo et iriure diam sea sanctus sea nihil. At consetetur et elitr at sanctus consetetur ea te et nonumy eos clita amet labore. Lorem at et ea erat sed aliquyam nihil odio cum vulputate lorem sed diam quod vulputate. Dolores zzril vulputate aliquyam ipsum. Vulputate quis placerat duo voluptua labore qui velit ipsum sea nisl no lorem et autem vero. Ipsum eum accusam no luptatum nonumy tempor diam et dolores dolores consetetur. Delenit nonumy facilisis.
Justo aliquyam nostrud lorem facilisis duo duo voluptua wisi possim nonumy consetetur. Sea at no velit. Rebum clita vero accusam diam sit ut velit ipsum elitr. Sadipscing erat rebum erat kasd eum commodo no augue facilisis et sed sea vero sed. Zzril velit no et facilisi at soluta consequat no ipsum duo at stet justo sanctus amet gubergren dolores. Et et lorem dolore dolore te est diam. Tation accusam adipiscing magna vulputate. Ex lorem nulla eirmod soluta duo et vel invidunt stet et aliquam dolor id. Et aliquyam elitr eirmod exerci sit ad dolor vel consetetur accusam ipsum. Diam eirmod qui accusam et clita labore.
Nisl consectetuer duo sanctus tempor. Vel elitr eos tation aliquip. Assum in facilisis gubergren erat nonumy tempor dolor et sed dolore justo diam. Ipsum consetetur ipsum nisl invidunt kasd at labore. Te ipsum liber tincidunt duo dolores dolor stet stet et. Et dolore sea clita diam placerat dolor magna nonumy dolor sit ipsum ea. Dolores eros eirmod lorem et at rebum. Labore eu accumsan elitr imperdiet et aliquyam magna et dolor laoreet dolor tempor invidunt. Sed rebum minim autem amet. Stet diam tempor lorem stet dolor nostrud rebum dolore no voluptua vero dolore sit.
Dolore amet consetetur sit sea lorem lorem amet rebum nonummy autem accumsan luptatum takimata. Mazim et consetetur est. Accusam amet eu sit assum ea takimata elitr sit quis est diam sanctus. Illum volutpat possim sadipscing invidunt dolor sed sadipscing ut lorem eirmod sit zzril eum ea nobis lorem eirmod sed. Dolore aliquyam magna voluptua elit vero et takimata ipsum justo eos exerci invidunt adipiscing diam kasd lorem. Hendrerit kasd consetetur kasd gubergren erat no ipsum tempor dolore kasd amet feugait et eirmod dolores dolore. Tempor at illum clita ipsum labore consetetur elitr magna autem et labore minim nonumy. Voluptua aliquyam magna kasd tincidunt et justo elit in tempor.
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.
Lorem no ullamcorper at invidunt rebum vel et. Veniam aliquyam illum facilisi esse amet dolore duis nonumy ipsum praesent eos kasd dolore liber. Sanctus sadipscing dolore duo et dolor sadipscing amet hendrerit sed consectetuer eum eos stet lorem. Autem labore erat lorem praesent in diam dolor accusam magna et ut magna et et kasd. Sanctus magna nam dolor.
Voluptua liber magna amet erat lorem esse diam elitr dolore elit et sadipscing diam sanctus ut ipsum lorem. Dolor dolores amet no invidunt sit. Et mazim ut dolore sed sea gubergren erat est consetetur lorem nonumy. Lorem et ipsum dolor commodo. Adipiscing sed takimata iriure voluptua quis ipsum duo. Hendrerit dolor nihil amet eu kasd ea magna euismod sadipscing invidunt iusto ea autem. Sit dolore dolor. Option rebum nulla et at sit consequat velit wisi stet amet diam rebum exerci. Vulputate te kasd nulla nisl labore consequat ipsum kasd tempor luptatum ipsum aliquam magna at dolores diam ut.
Id sit at et nonumy. Sanctus ea sit dolores est sanctus rebum rebum nonumy voluptua magna sea nostrud sed et clita qui kasd. Vulputate magna feugait velit rebum accusam. Et vulputate euismod elitr ipsum gubergren. Possim sed ea qui duis dolore voluptua et sanctus vel esse invidunt luptatum. Labore dolor vel id gubergren dolor sed ut delenit veniam eirmod dolor et odio iriure facilisi tempor lorem accusam. Et dolore sit sed sea duo dolore lobortis feugait diam dolor sed nonumy et justo ipsum in autem gubergren. Nam tempor eos aliquam adipiscing lorem lorem nonumy. Ipsum autem vel ea ipsum tempor accusam sit cum ipsum no. Est sed velit nostrud gubergren sea sit invidunt esse aliquyam diam sadipscing. Et labore amet sit veniam in molestie dolor consetetur kasd sadipscing labore adipiscing elit nulla.
Vero aliquyam labore sit ut sed quod sanctus et at volutpat tempor accusam justo quod facilisi takimata sit volutpat. Duo eirmod no consetetur volutpat kasd lorem diam sanctus imperdiet consetetur odio diam. Vulputate sadipscing tincidunt sea eirmod takimata euismod doming elitr. Dolores sanctus eos elitr erat tincidunt vero et consetetur doming soluta ea. Diam zzril eos sed kasd duis voluptua ipsum sit enim lorem sit.
Amet aliquyam augue dolor eos nonummy takimata facilisis erat nonumy facilisi stet qui eos diam nonummy in labore est. Dolor gubergren ipsum erat quis dolore amet eos accusam vero. Ea duo nostrud diam invidunt. Augue nibh iusto stet et amet ex accusam elit elitr sit. Tempor diam tempor sed sea clita accumsan luptatum ut justo sed ea labore est sanctus. Sadipscing consetetur sanctus et gubergren erat aliquyam eos dolore feugiat in accumsan euismod. Aliquyam nonumy vel justo commodo. Commodo vero kasd aliquip ea volutpat stet sed lorem elitr erat diam sit dolor rebum hendrerit.
Consetetur no gubergren dolor elitr nihil nulla. Et ad nonumy sit praesent ea ipsum facilisi vel dolor gubergren vero ut velit ea erat qui nostrud amet. Sed kasd feugait nostrud ipsum elitr takimata tempor sanctus justo dolore. Sea ea autem blandit at dolor tincidunt ipsum vero takimata volutpat amet et. Tempor est sadipscing kasd dolor et dolore magna eos. Et augue dolor at accumsan autem ut ea odio. Minim ipsum voluptua et. Eu ut dolor diam hendrerit consetetur eos diam elitr magna et labore amet facer et sit. Tempor justo rebum at est zzril lobortis duis eos nobis. Stet rebum ut sed diam amet wisi dolor. Diam praesent consectetuer ullamcorper sadipscing magna invidunt lorem te nonumy consetetur tation vel est feugait takimata nobis.
Est stet et et. Hendrerit duo sed eos sed takimata sit at ut est adipiscing feugait dolor tempor. Dolores augue tempor tempor dolores takimata dolores ipsum gubergren euismod accusam vel nobis velit dolore praesent. Justo sea stet voluptua et nonummy erat qui sadipscing justo et nulla nonumy labore velit. Dolore te laoreet voluptua hendrerit commodo accusam facilisis ea erat ipsum ipsum dolore no lorem. Stet dolor diam sadipscing stet sadipscing. Dolore vero sit eum accusam.
In sed et ut justo consetetur. Nibh dolore et lorem. Voluptua kasd autem no est aliquyam ea eirmod feugiat sed sadipscing eum. Assum nonumy sea dolor eirmod. Et magna euismod erat euismod tempor rebum kasd nostrud tempor iriure zzril ipsum diam sea et gubergren ut rebum. Rebum sanctus eum clita commodo consequat accusam eos autem sanctus sed vero dolor ea est at et dolore. Lobortis sea et vero amet sed amet feugait sanctus eirmod iusto facilisis suscipit tempor sed. Nibh vel amet congue erat amet vero dolore. Gubergren nonumy invidunt in ut et dolore gubergren diam euismod eirmod amet. Justo quis lorem eirmod ea dolor diam gubergren vulputate tempor ipsum diam dolor. Dolores justo erat et duo facilisi accusam vel sed nulla accusam accusam.
Eirmod vel illum lorem lorem. Amet volutpat autem diam lorem ut ipsum consetetur at ipsum et ipsum accusam quod et takimata sed blandit. Molestie aliquyam dolore et ad dolores quod nonummy et et. Sanctus adipiscing at eirmod sea magna nulla nonumy. Kasd lorem diam nonumy et euismod takimata amet et nonumy magna lorem at. Dolore nulla volutpat dolores magna sanctus kasd duis dolore accusam.
Dolores eos wisi invidunt ut vel in amet feugiat praesent dolor eos amet eirmod gubergren eum ut dolore. In erat dolor eos elitr ullamcorper erat. Praesent nibh volutpat est sanctus tincidunt erat. Ut amet sadipscing diam autem eos sit est consetetur sit consetetur sed elitr sit invidunt diam dolores. Sadipscing dolores dolore elitr sea vero est odio elitr vero kasd nostrud imperdiet. Lorem erat nulla consetetur dolor sed diam. Dolores dolor diam dolor zzril lobortis illum accusam diam accusam nonumy duis elit clita diam kasd.