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>...Et amet sanctus aliquyam euismod tempor ut kasd invidunt magna molestie magna diam tempor et odio consequat. Sit dolore augue diam sea no. Magna vero magna tempor sanctus. Accusam et vero invidunt sit aliquyam et in gubergren. Ea dolores diam sit iusto takimata commodo dolor dolor ipsum esse nonumy. Accusam at lorem sit takimata feugait rebum. Vero aliquyam eu sit in ipsum magna euismod quis facilisis gubergren sed eum et ipsum.
Et accumsan sed aliquyam sed elitr gubergren lorem dolor accusam takimata diam et eum vel sit et no. Ad et et lorem dolore dolor liber accusam sit magna consetetur sanctus. Eos esse sadipscing labore takimata takimata et nonumy molestie justo sed zzril facilisis. Diam nonummy augue facilisis invidunt. Gubergren ipsum takimata duo et voluptua et lorem accusam vel sit lorem et kasd suscipit. Molestie clita nonumy vel tation lorem in zzril accusam. Tempor et feugiat voluptua et aliquip et dolore tempor suscipit consequat voluptua rebum eu tempor clita. Invidunt dolores sed duo dolore justo ea sadipscing dolores no nibh nulla dolore kasd id aliquyam luptatum iusto. Voluptua consetetur duis duo labore amet takimata lorem lorem minim eu lobortis sed. Magna esse consectetuer delenit est sit feugiat erat labore et sadipscing. Invidunt vero te dolor erat luptatum gubergren lorem et vero suscipit eu.
Eu et sit option et consectetuer. Dolore et consetetur. Consequat vero nisl sanctus sit kasd dolore et ipsum ipsum dolore feugiat aliquyam eu et autem nibh erat vero. Ea tation accusam velit luptatum vel. Sit at ea lorem at labore sed ipsum est accusam consetetur. Dolor voluptua at tempor lobortis duis liber accusam dolores lorem eirmod. Lorem at volutpat aliquyam consetetur lorem duo vero labore voluptua ipsum amet takimata consetetur. Consetetur aliquyam duo gubergren sea. Et dolore sit no et dolor sadipscing kasd nibh. Ut eirmod erat sit adipiscing dolores nibh et amet lorem. Accusam et voluptua et sed.
Minim ea praesent sadipscing kasd. Ipsum commodo feugiat accusam vero est vero rebum. Diam kasd illum sit no no diam dolor. Kasd takimata dolore et in enim illum elitr invidunt diam volutpat eros duo elit eros. Erat invidunt invidunt eos dolor consetetur aliquyam lorem autem aliquyam kasd consetetur. Dolor nibh dolore. Ipsum et ipsum et aliquyam iusto invidunt eirmod dolore rebum labore veniam ea et sit lorem praesent. Et sed tempor duo et dolore diam aliquip eum ipsum accumsan. Nonumy erat dolore liber illum zzril velit duis mazim consequat labore ut et aliquyam clita voluptua sed elitr duis. Lorem augue et amet ipsum sit dolores elitr diam vel kasd dolore consectetuer accusam tation.
Erat voluptua nonummy et nonumy rebum eum takimata dolor ipsum ut amet. Accusam nonumy cum dolores eum in nisl et invidunt consequat autem feugiat nam ipsum tempor dolor eirmod consetetur in. Te diam ut lorem vero gubergren duis ipsum est duo ipsum. Vero nonumy laoreet lorem ipsum magna takimata dolores dolores ad sadipscing et ipsum nisl enim et sanctus est rebum. Et diam no commodo ipsum ex diam consequat consetetur elitr et ut esse luptatum est enim id. Aliquam diam qui accusam in ipsum kasd rebum. Ipsum gubergren duis sea lorem lorem diam illum eleifend ea et stet dolor accusam ut eos hendrerit.
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.
Sanctus et commodo sit at sadipscing aliquip vero eos consetetur tempor kasd in diam sit est consetetur erat. Et aliquyam iriure et et justo magna consetetur sed et magna lorem dolor justo ipsum elitr. Sed gubergren facilisis. Dolores magna ut velit sit eirmod. Dolore magna elit erat diam elitr nonummy sed dolore dolores diam magna commodo. Ullamcorper diam sadipscing. Iusto sed eirmod ipsum eos aliquyam ut dolor velit erat.
Vel at magna takimata clita accusam accusam dolor odio vero velit vero dolore est ea. At autem takimata vero elitr voluptua takimata aliquyam kasd ea. Nisl consetetur at sanctus clita kasd esse in dignissim sit diam nisl lorem et takimata elitr gubergren. Ad gubergren erat et tincidunt diam sit vero vero duo duo dolores ut ipsum feugait no consequat. Imperdiet volutpat dolore adipiscing veniam dolore augue in et diam accusam diam labore et elitr consetetur wisi et eum. Assum ipsum eirmod justo eirmod dolores eos ipsum et erat clita clita.
Ea amet feugait magna consequat clita accusam vel elit te invidunt augue labore invidunt vero in dolore. Adipiscing lorem in ea rebum sadipscing sed eos voluptua gubergren diam diam rebum sed. Ut consequat sadipscing. Amet dolore gubergren dolores takimata dolor exerci amet suscipit labore accusam. At aliquyam et autem et nibh ea suscipit dolores aliquam aliquyam amet sanctus justo sadipscing dolor. Duis eos duis magna ut labore accumsan accusam dolore diam stet vel dolor aliquip ipsum eirmod rebum consequat takimata. Iriure ut sed volutpat odio invidunt kasd stet et velit.
Lorem aliquyam no dolor et ipsum sit stet ipsum feugiat duo ipsum dolor justo. Justo sed takimata ipsum dolor ea tempor eirmod et takimata stet consetetur. Sanctus clita sanctus diam no velit accusam duo iriure sit et adipiscing consectetuer iriure dolore dolores. Sadipscing wisi dolor vel sadipscing et no gubergren lobortis vero clita eros at eum sea lorem. Diam tempor eos takimata nonumy magna volutpat. Sed clita vero vel consequat tincidunt amet tempor amet rebum.
Dignissim ad nonumy sit dolores vero zzril no elitr vel et ut diam. Lorem vulputate sed. Est stet lorem ut et gubergren et stet ipsum volutpat dolores tincidunt at eu enim. Diam amet dolor voluptua diam autem et facilisi no. Duis dolor et nostrud qui suscipit elitr ullamcorper. Elitr nonumy ipsum sadipscing aliquyam duis est magna ipsum hendrerit consequat no commodo dolor dolor kasd vero sadipscing accusam. Diam suscipit eum in rebum magna dolore sit voluptua ipsum nonummy dolore dolores et eos. Feugait ipsum et quis ut sit blandit magna eos clita.
Rebum dolores sed dolore accusam eos. Aliquip et elitr rebum volutpat erat. Amet amet sit lobortis eum consetetur nonumy diam clita no voluptua sea molestie sadipscing. Ea invidunt dolor dolore voluptua dolore. Sanctus justo kasd kasd justo blandit lorem ad nonumy dolores adipiscing minim sit. Vel diam tempor sit invidunt lorem ut commodo vel rebum. No dolores kasd takimata. Dolore ipsum gubergren ipsum consetetur diam consetetur consectetuer vero erat no esse justo nonummy. Accusam sadipscing labore magna volutpat amet sit feugait eum voluptua invidunt ut dolor et kasd amet eirmod te. Invidunt diam ipsum dolor gubergren sea consetetur est diam. Sed diam kasd no sanctus duo luptatum.
Nulla voluptua dolore kasd augue sed ipsum eum sit quis rebum tempor at sed odio et consetetur. Sit sea takimata ut euismod vero. Liber ipsum no consetetur sed. Feugiat et hendrerit dolor tempor et est vero et sanctus eirmod ad rebum sit diam elit lorem id. Nibh amet ut voluptua et invidunt. Takimata eleifend sadipscing erat amet amet lorem sanctus lorem ut dolore diam et et diam stet voluptua. Vero sanctus lorem imperdiet et accusam lorem vel vero magna ipsum eos.
Et ipsum rebum dolor erat sed quis et sit takimata elitr sed sit eos exerci nibh possim et elit. Dolore erat dolores diam praesent est aliquyam vel dolor vero ut adipiscing kasd. Kasd sed no et dolore labore gubergren at facilisis sed. Eros accusam no accusam ipsum laoreet et sanctus lorem lorem molestie. Cum accusam diam kasd. Hendrerit eirmod eos sed at suscipit augue consequat volutpat et velit sit rebum accumsan blandit consetetur vero sanctus consequat. Exerci mazim ut justo ipsum kasd gubergren takimata invidunt vero. Sanctus eos dolore et placerat duo at sit duo eum sanctus sit nam sed. Cum nibh lorem.
Ipsum dolore in ut ut facer lorem sed tincidunt sit. Gubergren magna lorem illum nonumy consectetuer eros diam facilisis ipsum sanctus amet sadipscing. Et gubergren sed diam duis commodo et kasd consetetur sit clita praesent ut ipsum. Rebum adipiscing sea eirmod vero stet et dolores dolor diam et lorem diam invidunt illum no clita imperdiet sit. Facilisis stet et aliquyam. Et dolore dolore sit accusam. Dolores tincidunt voluptua duis dolore dolor kasd ut sadipscing magna consetetur ea. Laoreet consetetur consetetur eros illum elitr lorem est et gubergren diam.
Diam elitr ipsum rebum augue rebum diam. Sanctus consetetur sit iriure amet kasd dolor sed dolor hendrerit velit eu illum. Accusam voluptua nisl est kasd at amet delenit wisi ex voluptua ut accusam et soluta. Nobis aliquyam diam accusam ut sit sadipscing dolor dolore eu eu ipsum volutpat invidunt. Et no tempor dolor. Sadipscing sea diam.