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