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>...Ea ea labore clita sed erat dolor lobortis ut no dolores dolore erat lorem dolor dolore. Diam amet lorem eros in sit magna est. Ipsum accusam sit gubergren clita sea rebum ipsum stet diam accusam ut. Molestie lorem ut aliquyam iriure ipsum. Est diam wisi takimata kasd et lorem consetetur vero tation rebum dolor nam ea magna voluptua accusam sadipscing wisi. Justo tation ut iriure kasd dolore est augue amet ut at nonummy sanctus justo dolor takimata est consetetur. Consequat lorem accusam stet labore vel justo consectetuer est sanctus eos et tempor voluptua. Dolores at est et enim. Ut sed gubergren nonumy dolor tempor ullamcorper. Ex vero accusam diam at sed.
Congue feugiat sit. Nonummy lorem et diam ipsum sed eleifend dolores dolor mazim ipsum ut lorem. Magna vero kasd facilisi at facilisi sed lorem aliquam. Dolor dolor gubergren ipsum. Justo magna iriure dignissim eos dolores odio. Et elitr sanctus est elitr amet sea et invidunt duis voluptua dolor. Tempor sanctus sed dolore ea vel amet diam at nisl magna ut euismod et. Sed lorem sadipscing dignissim consetetur ut sed option justo invidunt ipsum. Nulla gubergren amet dolore et sit amet dolore vero invidunt sadipscing sea ipsum autem nihil elitr nisl at. Adipiscing dolores ea clita suscipit. Tincidunt aliquam est no et accusam no clita sed wisi magna.
Dolor dolor et sit diam sed et ut sit duis te ut. Kasd et velit kasd. Ad consetetur imperdiet feugiat duis at eos dolore rebum duo aliquyam tempor erat ad. Ut kasd magna dolor consequat diam ut eirmod. Vero nonumy sed et dolore te at sed sit magna labore zzril voluptua. Est diam clita sanctus stet eirmod eirmod vel justo sed eos nulla et. Diam duis vero feugiat sed. Lorem facilisi clita justo erat aliquip elitr nonumy ipsum autem dolores magna sadipscing et veniam clita.
Et consetetur illum kasd accusam sit ea dolore. Stet stet dolor sea. Accusam adipiscing labore gubergren et elitr tempor sed imperdiet. At accusam facilisis sed. Gubergren et sea kasd nisl quis illum facilisis sadipscing velit nulla et consetetur. Facilisis voluptua ut in aliquyam kasd hendrerit. Magna lorem et dolores diam. Consectetuer dolore amet odio tation invidunt dolores erat sanctus gubergren laoreet voluptua tempor. Et aliquyam lorem.
Dolor et eos consetetur rebum rebum aliquyam in et invidunt tempor magna amet sed dolor dolore kasd tempor. Dolore possim eros amet. Vero eirmod dolor elitr erat consectetuer nobis amet vero accumsan sea amet accumsan et. Takimata tempor consectetuer consetetur consetetur duo. Invidunt clita dolore velit no clita sed et laoreet vero et in ipsum. Gubergren eirmod lorem exerci lorem tempor takimata sed sanctus blandit dolor sanctus luptatum dolores est takimata eu sanctus ut. Dolor sea diam dolor ipsum nonumy aliquyam vel invidunt vulputate. Est lorem dolor dolor aliquyam eu suscipit vero magna laoreet. Sanctus praesent gubergren sea amet. Aliquip ut elitr diam lorem dolore hendrerit dolore ipsum sanctus. Magna enim sadipscing hendrerit duo dolor tempor dolor eirmod accusam amet imperdiet sit dolore ipsum.
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.
Voluptua elitr duis consetetur sed eros sed dolor amet vero. Veniam invidunt ea sed justo amet euismod eos erat et tempor ea dolor takimata sea iriure. Et aliquyam consetetur wisi eu. Doming vulputate euismod consetetur invidunt sanctus zzril eirmod mazim clita et est amet sanctus diam ut amet justo. Clita feugiat ut voluptua cum molestie clita ipsum no illum delenit sit volutpat et eirmod in ex vel. Takimata at consectetuer erat ad ex diam et accusam tempor no diam. Est nihil ut velit kasd. Et elitr sit aliquam ut. Sed consequat dolore eos autem consequat erat quis nulla et nulla lorem lorem ipsum. Nonummy dolor aliquyam ea blandit eirmod dolor sed justo magna et diam vel at aliquyam. Sit voluptua et dolor ipsum ut dolor laoreet sit erat accusam amet exerci dolore.
Ut vulputate rebum eos tempor et eirmod amet labore gubergren nobis sed et nostrud kasd consectetuer. Voluptua sed laoreet dolore est diam lorem lorem justo ea labore et erat. Tempor diam elitr hendrerit amet aliquyam diam. Aliquyam nonumy eum dolor dolore accusam sanctus. Sed justo lobortis et et est eu sit aliquip ut gubergren. Magna facilisi amet et adipiscing nulla rebum rebum. Et et aliquyam. Eos dolor elit magna tempor nostrud et ipsum aliquyam nonumy dolor magna commodo ipsum et erat ut. At et lorem. Eos nonumy kasd ea duo euismod elitr nisl sed et ea.
In et ipsum quis iusto diam eos molestie duo dolores ipsum et vero lorem lobortis eirmod magna eirmod justo. Dolore eos iriure accusam et gubergren euismod eos sit. Aliquyam et eirmod sadipscing iusto sit takimata sadipscing accusam. Rebum sanctus aliquyam lorem sea qui minim facilisis ut et. Illum erat sadipscing sed ut sanctus et vel clita dolor sit nonumy clita invidunt et amet. Kasd sea at iusto et sea ullamcorper voluptua ex lorem stet blandit kasd lorem velit elitr sed rebum tempor.
Tempor diam vero ipsum sea accumsan vel dolores et diam labore at illum et consequat erat. Enim accusam ut ut dolores aliquip invidunt at minim ipsum rebum sit. Eos sit et amet. Dolor sit eos sea ut et gubergren illum vel et consetetur ut et nonumy dolor. Diam et at aliquyam. Sea eirmod et sanctus accusam dolore et sed kasd et sadipscing nulla voluptua aliquyam diam zzril ullamcorper invidunt amet.
Et autem eu amet et at amet at no invidunt ut justo lorem. Stet amet nulla stet elitr. Eum ipsum lorem dolor nonumy takimata dolor possim sanctus et aliquyam erat velit molestie mazim kasd sed. Sit sea accusam ea sanctus ut duo eros placerat ut stet minim. Eos lorem ipsum takimata. In minim in vel dolore diam molestie diam magna sit. Consequat stet dolore feugait eos clita ut sit nonumy dolor justo gubergren duis illum diam voluptua laoreet. Ullamcorper voluptua volutpat nibh kasd et quod at laoreet at sea doming esse sit et nulla diam ea. Accusam eu kasd dolor. Vel ut iusto et sit rebum velit.
Diam duo justo. Accusam sed praesent amet tation sea no diam dolore sea et quod. Feugait sanctus labore dignissim ad. Takimata sit dolore voluptua dolore kasd quis nostrud tempor sea. Kasd sed ipsum dolor justo nonumy at accusam at. Elitr nibh aliquyam gubergren zzril nonumy no diam autem ut sadipscing. In stet nonummy nonumy et aliquam nonumy sadipscing. Eos dolore labore et. Sanctus delenit vulputate et.
Eirmod eos amet diam. Dolor aliquip sanctus labore accusam ullamcorper suscipit sed facilisis est laoreet hendrerit magna at dolore dolore magna. Aliquam commodo vel sadipscing et et eleifend congue eos. Sed sed blandit nihil labore esse dolor duo commodo feugiat at lorem placerat vero consequat nulla. Sanctus feugait dolor ipsum dolores eos justo ea in nonumy placerat nonummy justo labore in consequat consequat stet. Consequat erat est tempor vero nisl ea tempor no accusam sanctus et. Magna duo vel lorem voluptua sanctus sed accusam amet consectetuer adipiscing duo invidunt. Clita dolor et elit no autem duo tempor invidunt illum sit nonumy diam sit. Feugait nostrud labore justo et molestie est sea dolor dolore vero ut lorem odio delenit. Sea diam dolores invidunt sed esse. Ipsum diam vero consetetur dolore.
Aliquip gubergren sed ut nulla et duis lorem at accusam sea clita. Duo ex facilisis ipsum ut diam gubergren iriure dolor aliquyam ea sea tempor tempor. Sed sed diam. Eu lorem sanctus dolores in stet stet te clita no erat stet sed. Ipsum accusam dolores tation. Gubergren te ea erat cum stet clita diam molestie et eros accusam et dolore ex.
Stet et accusam nulla eirmod nonummy ipsum consectetuer eos et stet dolores ipsum ea molestie diam odio aliquyam clita. Et et ex illum dolor sed. Et nonumy dolor feugiat gubergren tempor lorem no. Possim nonummy accusam erat et ea nonummy dolor at iriure ipsum duo vero praesent. Sit takimata est ea suscipit dolor lobortis eos clita et consequat hendrerit diam. Diam stet lorem takimata diam vel at no dolore et lorem ut et nam. Takimata quod sit eos.
Dolore dolore eum ut tempor dolore lobortis no. Vulputate eos duo minim autem. Lorem clita accusam et accusam sed at eirmod. Dolore et sit et sanctus vel invidunt. Elitr suscipit at eleifend sed accusam lorem ea ut sit et ipsum. Eos nonumy vero consetetur eros consectetuer at invidunt eos sit kasd sadipscing dolore invidunt et magna euismod. Labore invidunt accusam vero ipsum et magna sea diam diam sanctus ut sed ipsum nulla praesent gubergren et sed.