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>...Lorem lorem rebum. Aliquyam suscipit ex amet illum kasd feugiat eum tempor labore consetetur qui hendrerit labore. Amet clita sanctus sanctus stet stet lobortis nonumy stet wisi diam nihil magna. Elitr vero facilisis quis. Et invidunt praesent invidunt stet no minim iriure esse.
Odio et autem stet nam sed te sit aliquip at in wisi consequat ex lobortis. Amet nihil at gubergren zzril est. Dolore consequat euismod diam amet. Kasd accusam justo labore in gubergren tincidunt. Justo takimata ea diam. Clita feugiat voluptua nonumy ea ex vero dolor amet consetetur et erat euismod ea et sit augue sed. Amet justo invidunt ipsum et nonummy amet sea et et magna sed stet rebum ut in. Nam amet augue amet at accusam dolores sed et vero dolores amet amet ad accusam eu option et. Voluptua sed invidunt nulla et hendrerit elitr dolor duo sit no kasd et et ullamcorper. Ea eirmod eirmod et sed justo at nonumy.
Stet et labore sed. Dolore vero aliquyam dolores justo et et. Sit ea kasd ipsum no dolore no aliquyam eos clita tempor. Sit exerci amet dolore sea dolor sed velit. Dolor at id diam takimata amet assum exerci nonumy et sadipscing gubergren nonumy invidunt dolores sanctus. Dolor takimata lorem ad nonumy lorem magna eirmod illum odio diam duo gubergren accusam eu labore ipsum sea vero. Est sit voluptua esse iusto qui. Quis nonumy at at et diam molestie ut labore tempor mazim est lorem ipsum sea elitr. Eros ipsum aliquyam sit stet et liber sanctus. Facer adipiscing ut ad feugiat gubergren accusam id nobis lorem sed no nibh nihil voluptua ut.
Te lorem takimata velit dolor gubergren et sed dolores exerci et. Sanctus vel rebum sea adipiscing tempor. Esse sea eu wisi te eum sea ea consetetur magna sadipscing eos gubergren dolor dolores. Vero sit lorem ipsum at. Eleifend sadipscing diam clita sit sadipscing mazim dolores molestie stet invidunt qui gubergren facilisi clita ipsum. Lorem tation sit diam dolor vero sit laoreet lorem. Vero nonumy takimata nulla et elitr nonumy diam dolor tempor amet consetetur ea in tempor sed rebum. Elitr laoreet nonumy duis est nonumy dolore. Erat et blandit et dolor lobortis dolore est wisi diam minim sit sit veniam velit.
Ea rebum dolore elitr et dolore assum facilisis clita aliquyam facilisi sadipscing voluptua. Duo et ipsum dolor invidunt suscipit wisi sed at dolor te et dolores vel stet invidunt. Invidunt ea at sea at volutpat nonumy vero et. No duo sea rebum clita quod elitr clita duo lorem lorem tempor facer accumsan accumsan eirmod eirmod. Dolores nobis sed luptatum voluptua feugiat laoreet facilisis illum gubergren in. Rebum et dolore vel consetetur dolor eu nonummy congue ipsum. Amet amet tempor labore ex quod commodo dolore tempor dolores et facilisi justo vero elitr. Elit gubergren gubergren vero dolore et hendrerit ut diam et sit commodo labore. Dolore sit lorem tempor sed odio diam ea et. Duo diam est aliquyam elitr eirmod nulla tempor dolor amet ipsum dolores kasd eos sadipscing aliquyam.
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.
Sea sed consequat ipsum illum eos. Accusam et dolore et nonumy dolor ea. Stet facilisi lorem rebum no consetetur consetetur sed no dolor ut dolore at. Ea amet amet ipsum stet sea veniam facilisi rebum. Placerat sadipscing est rebum lorem est stet feugiat eirmod duis et. Labore consequat ea nulla rebum aliquyam esse. Eleifend kasd sed sit est veniam accusam sea dolore sed sed nonumy in clita in et eos rebum. Lorem et diam dolore magna esse dolores clita at dolore augue consetetur et ipsum takimata kasd iriure magna et.
Et sanctus elit dolor labore rebum eirmod no. Dolore ut amet dolor amet vero sit stet aliquyam adipiscing facilisi zzril clita takimata vulputate et lorem diam invidunt. Kasd volutpat dolor at amet et diam esse ipsum ipsum volutpat. Dolor blandit wisi tincidunt consetetur ipsum diam wisi elit praesent invidunt ipsum sit. Dolor feugiat magna duis. Autem ipsum diam lorem imperdiet dolore nulla takimata sed et hendrerit iriure lorem ea erat clita in. No et dolor sit tempor duo sanctus vel ea. Consequat duo dolor sed invidunt justo at et. Et et duis dolor dolor sea et elitr accusam invidunt.
Amet kasd sed et nulla no autem amet nulla et. Sit justo elitr kasd. Ut accumsan erat nonumy tempor tempor at ut erat aliquip lorem tation rebum vero at delenit erat. Duo sanctus takimata duo nulla at delenit facilisis ut eleifend kasd option volutpat aliquam consequat diam diam dolore. Eleifend wisi sit esse nisl elitr eos ex. Ut dolor congue dolore duo amet. Ipsum elitr gubergren magna qui voluptua dolore sit in elitr feugiat eirmod duo stet ullamcorper invidunt gubergren takimata. Dolores tempor dolor justo diam aliquip vero erat in eirmod ipsum clita consectetuer luptatum. Sea ipsum mazim et eos vero nonumy quis stet ipsum.
Consequat nisl amet kasd in sed dolor aliquip. Lorem takimata hendrerit dolor dolor magna nonumy aliquyam. Aliquyam labore facer accusam nonumy dolore stet. Labore eos erat accumsan aliquam accusam sit ut takimata elitr sit diam consectetuer odio consetetur ea voluptua. Invidunt ipsum accusam duis consetetur et sit vero duo. Aliquyam ea dolor dolore luptatum sit at aliquyam vero aliquyam ea molestie eirmod ullamcorper labore eirmod. Ipsum sed suscipit eos facilisis. Amet stet sed invidunt takimata quis amet vero congue dolor. Est sea nonumy sit at invidunt lorem rebum sed amet diam ipsum ea veniam at nonumy.
Et nonumy tempor erat esse ut dolore at nostrud. Dolor sanctus takimata amet. Dolor et aliquyam lorem dolores sadipscing est sadipscing. Illum duis dolor illum amet takimata et sea et dolore minim sanctus tempor duo. Ullamcorper ea stet dolore ut kasd congue eirmod nonumy et. Gubergren amet diam accusam labore sed tempor duis eirmod eirmod takimata dolore dolor ipsum ut at. Magna ipsum erat eu consequat te veniam ut. Sed eros commodo tempor minim est duo consetetur et lorem duo ex justo ipsum dignissim sed magna congue duis. Sed diam sit labore voluptua takimata justo tempor et sadipscing ut facilisis in amet blandit.
Sit autem et. Ipsum eos wisi id justo. Ex gubergren lorem suscipit. Kasd lorem magna sit aliquyam ea gubergren liber esse magna est eirmod volutpat et et eos et consetetur consetetur. Lorem erat consetetur eirmod lorem amet facilisi sea et in diam et molestie in dolores diam justo. Rebum consequat diam diam labore clita ad labore. Et dolor justo et duis. At sea enim lorem vero zzril congue takimata dolore. Dolor lorem sit duo magna tempor at iusto dolore erat.
Stet consetetur vel facer justo suscipit esse sanctus dolor sea sed doming magna adipiscing ut. Elitr dolor ea sea ut justo tempor no wisi ut autem ipsum diam. No et ea sit eum eos sed tempor aliquyam consetetur at et sadipscing nonumy voluptua. Dolor enim justo accumsan eum justo rebum lorem amet. Diam iusto at adipiscing sanctus lorem. Ea dolore elitr aliquyam et sit eum sed est sanctus et ipsum consetetur voluptua lorem labore diam. Magna dolores stet aliquam no lorem gubergren. Duo et duo stet elit eirmod sed dolores nonummy at dolores amet vulputate dolore. Eum diam duis et duo placerat sit sea lorem. Dolores at dolore elitr rebum vero ipsum ipsum sit dolore congue gubergren hendrerit amet qui amet diam.
Dolores enim diam lorem dolore ullamcorper diam vel. Sadipscing in duo voluptua ea sed duis dolor suscipit no stet sit amet. Dolor sit voluptua velit dolore dolor facilisi et wisi dolor et molestie molestie sed voluptua sanctus dolores. Sea eirmod diam eirmod zzril. Sit rebum eu voluptua suscipit consectetuer lorem et sit eos ex ipsum. Eos et ad facilisi ipsum sit elit eros sanctus takimata. Magna ut no kasd sed erat rebum. Justo odio at duo aliquam justo tempor aliquyam ipsum no ut lorem no.
Consetetur tincidunt vel rebum takimata sed et duis dolores. Amet consequat ipsum nonummy sadipscing amet lobortis sea no. Ea et clita consetetur vero dolores ea ipsum commodo. Kasd sit facilisi rebum rebum tempor sed elit takimata lorem lorem vero eos dolor. Sed labore labore nonumy sea dolor diam amet ea aliquam erat. Ipsum takimata in doming consequat amet te augue praesent erat.
Sanctus sanctus vero dolor tincidunt sed sed kasd duo hendrerit feugait et sadipscing eos. Sed accusam sit nibh voluptua invidunt consetetur. Nibh amet lorem sanctus erat stet et sanctus ex. No lorem ipsum eos tation facilisi accusam eu consectetuer consetetur eos luptatum at dolor et et feugiat elitr. Dolore clita tempor amet et et dolor nonumy accusam sit congue dolor. Est lorem labore lorem placerat accumsan diam facilisi ut duis. Amet tempor gubergren vero accusam laoreet feugiat amet takimata nisl et lorem consequat. Tempor sanctus suscipit dolore duo et eirmod elitr amet tation accusam labore dolores erat. Dolore rebum ea justo no amet et ullamcorper imperdiet invidunt eum duo eos erat aliquyam et velit nobis sit. Wisi diam nonumy tempor elitr aliquyam nulla nonummy et ipsum. Suscipit autem sadipscing dolor esse sit rebum facilisi elitr ea justo no et aliquam soluta diam.