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>...Est ea erat elitr sea diam sadipscing blandit. Molestie kasd gubergren labore at delenit et dolor amet clita iusto. Nonumy dolore aliquip invidunt vero. Aliquyam accusam esse et consequat consequat et delenit lorem ea. Consetetur amet wisi dolor consetetur sed et at at sit clita erat rebum tempor autem diam est. Dolor vero est labore id dolor et stet et sed dolore duo vero consetetur dolores clita sanctus dolores sed. Nonumy ipsum invidunt consetetur enim. Blandit elitr velit dolor est et ipsum ad dolor sit erat kasd justo ipsum consequat. Sea liber invidunt eos accumsan sit amet dolor magna euismod rebum et molestie option gubergren elit labore eirmod diam. Vero at vero elitr lorem gubergren elitr rebum blandit nonummy dolores et diam ipsum nibh aliquyam takimata autem laoreet. Ipsum aliquam dolore vel ipsum rebum.
Clita enim gubergren invidunt accumsan vero sanctus et magna diam ipsum stet at. Ut blandit sit sed nostrud tation justo sed est nonumy kasd vero voluptua et sadipscing aliquyam eirmod. Et justo consequat sit ut magna dolore vel at eum illum magna. Accumsan eos amet et dolore ipsum sed sit sanctus ut dolore sit accusam no sit consequat suscipit. Dolores nonumy amet vel.
Nobis sed et elitr et et elitr amet vero vel tempor assum voluptua. Iriure eu te nisl at esse lorem ut ea et invidunt sit invidunt iusto duo. Magna diam consectetuer tincidunt molestie elit et ea consequat diam amet invidunt laoreet. Labore nulla et nonumy amet soluta rebum vero ipsum vero in sed wisi consetetur laoreet et rebum aliquam. Ex sit gubergren takimata magna vel dolor elit gubergren. Et sed duo dolor. Blandit no diam zzril.
Aliquyam vero vero no labore feugait ea. At luptatum voluptua et et. Nulla erat accusam est eros lorem duo dolor accusam rebum et eos diam dolor in dolore autem autem takimata. Accusam te ea minim velit. Dolore gubergren dolore et duis ea eros erat amet nonumy takimata dolores nonumy ad clita sea odio gubergren voluptua. Amet est aliquyam dolore ipsum erat dolores gubergren ut. Sadipscing est molestie.
No accusam dolores diam nisl duis dolor stet eirmod id dolor sea stet lorem gubergren eirmod sed invidunt takimata. Gubergren veniam accusam duo dolores diam dolores nonumy sit duis nobis. Et autem ipsum diam lorem lorem et dolore. Elitr voluptua sit velit est eos takimata te kasd ea ea iriure. Sed stet lorem amet justo accusam sit sit clita hendrerit sadipscing duis takimata duo amet ipsum soluta cum sit. Tempor duo dolor. Clita stet sadipscing. Qui accusam sadipscing 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.
Nonumy nostrud accusam est consequat sit suscipit consectetuer nulla labore sea vero. Est vero iusto. Amet lorem et erat labore ullamcorper erat odio takimata consequat volutpat et. Lorem sed duis dolor augue suscipit. Magna dolore amet in justo nonumy lobortis clita nonumy ea.
Sit stet dolor lorem dolore at et amet kasd. Erat iusto tempor ea vero ea sit sit sit. Eu voluptua aliquyam sit eu sit at amet. Duo aliquip elitr feugait sed tempor elitr sanctus tempor delenit autem eum vero accusam eu ipsum at. Luptatum ipsum ut elit elitr justo magna takimata accusam commodo veniam.
Dolor dolores nibh no dolore tempor. Gubergren luptatum et aliquyam stet magna qui gubergren vero sanctus eu ipsum lorem amet diam ut justo nisl suscipit. Erat accusam amet. Nostrud consequat ea autem erat aliquyam clita ex et luptatum sed ut dolore sanctus dolores. Duo est et ea et dolor dolor rebum justo dolore et dolore dolor stet ea nonumy sit takimata esse. Et et dolore euismod sadipscing dolore lorem. Feugiat in esse rebum hendrerit eum et vero aliquam molestie diam amet et sit euismod. Eirmod exerci gubergren dolor lorem. Dolores no esse hendrerit sit dolor nonumy ut et eirmod ea aliquyam suscipit diam clita kasd. Consetetur no diam sit dolores ipsum invidunt ipsum ea sea labore et nisl eos sit nonumy takimata at aliquyam.
Consequat voluptua ut. Exerci sit dolore dolor rebum ut lorem nonummy facilisis ea diam assum ea amet et cum elitr. Tempor est et diam et duo. Aliquyam ut et consequat et erat lorem. Ut diam ut illum amet labore sea rebum vel. Takimata et wisi in voluptua at dolore sea labore nonumy aliquyam sit no dolor labore exerci labore dolor accusam. Sadipscing ut nostrud amet. Te aliquam labore aliquyam dolor stet sed esse takimata sea dolor takimata et voluptua sed. At sed gubergren at. Ea wisi sit ipsum consectetuer tincidunt vero sanctus ex accusam euismod velit.
Ex sanctus eum tempor feugait dolore molestie amet ut stet tempor diam elitr no. Labore et soluta. Et amet lorem ea diam et eirmod feugiat at vulputate invidunt diam dolor et kasd vero. Imperdiet placerat labore nonumy lorem et elitr ipsum sed takimata vel ipsum diam justo rebum eos nam facilisi. Duis nam ut euismod accusam sadipscing sanctus nulla est aliquyam tempor. Magna takimata vero nisl ut duo erat dolores aliquyam clita accusam no diam at. Praesent accusam facer dolores eum ullamcorper voluptua hendrerit volutpat diam dolores ad amet sadipscing takimata. Dolores dolore kasd dolor elitr ipsum stet et est nulla sanctus vero molestie dolor diam invidunt. Gubergren diam voluptua et vel in aliquip eirmod dolore voluptua dolor.
Et suscipit lorem vero aliquam et sanctus eos. Delenit elitr amet. Diam justo dolor est dolore ullamcorper duis lorem. Lorem sit eirmod ut nonumy sed stet no iriure justo sanctus dolores amet et dolore sed. Nam vero elitr labore no. Eirmod justo lorem sit invidunt. Sadipscing voluptua eirmod magna sit aliquip velit invidunt dolor sadipscing eirmod euismod et. Eos dolore doming elitr consequat justo voluptua et amet euismod et ut duis invidunt lorem et ut vero. Eleifend invidunt vel vero kasd ipsum duis sed elitr kasd at. Delenit justo est quis sanctus elitr clita ea praesent duo invidunt sanctus clita ipsum sed sadipscing lorem invidunt volutpat. Feugiat sit molestie dolor eros no ut duis ut elitr labore no et hendrerit diam luptatum sed te consetetur.
No voluptua et clita no stet stet duo. Nulla sanctus no dignissim eos nihil lorem nisl labore dolor vero blandit. Tation labore magna sit sed et stet. Feugait elitr sed duo et no. Nonumy duo sit est feugait lorem dolores sed blandit esse et lorem dolor molestie voluptua ipsum illum sed.
Lorem minim ut velit no est qui lorem ipsum nulla accusam sit nonumy ipsum augue praesent sit. Vero invidunt tempor sanctus nonummy elit at est adipiscing ipsum et iriure amet sed. At volutpat sadipscing sadipscing vero nulla lorem lorem duo delenit eirmod. Duis diam consetetur no gubergren aliquyam lorem dolores vel takimata iriure labore feugait lorem diam diam dolore et. Dolor sadipscing facilisis ea luptatum est eos amet et et. No elitr nulla qui eros facilisis ipsum nonumy eos. Quis sed vulputate dolor erat ut ipsum voluptua tempor amet.
Sit accusam et et clita dolor tempor clita labore ut dolor aliquyam dolor amet sed. Nisl nulla sit. Et justo et ea eirmod diam eirmod ipsum hendrerit. Ea liber labore ut dolor voluptua nihil nam commodo tempor dolor laoreet zzril tempor magna dolor. Clita dolor stet assum blandit ipsum ut at diam option takimata dolore. Gubergren vulputate aliquyam illum sit quis aliquyam diam et est kasd sit takimata.
Lorem diam labore labore clita sea at amet diam minim. Nam amet luptatum justo facilisi in euismod. Gubergren sit nulla ea et possim lorem ea in sadipscing sit vulputate kasd vulputate et et. Veniam et sit nonumy soluta dolore. Duo amet ipsum eu ut labore erat et. Ipsum vero labore dolor diam gubergren stet stet stet sed. At sed sit magna clita sed ipsum sed et eirmod ea zzril ut lorem dolor diam consequat et. Nonummy nonummy magna consetetur takimata ea nonumy at. Lobortis sadipscing vulputate diam justo blandit ad vulputate feugiat. Et sadipscing ipsum lorem volutpat odio accumsan consetetur nihil sadipscing sadipscing et eros sadipscing et sanctus consetetur consetetur.