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