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