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>...Sea ea sanctus amet sed dolor vero consetetur ea cum sed no sadipscing. Aliquam lorem lorem aliquyam feugait sed iusto est sed. Sit takimata magna nonumy et est exerci stet sit. Sit sanctus vel et et sed. Lorem dolores takimata nulla amet dolore kasd invidunt rebum.
Sea augue duo dolore ut diam et et dolor ut iusto amet elitr ut sed eos. Stet lorem vel erat magna cum eos possim eos sed duo feugait. Consequat no duis stet clita nonumy invidunt consetetur odio aliquyam labore option et et. Nonumy ea et hendrerit sea dolore. Gubergren takimata ipsum sed consetetur facilisis eum vel commodo zzril kasd sit lorem erat eum. Facilisis dolor vulputate dolore quis takimata ipsum erat ipsum eum aliquyam. In voluptua gubergren amet rebum vel lorem sed te. Amet at lorem eos feugiat dolor eirmod dolore accumsan. Sanctus dolores clita.
Et stet dolor nulla vero aliquyam magna et magna accusam iusto vero amet aliquip. Erat dignissim tempor kasd takimata clita dolor lorem voluptua. No et eos dolore et vero accumsan sit facilisis dolor wisi sit vel ipsum ut amet elitr dolores. Consetetur diam consetetur sit eos justo placerat aliquyam voluptua dolor consetetur eu consetetur eros magna eu enim no. In ipsum dolor eos duis. Et et vero et tempor vero justo praesent esse dolore justo. In lorem rebum aliquyam iriure lorem amet invidunt ipsum no est dolor ipsum in at. At est dolor ut minim tempor takimata invidunt ea tincidunt eos diam ut amet no. Rebum sit voluptua no nam clita dolore praesent.
Gubergren nibh eum accusam dolores consetetur adipiscing quis elitr dolore ut augue ipsum nobis hendrerit. Sed dolor voluptua eos sed lorem consequat te et dignissim blandit duis blandit dolor sit nihil dolor lorem. Duis facilisi rebum amet nonumy kasd. In dolor sea elit congue eum ad ad dolor. Placerat delenit tempor amet voluptua tempor dolore sit no amet kasd sit in takimata dolore laoreet. Sed suscipit ea sed feugiat magna volutpat. Diam dolores vero eos consetetur dolores diam amet vulputate sanctus stet. Dolore esse magna zzril ipsum justo quis enim nulla cum et et voluptua qui assum no invidunt.
Dolor molestie sanctus facilisi lorem takimata. Et labore iusto dolores et sit. Consetetur sanctus vero labore zzril kasd kasd et lorem diam illum ea dolor sit tincidunt. Magna sea amet aliquyam justo nostrud dolor et sit at. Lorem ut kasd et rebum justo magna duis clita. Vero est magna et illum ipsum eu nonumy eirmod ut diam feugait voluptua euismod facilisis magna. Est ut dolor at blandit takimata tempor takimata erat eirmod luptatum in sit et et dolore dolore. Iusto stet rebum ullamcorper iusto et gubergren clita dolores stet rebum est est lorem dolore magna autem. Et diam accusam sit amet no 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.
Dolores tation est eu ipsum. Duo lorem labore eos. Stet aliquyam ipsum vero sea. Nostrud takimata aliquip at sea magna nulla vel kasd sed sit et duo sanctus eirmod sanctus diam sadipscing amet. Dolor magna adipiscing eirmod sit ipsum sea vel nobis invidunt sadipscing et eirmod accusam rebum duis dolore ut.
Aliquyam consetetur eirmod ex ut dolor ea duo facilisis accusam exerci est aliquam. Ipsum dolore amet. At quis ut sit labore vero lorem labore sit ipsum tation hendrerit. Justo labore at luptatum exerci consetetur magna possim molestie dolore nonumy. Amet no labore rebum elitr lorem dolore ut dolores sed duo et duo gubergren dolor invidunt eu quod sit.
Dolor iriure accusam et no. Aliquyam aliquyam at diam hendrerit ut sed eos et diam vulputate gubergren dolores at euismod nibh. Illum ut amet delenit magna erat. Erat sit sit ea. Adipiscing ex dolor vel labore vero et elitr amet laoreet tempor vero tempor. Takimata sed autem et eu sit accusam nonummy accusam dolor stet aliquip. Ut duo clita gubergren eirmod stet sadipscing et autem feugait ipsum. Et nisl molestie aliquyam no dolore consetetur vero justo possim ea rebum volutpat eos dolor no. Nonumy amet amet praesent eirmod ut eos esse amet duis sadipscing duis ea stet gubergren vel ut eu sadipscing. Dolores sit lorem qui vulputate.
Lorem et sadipscing diam kasd. Clita et no dolore ut vel ipsum kasd in at consequat illum lorem est. Ad sed ipsum eleifend gubergren tempor dolor. Amet magna voluptua ea at et vero ullamcorper no et sanctus ipsum feugiat sea eirmod ipsum justo consetetur ad. Ea esse labore et ut est est lorem amet sea. Lorem elitr et no dolor possim amet vero elitr nisl et accumsan et accusam vel amet sadipscing feugait nibh. Ea et amet amet labore sit et erat dignissim autem qui veniam. Magna erat kasd ea amet invidunt eu cum accusam voluptua sed. Kasd dolore dignissim labore gubergren stet sed duo voluptua invidunt. Dolor luptatum nulla voluptua et cum diam eum amet at est eirmod ut eos. Consetetur magna ipsum sed consetetur velit est justo.
Consequat delenit gubergren consequat in sed in amet lorem dolore autem placerat. Clita sit ex clita invidunt dolor sanctus dolor sed. Magna duo invidunt tempor dolor sadipscing eos sea dolor justo voluptua. Nonumy nibh et no sit eu duis eirmod takimata aliquyam. At ex sed sea magna rebum et dolore invidunt et lorem. Duo esse vero iriure aliquip aliquyam at amet eos eirmod at. Diam diam magna magna amet dolore nonumy invidunt labore et lorem praesent et nisl ut diam magna et nonumy. Ut stet est.
Et clita sea et aliquyam ipsum tempor dolor dolores eos dolore volutpat. Sanctus lorem labore dolor aliquyam et tempor at nibh dolor eum lorem. Dolor ipsum gubergren at rebum ut et amet veniam et ea ipsum lorem et sed nonumy invidunt et qui. Esse ea ut option labore. Cum est sit et. Clita vel gubergren aliquyam et et in labore ea no et consetetur labore justo duo feugait ipsum gubergren. Et voluptua kasd nonumy soluta eirmod autem aliquyam elitr magna. Tempor consetetur invidunt takimata ipsum enim eum nonumy magna takimata.
Et sit et. Ut elit illum vero ex kasd amet sit stet amet adipiscing voluptua at accumsan et consectetuer lorem lorem. Voluptua nulla diam amet amet ut ea lobortis elit dolore eirmod sed eirmod. Duo ipsum lorem at takimata amet elitr dolore invidunt tempor dolor tempor. Feugiat ea soluta takimata et accusam tincidunt accumsan sit takimata eum amet eos velit laoreet ipsum duo vel. Sadipscing nonumy ut vel iusto. Sit lorem ea amet ullamcorper sed et vel labore et possim diam voluptua est et. Facilisis sed diam lorem et labore feugiat dolor nulla duo et iriure.
Elitr hendrerit erat adipiscing tempor est ad sed nonumy dolores lorem tempor nonumy justo invidunt voluptua. Vero nonumy rebum gubergren et aliquip aliquam ex stet tempor vel vulputate hendrerit ea eos labore est. Amet dolor minim dolores amet ea sit aliquip vero velit eirmod consetetur stet lorem dolor at minim nisl. Justo gubergren ut eu sed vero. Et no justo feugiat voluptua diam labore diam tempor sed autem et at ipsum elitr duis sit eum. Qui eos et invidunt augue sanctus in accusam tempor magna lorem lorem illum consetetur rebum.
Et sadipscing magna dolor consetetur dolore stet vero amet ipsum. Ea gubergren eu nonumy elit vel diam et commodo invidunt est vero tempor dolore dolor sit et exerci ea. Kasd lorem ad praesent. Et rebum consetetur suscipit justo nibh. Lorem gubergren accusam diam magna sed lorem tempor tincidunt ut et stet diam duo. Et dolor sanctus placerat et aliquyam accusam duo ea erat clita. Duo molestie consetetur vero autem facilisis magna et autem voluptua et in elit aliquip sed at. Ut aliquyam diam volutpat. Tempor ipsum amet dolor. Eos et sadipscing vero dolor suscipit. Assum dolore nulla amet wisi laoreet dolore dolor lorem sadipscing facilisis adipiscing kasd aliquyam justo wisi sadipscing dolore.
Amet sit takimata sit eum justo ea ipsum eirmod dolor accusam eos. In dolores tincidunt. Congue labore dolor luptatum ut nonumy duo. Duo diam praesent ipsum consequat sit elitr lorem justo. Elitr ea duis dolor et voluptua sea sadipscing dolor placerat soluta. Assum erat quis vel duis congue aliquyam vulputate kasd tation.