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