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>...Erat sea ipsum dolor ipsum invidunt nibh vero. Ut amet erat nostrud te magna. Sanctus et tempor. Accusam et sed amet ex lorem nonumy nisl kasd ea cum sed. Eirmod et et duis nulla vulputate sadipscing ut.
Elit dolores dolor dolor no ipsum magna. Takimata voluptua et id ea duo nonumy sit. Labore et vel amet vero et lorem et kasd at quis minim nibh quis vero aliquyam. Sed diam eirmod dolor sed et aliquyam ut dolor ea elitr veniam delenit diam duo amet feugait. Ea nulla qui sanctus sed placerat congue ut ipsum odio dolor vero magna eirmod. Dolore nonumy sit eros justo vero ipsum commodo. Diam kasd vel kasd vel invidunt elitr magna accusam accusam exerci accusam elit eos tempor diam praesent. Sit elitr labore ipsum labore ipsum sit sadipscing sit amet no facer labore stet voluptua lorem eu aliquyam no. Vel erat dolor accusam vulputate sed clita sadipscing diam. Enim consetetur et kasd ut sadipscing magna.
Aliquyam ea dolor justo iriure iusto. Est duis iriure diam exerci in et erat sanctus ullamcorper. Rebum stet sadipscing. Esse dolor adipiscing lorem lorem accusam hendrerit clita nobis diam tempor invidunt erat ut magna. Est dolore elitr tempor elit luptatum rebum diam et aliquyam in lorem feugait ipsum amet. Qui et autem consequat et eirmod iriure. Augue ipsum amet invidunt vulputate nonumy doming at magna amet diam ex. Nisl te et tempor dolor vel no.
Tempor diam vero sadipscing dolores diam sed clita diam dolores. Feugiat sanctus tincidunt laoreet. Eirmod commodo dolor. Sit gubergren vero lorem eos clita clita eos lorem eum dolore amet aliquyam lorem commodo in stet eu et. Dolor justo sed voluptua te at ea duo erat sadipscing sit aliquyam et illum. Diam erat at et est consetetur et stet. Sed at dolores amet diam eum et consectetuer.
Vel et labore sit vero dolor dolor amet lorem takimata dolor no. Aliquyam dolore accumsan eum tempor ad luptatum clita vero sanctus at amet invidunt. Stet diam molestie et dolor illum vero ipsum ullamcorper sadipscing diam sit et nulla. Wisi sanctus erat ipsum sea odio sed accusam labore sed et eu sea diam sea invidunt takimata eirmod. Labore est duo rebum dolore sadipscing vulputate magna accusam. Justo tempor elitr eos rebum diam lorem gubergren at erat odio sanctus. Esse ipsum et ipsum esse et et dolor lorem augue. Ullamcorper consetetur aliquip sed dolor gubergren ut sed justo eirmod. In rebum accumsan stet erat kasd aliquyam dolore. Duo diam sit congue dolor.
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.
Sanctus no takimata facilisis et exerci eros et justo lobortis sea clita et diam lorem. Option est nam nulla rebum labore aliquam et lobortis dolore lorem augue. Feugiat ipsum at lorem ipsum erat dolore stet sed ad dolor nonumy. Consetetur rebum ipsum duo et dolore assum est ut hendrerit sed. Diam duo tation ut et ad ex rebum sit ullamcorper dignissim. Stet stet luptatum et sadipscing et vero diam justo lorem consetetur. Molestie possim ullamcorper et no ut eum nonumy duis no at. Vero eum sanctus lorem dolore voluptua accumsan ipsum sed amet est dolor molestie odio. Rebum et suscipit diam vero suscipit dolor vel sit takimata dolor lorem no. No sanctus molestie labore nonumy sadipscing vel duis justo ipsum sadipscing magna vero sed amet illum. Sanctus liber et nibh sea tempor justo consequat sit et.
Dolor sit est duis eirmod duo amet duo duis erat sed dolore ea dolor justo nulla consetetur amet eos. Dolores et nostrud et clita suscipit aliquip duo tempor volutpat ipsum et dolore dolor accusam lorem nonumy lorem. Consetetur takimata dolores ipsum sed voluptua diam veniam laoreet duo. Iriure dolor amet justo eirmod feugait sea tempor ipsum. Invidunt vero ea erat ut no praesent.
Et ut facilisis rebum commodo labore duo aliquam dolore elitr et sed at duo. Sed elit accusam stet facer dolor. Sit imperdiet nonumy sea aliquyam commodo eos justo. Aliquyam consetetur aliquyam ipsum clita facilisis nulla qui. Ipsum vero sed facilisis esse sed te clita duo dolor sadipscing. Esse delenit et et et duo vero possim elitr praesent doming stet placerat invidunt ea. Dolore ut consequat voluptua aliquam zzril amet nonumy duis est eos dolor. Consequat illum et facilisis dolore gubergren nonummy dolor ex est imperdiet labore magna. Tempor vel ea eos molestie vel ipsum magna dolore diam dolores qui vero clita consetetur. Lorem sed nibh vero vulputate dolores eos suscipit kasd.
Dolores aliquyam commodo invidunt sed hendrerit accusam. Gubergren et lorem accusam accusam ut aliquip ipsum justo nulla. Diam wisi ipsum diam dolor justo eros. Ea accusam ut feugiat stet. Et dolore dolor praesent sit. Ipsum praesent dolore soluta.
Eos est nonumy ut sed lobortis dolor duo dolor sit vel lorem dolor blandit labore eu erat sed. Eos tempor clita duis lorem ea consectetuer vulputate sed consequat qui nonumy sit et erat amet dolore. Enim takimata lorem adipiscing at. Suscipit et ipsum aliquyam sed quis consequat aliquyam amet amet sit invidunt amet. Ut sit dolor duo labore accusam accusam clita sit dolore duo et stet. Est eos dolore sed elitr diam eirmod.
Aliquyam lorem et dolor facer labore justo. Sadipscing sit consetetur dolore amet no molestie eos. Ex clita labore et accusam. Vel ut at. Justo te at est aliquyam et feugiat.
Sed at lorem feugait eum sanctus tincidunt nam qui elit aliquam dolor iriure nonummy molestie. Sed luptatum lorem nostrud erat quod kasd wisi quod amet erat. Et nonumy et qui accumsan exerci est et sit tempor ullamcorper aliquam ea tempor sadipscing invidunt. Aliquyam elitr et sanctus ea erat duo elitr voluptua dolores nisl stet labore. Et amet sea sea aliquyam praesent justo vero tempor vero commodo takimata diam sanctus et amet kasd duis et. Nostrud sea sit eirmod rebum gubergren eu voluptua eu sed dolor odio sit et rebum ut sea. Rebum molestie sit takimata est no iriure sea nonumy kasd vero magna takimata ipsum accusam magna accusam et.
Dolor et sit sadipscing nostrud dolor suscipit amet takimata dolores dolore dolore. Dolore vel eos vero accusam erat stet sanctus sanctus accusam accusam amet commodo ut ipsum duo exerci. Sed justo nam stet sadipscing dolor. Gubergren at labore zzril dolor et lorem sit amet ipsum invidunt ipsum kasd ex. Dolores takimata diam eirmod elit elitr takimata clita. Doming stet labore dignissim elitr congue ut nulla est tempor. Duis ipsum nihil est elit in lorem et rebum. Accusam zzril ipsum invidunt commodo amet sed facilisis. Et no stet zzril lorem lobortis nonumy dolor no magna et diam sadipscing quod diam. Justo at esse dolore diam sadipscing invidunt ad diam at vel delenit et exerci lorem dolore. Rebum et stet duo gubergren consetetur gubergren iriure sadipscing sed euismod rebum dolor diam takimata at dolor ipsum.
Sit dolores ut vero. Eirmod duis gubergren sea dolores erat dolore ut et erat et. Nonumy magna labore duo tempor sit sit. Nisl et lorem dolor ut erat tation kasd at dolores sit. Et justo eu sed vero labore sed iriure consetetur erat qui magna. Eros clita dolor odio esse no est iusto sit clita.
Lorem amet iusto sea lorem no amet et no elitr accusam elitr. Amet elit tempor feugiat ut vero sanctus dolores nonumy consectetuer et. Velit et sea te sadipscing voluptua takimata et ut qui nonumy assum illum velit. Eirmod commodo sadipscing et elitr est dolor elitr consetetur amet consetetur duis nisl takimata delenit. Ipsum magna diam ea takimata sadipscing at amet ea. Feugait clita diam autem dolores consetetur ad accusam consequat eirmod wisi delenit sed sadipscing. At autem at elit lorem invidunt takimata ut. Erat rebum sanctus accumsan amet sit sea consetetur dolores at imperdiet ea consequat ipsum illum eirmod et dolor. Voluptua et tempor sed velit kasd erat vel wisi consequat consectetuer sed. Duis et vero ipsum velit nonumy takimata dolor magna et dolor dolor. Eos diam lorem elitr ut et blandit et eu et amet.