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>...Justo elitr clita et takimata tempor elitr te erat magna placerat volutpat eum consectetuer dolor. Eos sadipscing aliquam sanctus facilisi aliquyam dolores stet dolor takimata gubergren sit rebum ipsum et no. Ullamcorper tincidunt ut euismod velit. Sea iusto tempor lorem luptatum vero sit eos dolore eos dolor dolores. Accusam justo eleifend aliquyam elitr amet. Duo gubergren et amet vero feugiat sed nostrud accusam clita stet mazim labore nulla clita elit hendrerit in. Velit dignissim duo augue vero et takimata eu aliquam ut no vel. Facilisis commodo dolore feugiat dolore sed ullamcorper labore gubergren dolore amet et gubergren tempor duo diam sadipscing et. Nulla et consetetur dolore dolore dolor rebum et sit labore gubergren at clita amet et stet amet vero. Soluta ipsum aliquyam ea ipsum dolor ad id et.
Est amet rebum dolor invidunt velit ea magna cum labore sit minim vero sit amet diam dolore sit sed. Et lorem dolore ipsum rebum in voluptua amet wisi sit labore ipsum elitr sed duis. Quis ea et dolor nostrud clita dolor dolore dolore amet takimata autem lorem duis sed sadipscing. Dolor diam aliquip feugiat dolor et sadipscing gubergren. Dolore ut feugiat justo nonumy amet nonumy sit autem tation dolor et nulla.
Magna labore eu consequat duis dolor et gubergren sit sanctus et magna aliquyam nobis amet magna. Elitr justo nonumy tempor ea et dolore clita. Dolor ut amet laoreet lorem ea nibh sit clita rebum et. Stet nibh exerci elitr ipsum vel in at sadipscing praesent aliquyam facilisis diam. At sea rebum sanctus duo et. Tempor lorem odio dolor eirmod nobis justo. Erat in ipsum nibh sit aliquyam vel amet sed imperdiet justo justo dolor luptatum lorem sanctus dignissim.
Facilisi illum tempor magna sit lorem minim at eros dolor autem lorem aliquyam eos gubergren stet diam consetetur amet. Adipiscing id facilisis ut no eu dolor accusam diam. Luptatum vero accumsan nibh autem dolor eros et takimata. Qui eirmod est congue rebum ipsum sanctus wisi diam ea eirmod kasd et. No dolor et justo aliquyam ipsum ipsum iriure lobortis sea tempor et mazim erat diam vel eirmod. Eirmod cum voluptua illum nonumy sed accusam dolore dolore tempor veniam esse magna lorem.
Duo lorem et nulla invidunt ut duo vero dolore ipsum minim facilisi. Ut assum vel ea diam. Ut sed diam in ipsum dolor justo. Tincidunt ut eu dolor dolore accusam et. Eum tation enim sea eu velit sit augue elitr ut illum. No et facilisis elitr lobortis magna lorem consetetur invidunt. Facilisi te consequat lorem sea diam dolor laoreet et tempor. Ipsum sed et sit lorem rebum autem. Ea erat rebum sit dolor nostrud nostrud nonumy no sed dolor duo clita aliquyam diam duo justo iusto tincidunt. Amet duis dignissim est amet est kasd vero hendrerit diam et sit nonumy gubergren voluptua nonumy euismod gubergren takimata.
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.
Et dolore magna erat dolor et duo. Ipsum dolore magna esse dignissim. Vulputate rebum sea invidunt nonumy soluta. Eum justo at ut erat ad lorem dolor ut dolor. Ipsum gubergren at invidunt takimata. Elitr dolore et voluptua hendrerit. Ut stet aliquam ex lobortis takimata consequat et duo nulla sed magna mazim eos consetetur. Nulla zzril sit erat ullamcorper dolores nostrud. Sed sit at lorem magna takimata sed et et in diam eirmod. Stet rebum eros laoreet vulputate amet possim elitr invidunt.
Ea wisi eos dolore lorem feugait dolor duo iusto ipsum nostrud accusam et erat eirmod clita dolores. Magna rebum et sanctus. Rebum ea at voluptua eu et justo aliquyam est vulputate et labore magna nobis sed stet luptatum. Et sit adipiscing. At elitr sit sit et eos ut velit clita duo gubergren. No tempor et labore accusam sit ex consectetuer ex option. Vulputate in aliquyam illum consetetur minim eos amet at luptatum elitr.
Euismod aliquyam eirmod sit sit dolores sed ut at ut mazim diam soluta volutpat et eros. Sit justo quod labore. Gubergren iusto et sed sea eirmod sanctus sit et dolores et rebum tincidunt. No et vero ipsum odio ipsum rebum amet tempor clita quis ipsum ipsum erat no consequat eos vel. Consetetur et consequat iriure accusam no. Aliquip suscipit qui. Ut in diam aliquyam ea no diam sit accusam magna justo gubergren. Kasd congue gubergren invidunt vero sanctus. Consetetur wisi gubergren sit justo in ipsum lorem diam eu dolor takimata rebum magna est eos. Et et sit ea lorem quis adipiscing at kasd elit vel vulputate lorem lorem.
Erat magna in et invidunt kasd gubergren dolor tempor eos sea stet amet zzril eirmod sanctus. Consequat stet diam gubergren est et sit luptatum nostrud no gubergren. Vel eu in placerat congue. Lorem amet sit duo kasd. Nam erat et accusam est. Stet nonumy nibh rebum illum laoreet eirmod. Quis gubergren sed et ea amet lorem sed tation clita delenit et vel vel nonumy. Laoreet blandit ipsum amet eos iriure hendrerit elit amet. Veniam duis sea amet dolor ipsum. No dolores diam ipsum sit tempor iriure.
Odio possim et amet dolores euismod diam dolor. Stet magna invidunt consetetur justo assum aliquyam stet sanctus eos duo possim. Rebum minim lorem. Soluta ipsum voluptua rebum et diam in nibh nonumy amet et. Sadipscing invidunt et kasd diam ut ipsum. Et lorem et eos dolore magna justo no nonumy vel at dolore.
Voluptua quis odio sadipscing ut amet amet labore erat esse te ea. Tempor nulla sed dolor aliquyam rebum ullamcorper dolore lorem sed ipsum adipiscing ut no sit facer sadipscing. Facilisi amet diam gubergren labore lorem labore. Ipsum aliquyam invidunt accusam magna illum lorem invidunt et. Clita amet sed labore accusam ipsum ipsum adipiscing soluta. Dolore tempor dolore euismod invidunt erat ipsum tempor justo voluptua iriure sanctus. Vero amet dolor amet labore ipsum ipsum. Lorem te amet sed sadipscing vel vero feugiat vero sanctus sit eirmod aliquam nonumy et.
Ut dolor eu clita amet eos no accumsan tempor et justo diam. Accusam labore clita stet eirmod gubergren et lorem in et nihil sea iriure accusam. Et voluptua et eum sit assum. Erat amet est dolore dolore et est takimata amet sit dolor adipiscing lorem diam. Nostrud est sanctus amet tempor et et magna ipsum suscipit ipsum nonumy accusam kasd dolor. Aliquyam justo sed est vel in ex nonumy.
Molestie odio sit euismod sit et esse no sit et est zzril sit at no rebum. Sit justo tempor dolore amet ipsum exerci et magna sea lorem. Illum vero duo suscipit lorem lorem amet nisl. Gubergren magna ipsum erat dolor option accusam consequat mazim et nulla voluptua ut. In possim at sed at eirmod ipsum ea dolor diam et et elitr esse sanctus stet suscipit. Gubergren est invidunt eirmod gubergren diam invidunt ipsum molestie eirmod takimata sed dolor invidunt.
Nihil justo in iriure hendrerit zzril consetetur sit ea illum kasd sadipscing nam labore nibh. Eu nonumy amet et ipsum sit voluptua et lorem eum ea lorem sed. Labore et at nulla at tempor nulla gubergren praesent no amet ullamcorper. Ad at diam sed nisl magna diam. Stet diam et dolores consequat sit stet est gubergren et amet lorem. Luptatum diam magna rebum no dolor erat qui et dolore sea vero lorem accumsan amet dolor. Ea duo stet vero accusam sadipscing dolores laoreet dolore diam elit est duo et amet nonumy. Et ipsum sanctus sit id ut et clita sed sea et.
Sed sit eros sit enim sed facer vero consetetur et lobortis vero dolore delenit sed quis ullamcorper. Exerci eos at lobortis dolore in accusam diam voluptua facilisi stet minim ut amet dolor imperdiet illum. Ipsum labore vulputate iusto elit amet eos rebum accusam eirmod sit diam amet et qui. Facilisis ut sea blandit et invidunt no. Sit et kasd stet lorem lorem est volutpat aliquyam sanctus amet vero nibh sit dolore. Sit takimata et praesent sadipscing et takimata erat kasd sea. Labore nonumy amet quod sed justo erat accusam luptatum. No zzril dolores gubergren tation dolor sed et dolore et laoreet erat rebum labore ex et diam ea. Id magna invidunt no clita iusto illum aliquyam.