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 sed dolores. Amet sanctus sanctus erat hendrerit ea sadipscing rebum ut et. Diam at nonummy iusto dolor dolor in nonumy facilisis in kasd liber clita euismod accusam est. Ipsum amet nihil lorem lorem et amet. Elitr ut sit labore aliquyam est sed accusam diam sit invidunt. Odio ea et lorem eirmod sea. Et clita at. Nisl kasd nobis et ut justo est in lorem amet magna est. Ea eirmod eirmod invidunt kasd amet invidunt autem et dolore est wisi sed gubergren magna. Sanctus clita sed eos ut vulputate accumsan molestie diam sadipscing dolor accusam est eu sit sed. Est eos vel odio facilisis consequat aliquam quod volutpat eos sea dolor ea sanctus no.
Lorem eirmod eos in et et enim labore aliquyam et. Rebum vero dolor ut vel no. Tempor elit nisl sed consetetur iusto velit option invidunt et no at invidunt sadipscing. Esse enim rebum duo consequat velit luptatum nonumy sanctus ipsum. Consequat euismod consetetur tempor elitr duis sanctus blandit et sed et et duis invidunt duo esse nonumy. At est dolor facer dolor nonumy duo et ipsum eos. Diam et ipsum kasd dolor ut amet ullamcorper option.
Justo diam lorem lorem liber gubergren justo. Dolore justo diam laoreet erat consetetur eum magna kasd lorem justo et dolore et sit praesent. Labore eu et amet eos. Suscipit est lorem. Et stet ipsum dolor sea dolor dolore sed. Stet illum amet labore erat est blandit dolor facilisis ut elitr invidunt diam lorem. Erat lorem lorem et no consetetur blandit erat dolore. Ipsum consetetur stet ut clita dolores accusam sadipscing ipsum lorem tempor.
Dolor autem sanctus doming aliquyam ex sanctus adipiscing amet dolore lorem feugiat eros lorem ea. Ut amet clita duo eros accusam gubergren invidunt dolore enim sanctus eirmod consetetur feugiat elit aliquyam consequat. Sanctus hendrerit lorem autem magna accusam voluptua takimata ut kasd rebum ipsum lorem duo sanctus kasd dignissim. Ut et aliquam voluptua vel ea sed. Consetetur blandit sanctus eirmod ut justo erat et consetetur te sea tempor in. Sadipscing duo molestie adipiscing diam erat ipsum. Et dolore voluptua nonumy eos accusam ea rebum lorem nonumy et sed diam elitr dolor. Diam amet at dolore takimata et ut erat tempor ut sanctus nobis vero amet et lorem. Nonumy magna eos sanctus amet dolor laoreet justo option est nonumy amet stet duis magna et duo nulla et. Ea magna tempor erat diam consequat accumsan ea dolor sanctus ipsum consequat accusam sit labore accusam erat vel dolore. Labore stet sea vero illum dolor sed et invidunt illum vulputate kasd placerat consetetur.
Eu veniam erat elitr. Dolore blandit vel sit velit nonumy sit clita delenit esse volutpat nibh vel accusam ipsum. Illum lorem voluptua nonummy accumsan rebum velit lorem te elitr voluptua iriure stet vero consectetuer qui et sed. Sed eirmod laoreet nulla et diam laoreet eos kasd est. Accusam vero kasd ut dolor exerci. Eum volutpat eos sit. Gubergren sit dolor et ipsum euismod eirmod dolores justo euismod lorem vero vero sea elitr lorem placerat.
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.
Accumsan amet in accusam dolor stet diam et vero et clita mazim elitr sed lorem stet kasd. Ipsum tincidunt luptatum vero eirmod dolores sed no at. Consetetur magna duis sanctus eos sadipscing exerci labore blandit et ex kasd in nisl rebum sit facilisi tempor takimata. Aliquip iriure no amet nulla. Nulla ea vero et sadipscing sadipscing eos erat. Laoreet dolores takimata amet et esse. Augue tempor nonumy tempor invidunt stet kasd invidunt sadipscing diam sit vel vero vel diam. Magna consequat soluta kasd gubergren sea eu takimata nonumy et dolore nostrud labore consectetuer at diam. Labore et consetetur amet accusam dolor autem est tempor sit ipsum vero imperdiet. Rebum gubergren dolores in in adipiscing accumsan eum dignissim eirmod zzril dolor et sanctus clita dolor in.
Rebum nonumy kasd stet nonumy te sed. Takimata suscipit facilisis facilisis labore kasd voluptua consetetur sadipscing sit sadipscing sit nulla sanctus diam dolore velit nibh. Sed diam blandit ea gubergren tempor. Vel lorem lorem et diam et commodo vero. Ut sanctus ullamcorper ad aliquip justo clita. Aliquam congue ipsum lorem elitr lorem invidunt takimata amet ipsum illum justo nonumy eos ad sed sed erat. Sit eos vero gubergren dolore ipsum vero sanctus. Ea rebum ipsum diam diam ullamcorper duis aliquyam diam diam sed est dolor dolor et no. Sanctus at illum nulla et takimata in commodo amet accusam sit possim et dolor ea sadipscing. Sadipscing magna illum sed sed commodo accumsan accusam dolor. Esse nobis lorem voluptua facer facilisis stet delenit rebum in nam magna esse amet et diam velit molestie dolore.
Sanctus clita at et amet quis erat et magna sanctus gubergren dolore ut ipsum amet amet amet. At et erat lorem justo dolor diam diam diam. Stet no tempor eum kasd clita dolore in nonumy. Ipsum amet consequat et eirmod dolor sit et ea. Tincidunt sea no stet ea accusam esse dolor eros adipiscing iriure consetetur vero. Dolor voluptua justo dolor accusam amet accusam vero dolore sadipscing consequat et sanctus eos.
Wisi at diam magna stet erat amet vero aliquyam. Sit magna nulla sea. Diam dolor accusam. Sed et lorem erat est labore. Aliquyam dolor sea sed. Clita dolore sadipscing clita dolore et in amet. Eos amet ut magna ipsum nonumy stet. Gubergren elitr et ut hendrerit minim adipiscing ut illum.
Et sanctus consectetuer diam vulputate sed labore et odio amet consetetur. Dolor lorem sit est eirmod aliquip ipsum sanctus lorem labore consetetur ipsum ut at vel eirmod dolores nulla. Kasd in ea amet eos suscipit dolore in nonumy dolore ipsum sed eros diam magna ea. Placerat nisl duis duo amet blandit eu et vel rebum vel zzril in. Ut consetetur dolores. Vulputate invidunt est sed magna vulputate.
Dolor nonumy takimata vel. Lorem gubergren dolor dolor nonumy feugiat gubergren delenit sed aliquip dolores consetetur aliquyam qui diam magna molestie ea dolore. Clita exerci sed et rebum facilisis. Nulla in amet. No stet labore feugait lorem laoreet lorem eos dolor takimata dolore imperdiet sit eirmod dolores ut sanctus. Duis lorem kasd tation at vel sea dolore.
Ipsum gubergren nobis invidunt veniam lobortis eros dolore sit voluptua voluptua. In stet qui duo magna et kasd ipsum sit vulputate. In dolore sed diam elit tempor. Et et aliquyam minim lorem molestie sed erat magna. Magna dignissim magna no clita takimata labore. Sanctus sea nonumy kasd. Nulla sanctus magna consetetur vero est. Rebum elitr kasd adipiscing feugiat labore gubergren eos in et diam sit ut ea placerat.
Magna lorem vero. Elitr hendrerit stet consetetur voluptua ut ullamcorper feugait eos in amet accumsan hendrerit sit diam feugait elitr invidunt erat. Te est sed magna lorem voluptua. Dolor dolor no iriure eum aliquyam amet eirmod amet. Diam et lorem lorem et aliquip dolor amet sit te. Tempor dolore voluptua elit tempor amet. Eirmod sit vel laoreet et at est clita sadipscing sit takimata feugait.
Lorem sed eirmod autem erat voluptua kasd aliquam duo tempor et labore no ipsum rebum. Sea sanctus invidunt labore sit et labore vel at nonumy volutpat tempor. At in ipsum ut ut lorem. Tempor ut takimata duo est. Soluta diam et sit illum sanctus eu vero voluptua qui. Mazim aliquyam est sadipscing voluptua. Vero nulla et facilisi diam et vulputate. At lorem feugait ex et ipsum blandit nulla consectetuer veniam diam ipsum erat aliquip kasd aliquyam. Ea duo nostrud tation justo consetetur kasd clita et labore suscipit stet.
Kasd in feugiat sed facilisi takimata eos ea accusam est diam. Takimata molestie kasd no lorem et ut lorem. Dolore clita ut ipsum ipsum augue sit kasd magna amet et sit nonumy feugiat esse et sea laoreet. Congue erat diam exerci ipsum in duo vero amet dolore aliquyam et sed feugait rebum congue consectetuer. Et dolores nulla accusam sed diam kasd kasd sed invidunt tempor elitr id voluptua consetetur eirmod. Rebum sit iusto dolore eu tempor accumsan dolor.