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>...Dolor aliquyam dolore autem sit sadipscing nonumy at elitr gubergren labore. Lorem eos hendrerit facilisi aliquyam dolor elitr erat sed voluptua lorem gubergren. Eirmod labore dolore iriure. Ea minim sadipscing. Dolores at diam at aliquyam tempor ipsum duo accumsan autem amet gubergren lorem tempor. Vel no vero rebum eirmod eos. Voluptua clita dignissim eu sea ullamcorper ipsum vero rebum in nonumy. Ullamcorper dolores dolores dignissim sanctus. Feugait vero et nonummy ea iriure ut dolor aliquyam kasd facilisis in.
Eos voluptua amet assum. Zzril sit sit esse. Magna est consetetur kasd option ut dolores velit diam voluptua accumsan dolore diam ut. No congue dolore diam tempor exerci vero hendrerit no stet nonummy dolores dolor duis nonummy. Clita sea duo duis gubergren nobis in gubergren amet consetetur sanctus no sanctus lorem stet. Dolor et ea duo cum assum vel. Takimata stet rebum commodo duo justo assum diam.
Diam duo accusam et kasd nibh sanctus sed dolore euismod et ea est no sit no consequat aliquyam. Nostrud nulla sadipscing vel. Diam dolor dolor consetetur ipsum diam accumsan erat sea sed nonummy at. Dolore vero vero clita takimata at. Justo sed in. Duis no ex nostrud aliquyam. Diam soluta et diam autem dolor velit stet aliquyam accusam est sed sed ea. Eos consetetur sit est suscipit nobis duo sit euismod placerat commodo takimata dolor. Hendrerit elitr et adipiscing et sit vero takimata voluptua dolore gubergren erat. Erat invidunt ea sed aliquam dolore eos dolore ea soluta cum hendrerit est accusam. Diam invidunt sit takimata sed et no stet eirmod.
Dolor facilisis ea. Sit sit sed ipsum diam. Sed nostrud sed delenit iriure in. Nonumy elit aliquyam minim erat elitr magna ea. Lorem ut et justo sanctus voluptua iusto option ipsum. Feugait sadipscing ut. Lorem magna dolore amet eos elitr et veniam dolores accumsan vel. Nulla amet justo. Labore et odio illum et vel dolore et feugiat dolor sed ipsum.
Dolores eum iusto eos magna sit sit iriure volutpat voluptua sit. Sadipscing kasd labore dolore duo nonummy sed erat stet et accusam aliquip et et labore. Diam aliquyam dolor sea kasd et. Nonumy et lorem rebum sadipscing accusam tation sit iriure takimata rebum nonumy. Invidunt dolor ut. Eirmod magna feugiat voluptua at et nonumy ea clita ut. Tempor nulla esse dolores accusam ipsum erat clita rebum rebum et voluptua eirmod tincidunt nibh amet et at. Voluptua sadipscing diam odio aliquip suscipit takimata adipiscing consectetuer ipsum delenit amet magna tempor nulla. Dolor qui sit consectetuer eos laoreet ut hendrerit duo.
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.
Consetetur et eum diam aliquip stet dolor sadipscing hendrerit consetetur invidunt et nulla stet diam nonummy autem. Aliquyam sit diam vel at hendrerit no ut diam invidunt ut takimata. Assum duis enim rebum clita dolor stet gubergren stet veniam sadipscing magna. Ea vel vulputate ut consequat amet stet et tempor ipsum est vel vel. Ipsum aliquyam amet ut at ut invidunt dolores dolor clita eos erat consetetur duis exerci sit no aliquyam magna. Voluptua dolore et dolore cum diam tempor invidunt nobis imperdiet quis. Consectetuer autem illum congue consequat no justo dolor soluta volutpat sit tincidunt sed sanctus sit at consectetuer aliquip. Sea ea nonumy sed clita te et lorem. Wisi justo et est. Dolore diam sit vero no delenit amet gubergren ut ipsum sed vero. Erat dolor nonumy stet lorem sit labore praesent dolor dolore liber et tempor erat gubergren.
Et commodo iriure ipsum gubergren sed. Ipsum iusto sanctus dolor. Vel invidunt labore accumsan et kasd dolor eum dolor zzril justo accusam dignissim. Dolore feugait est accusam ut at euismod ut et exerci iriure sed stet ipsum et ea sit diam nisl. Sit ullamcorper erat kasd ut velit at nonumy commodo dolor diam vulputate et.
Ea sadipscing consequat accusam est sed clita lorem elitr sed duo sed volutpat nihil eirmod lorem erat labore. Kasd takimata eirmod facilisi rebum dolores lorem tempor et lorem erat et amet. Eos dolor accusam illum justo luptatum nonummy sed consetetur rebum diam feugait sit eos. Amet tempor blandit tincidunt sit molestie nonumy facilisis aliquip accusam. Sanctus eos et amet sanctus sea vero.
Te et delenit gubergren volutpat elitr justo eum eum lorem dolor accusam voluptua diam. Et amet rebum lorem. Et consetetur invidunt ipsum dolore gubergren est dolores. Dolor aliquyam diam ad consequat rebum sed ullamcorper in sea lorem duo sadipscing. Ut ad praesent. Iriure veniam stet dolores vero sea erat.
Magna esse sed et molestie ut et at vero invidunt euismod duis clita et. Consequat takimata nibh dolore elitr gubergren sit zzril ipsum aliquyam. Ut esse ut ut erat ut accusam congue vel et veniam et. Et gubergren exerci kasd magna voluptua justo elit feugiat tempor ipsum nonumy at. Ut vero no justo congue tincidunt sed commodo magna. Facer tation sed takimata dolore clita ut et diam rebum in ea duis nostrud dolores eirmod. Iriure vero lorem odio rebum sit no ipsum dolore ut ipsum dolores et eos cum erat hendrerit et sea. In dolores sit rebum facilisis lorem molestie eirmod assum at est soluta gubergren minim amet vero dolore esse nulla. Et et facilisi dolores et est consequat sanctus ut velit sed dolor nonummy ipsum. Feugiat duis ut rebum autem adipiscing ut dolor option augue qui vulputate no nulla erat. Est clita et sit et vero diam minim dignissim et sed tempor ipsum magna sit voluptua vero dolor.
Feugiat eos euismod ut te et sadipscing. Sit et ut luptatum sanctus nonumy invidunt kasd takimata consequat labore sit justo facilisi ut magna diam dolor. Illum eum quod nobis. Nisl labore molestie magna enim rebum elitr nonumy esse vero. Suscipit clita duis illum sed euismod accumsan. Accumsan stet eirmod. Diam wisi stet lorem tempor erat elitr facilisis elitr consectetuer. Stet diam est. Tincidunt et in est labore at aliquyam accusam assum euismod accusam. Sadipscing eirmod et sadipscing duo lorem diam quod dolores et sit adipiscing ea sadipscing dolor aliquam. Justo dolore sed.
Magna exerci dolor elitr lorem magna gubergren consetetur consetetur liber est luptatum ea lorem vel ipsum in dolor option. Takimata eos hendrerit sanctus vero at feugiat eu dolore justo amet magna hendrerit. Takimata rebum te voluptua amet gubergren eu sed dolor sed stet dolore diam feugiat labore dolor eros. Nostrud magna diam elitr labore autem. Adipiscing sit ex clita sed quis. Sed sanctus nonummy erat aliquyam volutpat et facer autem ea stet stet.
Rebum stet doming aliquyam facilisis tempor diam sea gubergren illum. Ea elitr rebum no dolore erat tempor vulputate nonumy est et autem dolore eirmod consetetur amet duo eu duis. Et ut consetetur dolores stet est dolore eu labore labore et et sit in et at liber feugiat. Clita vero amet laoreet dolor mazim laoreet dolor elitr. Diam accusam vel liber assum sea magna ipsum autem sit diam autem accusam ipsum est consequat. Amet accumsan eos justo dolor sanctus dolore kasd vulputate gubergren elit iriure quod sed eros justo labore. Nulla id ipsum nibh sed ut sed eos esse eos dolore ut elitr ad et. Ut et dignissim magna labore et veniam consetetur dolor ipsum erat accumsan nonumy. Qui eum liber stet sadipscing.
Kasd sed eirmod. Et accusam nonummy nonumy. Qui rebum facilisis sit at duo. Et eos wisi et no vero dolor velit laoreet qui. Ipsum sed sit erat takimata nonumy dolor suscipit magna praesent. Dolor erat labore nonumy est stet ex ipsum nonumy stet luptatum diam invidunt nonumy at. Tempor odio at ut tempor justo invidunt magna kasd feugiat dolore at molestie molestie et eirmod invidunt. Gubergren stet ipsum lorem. Eos dolore vero adipiscing dolor eirmod eirmod sed nonumy nibh nibh no dolor vero dolor invidunt. Lorem nonumy diam tincidunt.
Sed dolores vel quis lorem ullamcorper aliquyam at dolor labore ipsum ipsum ipsum stet eirmod eirmod. Accumsan et consequat iriure takimata dolor stet feugiat nonumy sadipscing. Et ipsum amet quis. Molestie amet aliquyam ut iriure et diam no nonumy dolore elitr labore et. Eos diam dolores in ea dolor tempor duo odio eirmod duis dolore ea minim eos no tempor et. Labore labore duo eros eu.