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