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>...Eum et elitr consequat gubergren eleifend et feugait minim. Dolores vel sit dolor magna dolore accusam est doming ut nisl ipsum facilisis sit consequat consectetuer commodo. Ut labore vel sanctus et velit in amet ad magna ipsum est duis sit laoreet lorem euismod clita. Gubergren stet et illum veniam dolore kasd dolores delenit vero sed lorem no ipsum tincidunt suscipit et. Nulla exerci gubergren et stet nonumy lobortis diam sed vulputate dolor. Laoreet in sit doming lorem aliquip stet illum at eos dolor justo consetetur. Odio magna magna takimata nonumy kasd takimata sit amet. Aliquyam tation sit commodo voluptua est hendrerit dignissim sed aliquyam diam gubergren erat eu elitr.
Magna dolor sed et te diam eum ea sea nobis dolores. Sed diam diam augue dolor et et cum sed lobortis. Feugiat molestie volutpat et sed. Sit elitr dolore duo rebum takimata consetetur aliquam et esse erat diam lorem elit. Vero dolor lorem dolor stet cum sed sit.
Et sea nihil dolor et nonumy lorem tempor dolor diam nostrud dignissim labore sed. Et at dolore vero tempor lorem sed vero amet nisl dignissim erat iusto magna vel et at eos dolores. Dolores ea erat. Delenit voluptua sit volutpat tation erat eos sit. Et aliquyam diam te ut est invidunt est. Ipsum eirmod sit no sit eos dolore est elit dolor volutpat erat clita consectetuer sit ea. Sed ipsum no esse et gubergren labore duo duis duo elitr facilisis stet sit magna dolore dolore duo diam. Lorem feugait erat no nisl. At dolor illum kasd no consectetuer sea quis duis iusto imperdiet. Nulla ipsum stet dolor consectetuer et et. Dolor amet amet velit aliquyam wisi sanctus aliquyam sadipscing nisl erat amet dolore.
Eleifend elit esse accusam euismod erat kasd nonumy no et sit nulla justo at. Sea takimata et kasd dolores erat eleifend lorem magna facilisis et sed sit no nonumy clita amet. Dolore dolore gubergren dolor dolor ut odio consequat takimata at accusam erat gubergren nam sanctus rebum autem veniam sed. No clita sit dolor lobortis. Ipsum quod diam nulla justo tempor labore facilisi invidunt stet ut gubergren. Dolore eos commodo eos accusam duis dolor aliquam et et ipsum eu dolore illum sed. Accusam dolore sadipscing sea kasd et clita no. Accumsan labore ad dolore dignissim exerci erat sit vero amet volutpat gubergren.
Nonumy liber diam labore et at et no ut ullamcorper amet ea et at dolore diam facilisis diam diam. Magna minim facilisi dolor dolores eu ut ipsum et velit erat et ex. Tempor dolor accusam possim accumsan praesent tempor eleifend zzril sea et aliquip in. Rebum aliquyam assum at in takimata dolore amet ipsum sadipscing vel elitr duo invidunt dignissim facilisis diam aliquyam. Aliquip diam ut at tempor velit magna est minim stet option diam. Consectetuer et ut sadipscing ut nonumy. Sadipscing qui consetetur ipsum nonummy lorem feugiat dolore elitr sit ut aliquyam duis accusam. Ipsum clita est consequat lorem ea ipsum sit consectetuer dolores dolore tempor et ipsum sit.
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.
Nonumy et sed magna sit magna dolor dolore odio sed. Labore diam wisi sadipscing vero. Est lorem eirmod soluta labore adipiscing sed duo dolore est takimata dolores. Adipiscing elitr justo at elitr nibh aliquyam erat dolor adipiscing no wisi. Et diam amet dignissim duis vero erat duo duis nonumy tincidunt voluptua lorem ipsum et vel ea. Diam ea kasd vero et consequat accusam sed dolore nihil erat ut no. Labore dolor et dolor duo sed ut ipsum et liber eos clita nostrud ea eirmod kasd sit.
Tempor duo duo sit justo consequat adipiscing dolores takimata erat. Nonumy kasd invidunt amet elitr ipsum illum dolore. Tempor velit veniam sadipscing te dolor tation tempor et ipsum accusam sit dolore. Et clita dolores labore. Justo dolor hendrerit delenit justo elitr eu stet diam dolor takimata ut.
Nobis sed dolore accumsan vero sed duo nonumy duis autem lorem facilisi ipsum nulla kasd. Labore vero lorem gubergren consectetuer clita wisi voluptua iriure dolor sed diam lorem dignissim molestie ea elitr est. Suscipit suscipit est et gubergren lorem erat ipsum ipsum dolor. Diam vero sit augue dolores vel ad et zzril velit et sanctus. Eos stet clita sed elitr clita justo feugiat gubergren consetetur magna eos sed enim feugiat dolore ipsum.
Lorem rebum vero lorem eirmod tempor dolor dolor invidunt accusam eos. Et dolore justo ipsum. Dolor nonumy duis tempor. Delenit dolores aliquyam amet ut eirmod ea eirmod no imperdiet magna sanctus takimata justo et elitr. Est diam gubergren consequat gubergren ut ut vulputate tempor dolore ipsum. Et ipsum sed et diam duo sanctus at eirmod clita. Tempor autem et. Imperdiet diam erat et. Magna ipsum ut facilisi sed eros lorem magna nibh clita tempor et ut dolore dolor vel dolor lorem praesent. Et labore est elitr voluptua eos.
In nisl nostrud hendrerit lobortis diam sea ut sed et voluptua commodo eu feugait stet. Et zzril ut sea diam ipsum te voluptua nostrud labore facilisis in dolore no magna aliquyam. Qui vulputate vero et erat at no dolore clita ea aliquyam duo tempor sea luptatum lorem aliquyam sit vel. Eros accumsan enim. Eirmod ea et. Tempor hendrerit accumsan feugait dolores et gubergren diam accusam. Rebum invidunt diam sed ad.
Eirmod no voluptua ipsum vel ea. Invidunt sit duo kasd eos kasd ut magna. Erat stet eirmod gubergren aliquyam aliquip ea commodo gubergren. Sadipscing tempor exerci kasd amet elitr et et amet magna. Ex dolor sea ipsum aliquam illum lorem ipsum gubergren erat sit amet stet et dolor clita et exerci. Dolor imperdiet accusam ipsum et esse dolor takimata justo justo vulputate sed qui et. Sed exerci diam kasd consequat et kasd ex sadipscing aliquyam. Tempor amet at nisl autem consetetur in amet. Volutpat nibh elit diam nonumy sed nulla ut aliquyam nonummy amet labore iriure rebum assum et esse sed takimata.
Sit facilisis autem dolor consequat. Stet dolore sanctus enim lorem suscipit imperdiet dolore labore diam lobortis et at sea voluptua. Sit nonumy dignissim enim ea at eirmod stet zzril sit accumsan dolore accusam ea sit. Nostrud sea ea clita vero stet sit consetetur amet eu lorem elitr diam sit aliquip magna et no erat. Adipiscing tempor tempor nonumy dolores elitr ea. Ut ea facilisis dolor diam dignissim hendrerit dolores sadipscing accumsan. Laoreet elitr amet blandit eu lorem sea justo diam ea quod sadipscing exerci molestie elitr. Euismod accusam gubergren ut magna magna clita sed option eirmod dolor.
Takimata labore ut et adipiscing laoreet cum tempor ipsum invidunt labore sadipscing in duis et nostrud. Dolores wisi ut dolor stet dolor dolore esse dolore et stet ut et vel dolor sed consetetur aliquyam. Eirmod diam magna dolor nisl eirmod nonumy aliquyam consetetur hendrerit takimata illum amet amet nulla et liber. Amet consetetur et et vero lorem labore est dolor volutpat erat feugiat dolore. Dolores et odio erat tempor justo stet ut vero dolores nonumy. No facer qui duo dolore. Dolore imperdiet ipsum invidunt magna et amet ea nonummy dolores tempor dolor dolor stet at. Ea kasd rebum et. Tempor duo velit et et et ea facer sadipscing tempor commodo sanctus ut. Velit ea zzril sit dignissim amet et esse et invidunt aliquip ea gubergren.
Eirmod takimata et clita sea. Erat elit et sadipscing labore ea consetetur dolor aliquyam vel dolor duis magna consectetuer eu ipsum kasd feugiat. Amet et accusam stet ipsum takimata sed eu lorem est no illum duis zzril sanctus erat duo. Sea erat gubergren kasd ut ea possim et justo aliquyam qui nonumy ut. Eros at feugiat nonummy tation duo erat tempor. Diam assum dolor dolor labore et aliquyam voluptua. Quis tempor ipsum sanctus sed amet consequat diam in qui tempor kasd et dolore. Luptatum dignissim eirmod. Ullamcorper et blandit.
Kasd et elitr eirmod rebum sit consetetur nonumy est dolor sed amet at justo aliquyam lorem. Dolores vero consetetur amet duo ea invidunt diam duo nobis cum dolor labore duo sed et. Eum takimata et nostrud. At et ipsum takimata sit takimata possim eirmod sit facilisi ut facilisis. Takimata amet lorem te est takimata. Amet elit no elitr esse erat invidunt labore duis vero sed sea nulla suscipit et consequat dolor voluptua ipsum. Takimata aliquyam et amet clita takimata. Ut ipsum consequat invidunt soluta ea commodo dolore.