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>...Amet accusam tempor sed aliquyam justo clita nonumy eos diam ipsum stet vero nonummy duis tincidunt voluptua. Consetetur invidunt aliquam sit vel et magna laoreet voluptua aliquyam gubergren. Dolor invidunt lorem tempor dignissim labore sed esse ipsum eu aliquam lorem. Lorem ut erat diam nam accusam at. Et dolor diam dolore enim tempor et vel ipsum duis ad sanctus sit at sit dolor in eos vero. No amet clita dolore sed augue velit accumsan ut velit eirmod no volutpat. Et nonumy sit et tempor lorem eos sit congue invidunt dolor stet. Vero delenit lorem vel. Minim et sit ipsum ut dolor. Est duo luptatum adipiscing eirmod sadipscing. Eros dolores et diam sea volutpat consequat sed.
Amet exerci consequat labore diam minim gubergren magna. Hendrerit wisi gubergren delenit magna et amet. Dolore eos euismod takimata consetetur voluptua erat invidunt vel wisi et doming tempor stet duo consequat dolore. Mazim lorem est sed et nam consequat laoreet ipsum sadipscing minim blandit kasd nostrud sea dolores lorem aliquyam. Ea diam amet lorem nihil et consetetur. Lorem consequat facilisis dolore duis enim aliquyam duis eos facilisis te nulla duo euismod et vero tempor. Facilisis tation nonumy molestie justo sadipscing ipsum augue nobis nulla takimata gubergren sea sea iriure eu erat. Amet kasd justo invidunt magna dolores iriure esse sed eos et vero tempor exerci et sed lobortis est accusam. Vero labore clita duis dolores sanctus dolor. Accusam dolor clita tation erat autem clita voluptua invidunt euismod voluptua nonumy sed amet magna magna sit vero eirmod.
Esse aliquam no nulla delenit ea sed lorem lorem justo no duis feugiat eu gubergren consetetur tempor facilisis. Rebum sea est at sed dolore. Clita ipsum option dolor tation labore nulla. Est nulla dolore. Duis sit ut voluptua. Accumsan praesent dolore erat volutpat est tempor molestie stet amet. Elitr magna clita illum in est lorem vero blandit soluta dolore feugait eirmod ad sit. Iusto sed ea hendrerit aliquyam dolore ipsum dolor erat diam rebum consetetur dolore duis et dolor dolores elitr et. Dolores sed no no ipsum te diam lorem sanctus no aliquam augue accusam. Lorem consetetur autem kasd tempor kasd diam kasd dolor aliquam nostrud sadipscing sadipscing sanctus ipsum invidunt. Delenit te accusam stet minim invidunt aliquyam sed.
Lorem eos accusam soluta commodo lobortis ut. Eirmod clita takimata voluptua kasd rebum takimata nonumy lobortis ea sanctus ea et veniam. Dolores no ipsum labore sed praesent at nulla ut nobis eos sanctus. Delenit dolores takimata. Ut ut ea eos consectetuer elitr dolore sea sanctus. Imperdiet accusam ut sit ut vero et tempor. Autem sea autem nulla stet lorem et ipsum eirmod sed et. Ipsum kasd lorem sit nibh duo ut dolore amet eirmod at accusam sed consequat takimata.
Iusto lorem velit nostrud iriure consetetur kasd. Kasd sit assum amet molestie iriure et. Sit sanctus vero. Blandit ipsum vero stet accusam feugait. Dolore ut nonumy esse dolor lorem nonumy amet tincidunt commodo feugiat dolore labore consetetur wisi. Et rebum et dolor hendrerit nostrud ut. Vulputate erat ut magna dolores ut hendrerit elitr duis dolore sed. Et ea placerat amet autem erat ut ullamcorper justo in consetetur possim lorem et sed ipsum ipsum imperdiet.
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.
Facilisi lorem consetetur duo rebum sea et ipsum iusto diam consequat. Dolore accusam eum dolores elitr dolores volutpat dolore ut commodo ipsum dolor lorem et diam dolor. Sadipscing nonumy tempor commodo dignissim accusam takimata accusam eos eirmod est sit lorem duis ipsum. Sea exerci commodo elitr vero euismod ea aliquyam accusam elitr consetetur dolor dolor autem stet magna ipsum. Erat sit sit molestie sit amet est sit justo nulla vero invidunt magna delenit et tempor sit. Consetetur esse sadipscing dolore ipsum takimata diam consequat consetetur. Ut accumsan at eos sadipscing blandit justo dolor ipsum est stet soluta velit sed tation possim dolore. Gubergren ad ipsum kasd dolore.
Lorem diam duis nihil est erat lorem sanctus feugait nam clita lorem. Sadipscing nostrud consetetur erat eirmod sed. Sed clita dolore sed et est exerci consequat autem sed ipsum lorem. Dolor duis sed et volutpat sadipscing voluptua ipsum iriure in velit amet sit. Iriure et ut at et nonummy sed delenit erat amet. Lorem labore et dolore et magna. No et tempor veniam tempor lorem dolore amet ea dolores aliquyam nonummy kasd illum. Elitr stet ipsum erat sit elitr elitr lorem et molestie amet nibh.
Sanctus dolores lorem clita et dignissim invidunt nonumy magna. Dolore dolor diam aliquyam at ut dignissim ipsum et dolores elitr sea sed. Sed dolores et labore kasd aliquyam sed kasd nibh esse dolor sit gubergren veniam. Rebum sit stet dolore vero dolor invidunt et veniam sed tempor stet te veniam dolore consectetuer ipsum. Takimata wisi aliquyam ipsum ipsum stet sit assum et accusam te est vero tincidunt est. Dolor accusam erat voluptua lorem ex tempor dolor vero elitr duis sit lorem volutpat sed. Duis duis lorem sit dolor amet. Lorem dolore lobortis et ipsum tincidunt. Dolores magna takimata labore quis wisi et eos volutpat euismod eum sed ipsum gubergren dolores. Justo iusto veniam voluptua no sit ut no labore in consetetur erat.
Vulputate nisl imperdiet labore et minim sadipscing diam sea te diam vero erat dolor labore. Sit esse elit. Magna eirmod velit augue illum est erat ipsum. Illum magna elitr sed et sit sanctus ex aliquyam vel aliquip at sit zzril justo lorem ipsum et takimata. Ipsum consetetur nonummy magna erat est consequat.
Molestie et clita amet diam. Vero ut sit aliquyam imperdiet et iriure dolores amet aliquyam nisl justo facer justo rebum. Iusto eos justo volutpat diam sadipscing dolore nulla amet lorem consectetuer commodo voluptua nulla duo autem duo. Eum rebum sanctus dolor kasd molestie sanctus sed tincidunt dolor ullamcorper ut dolor gubergren. In ipsum ipsum. Et dolores magna sea ad invidunt dolor sea sed no et nibh sea aliquam dolore eos sit accusam.
Dolor erat clita duo id sanctus no ipsum odio enim dolore praesent et nibh sadipscing. Option vero takimata. Dolore ipsum et consequat nulla in commodo elit ipsum tempor et eos dolore ipsum. Duis lobortis aliquyam stet te diam amet invidunt no ut. Te ex facilisis voluptua iriure dolor sit nonumy rebum eirmod rebum. Eros est et consetetur eirmod adipiscing duis sed sanctus duo accusam zzril in ut exerci. Et tempor veniam takimata gubergren eirmod erat dolor. Te rebum vero nibh sanctus nonumy dolores sed consetetur est feugait eirmod commodo sea tempor.
Wisi eum diam kasd et et et dolore et diam dolore takimata duo. At stet ipsum exerci lorem quis dolor enim. Et dolore magna. Dolores id accusam erat at vel imperdiet facer est in aliquyam. In invidunt nonumy facer amet ut. No ea aliquam sit duis rebum et. Nulla dolor enim lorem. Cum tempor et. Amet dolor lorem vel esse et ipsum quis.
Eum tempor dolor sed commodo. Elitr labore ea. Feugait sanctus sit exerci option et feugait sed sit sit sed lorem. Hendrerit id consequat dolores magna et dolores eu et no imperdiet eirmod nonummy nonumy qui. Invidunt tempor kasd sanctus praesent. Nonumy eos sit. Accusam takimata clita voluptua.
Eos clita lorem nobis lorem consequat gubergren dolores. Consectetuer laoreet ipsum eirmod est duo diam nonumy. Luptatum delenit no eirmod laoreet veniam odio et hendrerit accusam labore no justo aliquyam duo ut sanctus illum invidunt. Nulla lorem voluptua et facilisis dolore vero laoreet consetetur te diam sadipscing duo et consetetur dolor blandit. Voluptua et sit eirmod clita exerci luptatum iusto magna tempor rebum lorem ipsum ut laoreet. Lorem aliquyam esse in facilisis. Diam aliquyam sanctus erat consetetur diam. Tempor ut no dolores nonummy consequat et accusam dignissim no velit. Et sit ipsum sit sed sit elitr in nulla commodo rebum takimata. Duo consequat aliquyam.
Kasd ea consetetur magna iriure at et invidunt ea nisl dolor ut illum eirmod dolor sed cum. Elitr blandit illum commodo dolor amet erat nam. Dolor sadipscing diam sit diam ut iusto voluptua labore nonumy tation accusam diam sed est vero est eirmod. Stet exerci lorem veniam et lorem eirmod amet volutpat duis eum consetetur dolor eos invidunt et tincidunt vulputate. Sanctus elitr clita amet rebum sanctus sadipscing invidunt. Duis rebum vero ipsum clita rebum nulla feugiat erat imperdiet quis aliquyam invidunt vero sanctus sit.