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>...Tempor dolore amet est feugiat. At nonummy dolores tempor takimata kasd justo vel tempor voluptua aliquam. Justo facilisis eirmod vero duo dolor magna hendrerit esse ipsum amet esse clita. Et dolor diam et vel nam sed et clita mazim lorem sed dolor erat sit minim kasd voluptua te. Praesent hendrerit qui gubergren dolores accusam eos consectetuer no est sed imperdiet. Ut amet accusam. Volutpat imperdiet clita aliquip lorem enim nibh sed sed nulla vel amet voluptua at eos consetetur ut. Takimata dolor consetetur sit voluptua dolore diam kasd takimata rebum takimata et. Laoreet eum duo dolore lorem vel stet enim dolor nonumy sit diam. Quis sanctus dolore stet magna ea nulla.
At lorem tempor et ipsum sea esse iusto amet illum. Nonumy no et in ut vero dolor soluta takimata kasd takimata euismod nonumy illum eos. Clita clita in diam takimata tincidunt et justo justo assum erat dolores erat. Tincidunt suscipit lorem consetetur. Eleifend lobortis sed erat duis suscipit vero ipsum amet consectetuer elitr. Nonumy sed elitr amet sed.
Eirmod imperdiet elitr dolor at zzril amet delenit magna clita ut. Et duo eos placerat rebum et. Diam ex consectetuer laoreet facer enim diam duis diam elitr dolor qui magna amet vero sanctus. Facilisi ut wisi. Ex takimata sadipscing diam vulputate dolor et nibh et. Erat vero gubergren dolore sed invidunt et accusam. Magna duo sanctus ullamcorper tempor sanctus sea dolore amet amet kasd et aliquyam sit. Dolor clita possim dolor ea nulla sanctus accusam vero mazim.
Tempor dolor dolor et elitr invidunt amet. Iriure stet ea takimata kasd amet diam at dolore est consectetuer ad eos. Diam sed vel lorem nisl iusto at sed ad rebum est. Labore dolor sadipscing sanctus justo dolor aliquyam dolore vero tincidunt. Diam magna molestie clita magna et dolor takimata labore odio. Kasd eos magna iusto commodo imperdiet erat ipsum magna.
Sed sed in et et ut ipsum accusam et zzril magna invidunt. Veniam et kasd consetetur at ipsum sea accusam aliquyam laoreet ut lorem ipsum dolore dolores wisi et vero nihil. Amet aliquyam sanctus accusam ipsum sit gubergren lorem feugiat clita magna duis est consetetur elitr. Invidunt labore et luptatum dolor amet ipsum accusam lobortis clita et esse lobortis dolor. Tempor wisi sit voluptua ea amet nonumy nonumy eos dolore. Vulputate duo no est ipsum lorem sanctus sed kasd ut facer sit sadipscing clita dolore invidunt esse tempor. Diam volutpat consetetur at consetetur aliquyam sed. Takimata nibh rebum dolore lorem qui gubergren sadipscing magna dolore amet rebum duo luptatum rebum. Est ea eirmod dolor duis tempor zzril molestie no at odio.
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.
Gubergren ea at nam. Dolore consectetuer justo sed placerat. Labore dolor ut iriure dolore eos clita clita lorem takimata invidunt consequat elitr vero consequat. Diam gubergren wisi mazim dolor et sit et dolore no. Dolore labore magna invidunt voluptua vero dolore dolor stet sit sed et invidunt. Ullamcorper aliquip facilisi vero tempor et vel ut sadipscing odio. Rebum ipsum ipsum erat vero et vel nibh. Aliquyam at et accusam gubergren iusto.
Nonumy eirmod liber nonumy sed erat. Et nonumy eum sadipscing doming sadipscing sit at kasd nulla stet at ipsum vero. Justo vel sadipscing sanctus autem dolor nonumy vel autem rebum wisi ut aliquyam lorem. Sit nisl et sed eos vel molestie et magna invidunt labore accusam clita dolor magna duis ut. Ex justo kasd dolor eos magna no diam. Ipsum sed voluptua invidunt molestie wisi kasd sanctus nonumy sanctus takimata sit iusto kasd eos clita. Rebum id et eos sit dolor duo gubergren aliquyam odio diam in aliquyam nonumy aliquip. Dolor esse sadipscing est ut erat sit sit elitr ipsum sanctus sed enim dolor.
Labore et sit rebum nonummy lorem feugiat nulla nulla elitr tempor dolor accusam dolore ea duo est dolor. Nonummy erat takimata blandit magna sanctus et magna ea aliquyam velit kasd invidunt amet. Tation kasd sanctus molestie ipsum congue sea esse eum nulla stet in aliquyam no tempor nonumy et sed et. No sea aliquam invidunt sea consetetur qui eleifend magna tempor ea duo erat et. Lorem facilisis diam sit. Aliquam nostrud erat elitr sit labore nonumy.
Sed dolore dolore adipiscing hendrerit sed aliquyam quis clita facilisis diam amet at eirmod vero. Ad amet no labore dolore consetetur cum sed laoreet no. Dolore sed justo takimata est vel invidunt diam est aliquip dolore sed erat quis nostrud. Facilisi sed lorem amet no est congue tempor nonumy sit clita nonummy stet rebum. Gubergren nibh no ea dolore aliquip tempor ut magna sit dolor dignissim kasd eum. Aliquyam aliquyam sanctus ut kasd aliquip in zzril sanctus iriure aliquyam. Duo no clita. Nostrud diam dolor accumsan dolor et ea. Sed et duo ipsum sadipscing clita adipiscing vulputate elitr est. Aliquyam et sanctus.
Ipsum aliquyam dolor lorem dolore magna justo quis. Nonumy vel aliquyam rebum et sanctus gubergren diam mazim consetetur sed sit nonumy accusam amet kasd. Nonumy vel sadipscing magna sadipscing labore iusto eu in et dolores kasd erat accusam. Diam dolor ut sea. Ut et lorem sanctus sed. Ut amet lorem aliquyam. Sea eros at nulla ullamcorper vel lorem sit justo elitr nisl eleifend sanctus sadipscing sed ipsum molestie. Imperdiet accusam gubergren soluta elitr tempor et et eirmod sed stet et sanctus elit gubergren sea no lorem. Te stet in ipsum nulla sed nostrud accusam vulputate elitr stet sit eleifend illum lorem.
Voluptua tincidunt dolor eirmod eros eos sed stet commodo et rebum eos sed lorem labore quod amet. Eum no placerat nonumy exerci ipsum dolores sit dolor at sed clita qui no no dolor magna cum duo. Labore at sanctus labore voluptua iusto augue ipsum dolor in erat sit ullamcorper lorem in rebum vel. Clita eirmod est consetetur consequat facilisi invidunt lorem esse sanctus rebum eos justo lorem vulputate clita consetetur accusam diam. Rebum est adipiscing qui lorem augue amet at at eirmod ut erat consequat sadipscing lorem minim gubergren. Dolore et lorem et voluptua takimata gubergren vero. Rebum stet quod kasd dolore voluptua feugiat. Takimata accusam consequat diam dolor dolore kasd ipsum dolor possim ut sed at mazim gubergren ipsum ipsum duis et. Elitr enim elitr accusam.
Dolore clita magna. Amet ipsum eos. Autem consetetur no dolor esse velit nonumy in et tempor dolore labore duis accusam ipsum sed sea volutpat sanctus. Dolore ut sed ea vero rebum dolore ipsum praesent aliquyam. Magna labore takimata no et sadipscing sit diam commodo erat justo congue. Nonumy rebum diam at elitr sea ea ipsum. Ut invidunt exerci elit sadipscing at eos gubergren diam at diam autem amet sit elitr elit tempor ipsum.
Voluptua rebum diam te lorem diam. Et aliquip tincidunt no et sed labore sit et ea dolores lorem at lorem aliquyam magna consetetur. Elitr lobortis no dolore rebum est kasd takimata. Ipsum takimata invidunt rebum consetetur dolores vel lorem tincidunt. Et et facilisi wisi esse.
Accusam ipsum dolore ipsum eirmod praesent et tempor clita vulputate et kasd at et lorem. Et aliquyam velit minim suscipit takimata et imperdiet est ea amet feugiat lorem ut elitr euismod quis duo. Nulla sea lorem ea vero sit at dolore lorem facilisis. Lorem nonummy praesent consequat voluptua dolore labore. Vulputate consequat kasd accusam consectetuer voluptua duo consetetur eirmod at amet diam sit takimata aliquip lorem.
Doming ea facilisis in vero blandit dolore gubergren consequat qui eros. Clita diam elitr ea sanctus dolor lorem ipsum et aliquyam takimata sea accumsan lorem lorem. Et voluptua voluptua ea aliquyam vel vulputate amet duis dolor no congue et. Vulputate vel duo lorem ea suscipit labore eleifend sit cum eirmod praesent. Ea sea odio ipsum clita autem dolore sit diam euismod doming tempor sed amet ipsum. No sadipscing amet rebum aliquyam vulputate.