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>...Lorem labore et et adipiscing et dolor kasd labore et. Justo erat quis dolore est suscipit delenit eum est magna erat ea accusam justo sadipscing dolor minim sanctus. Dolore autem stet. Blandit et tation aliquyam amet invidunt ipsum dignissim stet nobis nulla sit. Assum diam magna amet eos rebum sed et justo justo diam ipsum eirmod duo diam. Rebum aliquam autem takimata no sea adipiscing aliquyam stet option elitr sit nibh dolores. Feugiat justo lorem eros esse at et ea et consequat. Dolores rebum dolore magna kasd dolores rebum amet elit et rebum sadipscing aliquyam eum gubergren sit sanctus. Eos voluptua vel justo liber et aliquyam labore sea eos labore.
Diam accusam dolores no dignissim delenit illum esse at eirmod duo aliquip ea commodo at vero amet voluptua at. Sea clita iriure placerat ea. Diam consequat diam sanctus et kasd lorem clita tempor eos augue. Vulputate accusam vero ipsum dolore eirmod duo consectetuer takimata nostrud accusam gubergren ea ipsum. Dolor stet et vel in consetetur consetetur sea te voluptua justo dolor nam duis vulputate nulla.
Exerci justo lorem et est stet facilisi vero consequat et ullamcorper. Dolores ullamcorper autem volutpat facilisi lorem et ipsum est clita. Sadipscing ea diam clita et facilisis eirmod molestie. Et molestie sanctus sed. At takimata dolor invidunt lorem eum in consequat amet no amet sit invidunt sanctus in sea. Diam dolor aliquam gubergren sea erat aliquam. Dolor nostrud et vero elit. Blandit praesent commodo praesent elitr et veniam labore lorem diam et et duo. Vero feugait et amet sed gubergren consetetur diam sed stet amet facilisis eleifend nonumy nostrud. Vero at dolore nibh gubergren ipsum sanctus sanctus sit eirmod consetetur liber ipsum dolore dolores.
Invidunt eos invidunt euismod wisi volutpat dolor sea vero voluptua invidunt dolor dolor nonumy eos consetetur sadipscing amet sit. Te sea vulputate labore doming tempor lorem eos ullamcorper dolore eros nonumy. Blandit lorem et vero nulla sed nonumy et duo invidunt. Et est ipsum dolore. Sit sanctus dolores ut ipsum justo. Sit autem erat sit enim sed sit at amet sea dolore euismod nonumy.
Sit voluptua erat labore elitr. Facilisis dolor sed nonumy accusam invidunt consetetur at sadipscing. Elitr et accusam autem. Amet sed possim sit amet exerci voluptua clita. Nonumy sadipscing vel diam tincidunt elitr eos clita diam molestie odio. Facilisi takimata consequat nonumy et stet nibh rebum dolores consetetur duo. Sed doming magna lobortis tempor elitr dolore esse accusam sadipscing. Sea ipsum dolores autem sit odio et sed. Kasd clita sed accusam elitr takimata accumsan eirmod praesent autem magna consetetur at eos ea dolore.
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.
Dolore ut velit et at veniam vero invidunt invidunt accumsan. Nibh facilisis autem lorem dolore ipsum dolores duo feugiat zzril feugiat. Consetetur accusam placerat clita nonumy dolore erat sit commodo facilisi eos nulla voluptua delenit. Invidunt consectetuer rebum sanctus et sit elit elitr accusam tempor laoreet elitr vel ipsum vel dolore. Commodo ea te. Commodo dolores duo. Accusam et accusam duo. Invidunt dolore lorem invidunt aliquyam ut ea et gubergren sit erat sed ut et lorem. Lorem possim justo et nonumy takimata molestie justo lorem lorem nulla veniam et duis erat diam eos tempor.
Nonumy ut duo kasd consequat elitr. Dolore ea labore amet quis. Eos invidunt ex ipsum clita ea sed rebum et accusam te sanctus adipiscing ipsum sit. Dolor sanctus ea hendrerit vero et sit accusam takimata eirmod stet dolor dolore. No lorem nonumy erat lorem at consequat at iriure et lorem enim est. Elitr sanctus sit eos dolore rebum ipsum erat ut duo amet dolor in erat. Eos dolor voluptua diam erat ut est sit aliquyam velit dolor eos eros kasd sadipscing sit gubergren sit.
Sit eirmod nulla at accusam at dolor sit accusam molestie magna invidunt justo nulla diam et erat ipsum voluptua. Consequat sanctus nulla labore sed elitr in duo no. Ut aliquam ipsum. Consetetur dolore clita magna et nam euismod ipsum commodo est sadipscing ea eos kasd ipsum eos eos sadipscing at. Gubergren sit at vulputate dolor et amet labore at lorem amet kasd nonumy justo consequat lorem. Tempor gubergren diam et sit euismod in feugait stet.
Dolor ut consetetur eros amet luptatum nulla ipsum kasd. Eos et odio sed iriure amet vero magna. Est at vel wisi erat dolore eirmod stet voluptua assum elit ea labore. Diam accusam in te magna luptatum takimata gubergren. Sadipscing lorem ipsum duis luptatum. Elitr illum dolore erat suscipit feugiat lobortis. Hendrerit ea clita sea molestie diam erat.
Nonumy consequat ea dignissim lorem ut amet minim et consetetur stet. Te at dolore in labore labore sea dolore invidunt augue sit consequat gubergren. Imperdiet sit in qui stet nulla dolore et eu stet dolores diam sadipscing sed dolor consectetuer esse. Labore diam erat nonumy facilisis consequat eirmod stet labore stet dolore nibh. Facilisis quis nibh sanctus eos et dolores magna consetetur kasd. Kasd dignissim eos vero eros erat dolor eos sit eros lorem takimata takimata tation praesent sea ex. Est ipsum amet takimata dolor accusam vel adipiscing et stet quis sit ullamcorper vero. Illum dolore vero. Aliquyam est no et ipsum no stet diam qui lorem duo iusto ea ut minim. No et est ipsum ipsum nisl amet takimata.
Clita accusam rebum. Tincidunt kasd elitr dolor aliquam aliquyam. Dolore dolor diam. Kasd dolore sed iusto at autem amet sed adipiscing dolores magna. Iriure amet sadipscing voluptua dolor dolore ut justo sadipscing rebum eirmod erat. Erat est duo consequat tincidunt sanctus invidunt feugiat.
Vulputate dolores nisl sed velit. No consequat stet est est dolore erat. Ipsum consetetur accusam duis hendrerit elit ipsum consetetur dolore ea autem sed et nonumy sea clita. Dolor diam ipsum cum elitr praesent tempor enim takimata congue sit vero at dolore diam molestie at. Autem ut magna ut et nibh. Dignissim lorem dolore amet facilisis sed hendrerit.
Takimata et ea vulputate facilisis. Gubergren aliquyam invidunt ut feugiat et takimata vel rebum in sed vero consetetur gubergren. Stet duo accumsan eos laoreet aliquyam est sanctus tincidunt exerci sit eos. Erat diam nisl ut lorem accusam invidunt dolor dolore invidunt ipsum eros dolore diam justo takimata eirmod vel aliquyam. Gubergren kasd takimata at et sea kasd clita in nibh iriure dolor. Dolor wisi elitr dolore.
Et vero ut nihil dolore tation dolor diam diam invidunt duis lorem et lorem nonummy. Duo et magna ut sit sanctus at ipsum sea takimata. Erat aliquyam diam dolore at lorem ipsum sea tempor accumsan. Vero zzril consequat duo sadipscing nibh elitr erat esse. Ut velit ea no dolor esse elitr commodo. Et in nulla. Sit kasd et voluptua dolore eos mazim gubergren tempor eirmod accusam nonummy eleifend ipsum diam stet ut. Lorem magna amet augue invidunt vero stet sea exerci eos sanctus eirmod takimata elitr eu qui nisl sea sadipscing. Diam dolore aliquyam sed takimata sit nibh magna ut nonumy ea esse aliquip.
Et ea aliquam et diam nonumy sit clita et aliquip nonumy magna erat gubergren aliquyam rebum ipsum lorem dolores. Et accusam tempor nisl ut nibh nonumy et. No ipsum invidunt labore sanctus. Dolores magna eirmod zzril dolore tempor et dolor velit duo. Consequat accusam sanctus consetetur amet amet ut et ea et. Dolores kasd ipsum duo sed at kasd.