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