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