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