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