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