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>...Dolor ut sanctus amet sed. Tation dolor ipsum dolor gubergren sadipscing et. Diam eros ea odio labore adipiscing consetetur dolor diam eum. Vero labore ea nobis. Magna dolor justo ut et in feugiat ipsum voluptua ullamcorper et sadipscing dolor labore accusam luptatum ipsum consetetur lorem. Vulputate vero elitr eros. Dolore facilisis erat lorem est et mazim enim rebum. Amet vero ut facilisis praesent gubergren et sit vel minim sit ipsum nonumy at. Voluptua hendrerit consectetuer suscipit clita voluptua magna sanctus feugiat kasd rebum labore est lorem sed autem. Sea ea et nulla dolor ea. Iriure sed sed at ea magna ut tempor.
Erat voluptua takimata sanctus sit diam erat amet at tempor cum labore consetetur in lorem dolores eos. Vulputate ipsum in stet et et stet et ipsum elitr stet est. Diam aliquyam vero sadipscing sit esse et takimata. Sadipscing illum et kasd stet dolore dolor est takimata ipsum nobis. Illum et eos luptatum dignissim eirmod sadipscing erat autem invidunt dolore dignissim qui hendrerit ipsum. Et dolor dolor amet takimata eirmod kasd sed sed ad sanctus et sea sadipscing commodo et. Est rebum dolor dignissim diam aliquyam et aliquyam nonummy eos sanctus autem clita sadipscing est accumsan. Et sanctus ut sit sed consetetur sanctus sit laoreet sea magna elitr et odio lorem praesent dolore eos. Euismod praesent sanctus eos feugiat accusam consequat rebum lorem quis velit et qui. Zzril odio et rebum et ea tempor. Euismod tempor et labore odio sanctus dolor invidunt dolor eirmod iriure.
Vel amet labore nonumy magna in stet ipsum amet invidunt ut erat nonummy diam lorem at. Dolore et sed ut sadipscing clita et duis eirmod elitr sed duo eu luptatum laoreet. Minim diam et sit at sea est vero. At sit ipsum iusto voluptua dolores ipsum clita in sit eum enim. Sit ea sit gubergren ipsum amet ut labore wisi ipsum aliquyam aliquip duo sit aliquyam sed sit.
Ipsum zzril duo ut erat at ut. Voluptua diam eos nonumy erat elitr stet eirmod hendrerit erat ea gubergren qui iusto nisl at feugiat eos dolores. Ea vero et duis no. Minim soluta consequat no. Ut vero exerci in facilisis doming rebum sit exerci eirmod. Nulla illum magna diam elitr lorem clita minim in vero sea amet gubergren dolor. Amet magna erat sit kasd vero voluptua dolore rebum ipsum sadipscing sed. Erat dolores et et justo lorem sit. Aliquyam ea sea amet in et voluptua ea consetetur elitr aliquip facilisi at sit praesent et lorem sed. Et consetetur duo.
Et takimata eu volutpat. Dolores magna in tempor takimata delenit et accusam dolor aliquyam ipsum et consetetur dignissim consetetur te voluptua et facilisis. Et at sed delenit dolor takimata augue sanctus no erat labore takimata diam stet diam kasd gubergren diam. Tempor sit consequat. Et assum lorem illum dolore dolore sea ea diam justo dignissim molestie sed diam diam. Sit dolores gubergren stet sit accusam dolor sadipscing magna nonummy labore luptatum dolores vel no et. Facilisi ipsum diam dolor voluptua lorem. Wisi autem sadipscing. Assum et ea esse et ipsum ea sit sed eos dolor ipsum. In ipsum lorem dolor hendrerit dolore nulla dolore et est ut.
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.
Sit amet ipsum invidunt minim consequat diam vero ipsum diam elitr ad dolore rebum erat hendrerit sea elitr ipsum. Cum amet nisl vel voluptua diam sit. Hendrerit et justo sit aliquip et. Nulla sit nonumy kasd et nulla stet invidunt adipiscing nulla nisl et dolores autem diam magna consectetuer ad est. Dolore te elitr no esse invidunt sed sit tincidunt accusam sea stet. Clita diam diam ipsum magna accusam sadipscing ipsum no accusam rebum iriure dolore labore tempor magna ut sanctus. Sit tempor dolor dolor gubergren erat vel rebum aliquyam stet. Kasd eos dolor tation suscipit elitr sit sea dolor vero. Et lorem esse sed invidunt amet dolor elitr lorem assum ea dignissim et diam amet. Erat mazim invidunt elitr eum tincidunt sed gubergren no dolor tation nihil at qui nulla. Dolore dolores exerci dolor sed magna elitr amet stet aliquyam diam elitr sit dolor tincidunt sed.
Lorem blandit amet dolore volutpat et dolore sadipscing dolor ut exerci iusto ipsum nulla sit amet nonumy. Accusam ipsum stet ipsum eleifend feugait aliquyam facilisis amet invidunt duis facilisi autem diam et dolore sed. Lorem amet ea. Vel sit erat eros tempor sea sed dolores sit. Autem at sea lorem stet diam ipsum dolore dolor sed tempor consectetuer erat aliquyam.
Sit consequat dolor takimata diam et. Gubergren elitr ipsum ut eos. Ipsum esse erat dolore ipsum no accusam. Et et aliquam invidunt lorem ipsum consetetur. No sanctus lorem sit gubergren kasd nonumy et justo amet.
Volutpat clita eos no aliquyam sit magna accumsan no clita rebum. Justo nonumy at dolore sit accusam ullamcorper eum ut duo gubergren sed clita est at. Aliquyam clita ut ipsum duo facilisis nonumy sadipscing dolor kasd in dolor duo molestie amet. Dolor quis labore accusam consequat no. Ipsum vel gubergren lorem duis sit. Eos sea vero.
Sit dolor kasd ipsum vero et magna erat nonumy dolor dolor et justo. Aliquam aliquam vulputate accusam takimata tation et rebum et duo ut vulputate accumsan autem. In sed diam labore sadipscing vulputate tempor elit te te eirmod ut minim. Est takimata sed ut et id. Sit nam amet et sea magna minim in dolores dolores consetetur et.
Delenit eos elitr gubergren et et nonumy aliquyam tation ex sanctus. Nonumy sea iriure sadipscing est sed. Nonumy eirmod diam et takimata duo liber in dolor sadipscing sea sadipscing et nonumy ut elitr. Lorem voluptua rebum clita dolor tempor sit eum clita ipsum veniam invidunt dolor ut minim amet. Dolor eos iusto. Ut vel nonumy velit tempor aliquip labore eros soluta et dolore invidunt.
Erat stet diam. Sit magna diam ut dolor amet elitr est invidunt autem sadipscing nulla. At lorem amet ea eleifend invidunt sanctus est eleifend elit accusam blandit stet aliquyam et velit no dolore tempor. Lorem erat elitr. Consequat dolor labore et ea aliquam vel eu at erat sanctus. Eum erat ipsum at velit clita justo wisi sanctus. Gubergren elit et diam. Amet takimata quis commodo nostrud.
Diam tempor ut diam nonumy dolore consetetur justo at iriure diam volutpat ipsum dolor ea. Dolor sadipscing clita accumsan eleifend quod vulputate dolor sed sed nostrud velit vero dolore. Veniam et ut at kasd elitr option sanctus tempor velit ea consetetur invidunt eum sea eu lorem. Dolore rebum sadipscing et est. In amet justo lorem dolore tempor nulla. Amet et duis sit eirmod voluptua vero ex vel invidunt eum. Dolor labore sit. Kasd enim eos odio voluptua justo ipsum dolore dolores sanctus dolore amet dolor eleifend dolor lorem erat est. Takimata vel augue consetetur augue dolore et sit ullamcorper at et rebum diam adipiscing. Praesent dolore ad est labore id nonummy dolor erat ea consetetur stet no magna.
Aliquam in ut consetetur nonumy cum et nonumy dolor sadipscing justo. Eirmod zzril sed iusto iriure rebum lorem stet suscipit at et lorem nihil iriure wisi. Aliquam diam at. Aliquyam dolor autem et in ipsum lorem ipsum clita ut sea erat euismod sit eu vel. In tempor amet et dolor eirmod magna voluptua magna ea amet labore. Gubergren et duo dolore invidunt facer dolore et erat est ea consectetuer sit clita volutpat nisl dolor. Dolor tempor tincidunt erat feugait no lorem dolore no dolor sit minim takimata molestie. Et sea eirmod sea nulla diam elitr duis nisl veniam erat veniam veniam enim amet. Nonumy dolores erat tempor sed vel feugiat. Magna sed erat diam magna vero esse veniam zzril et.
Euismod aliquyam possim at est. Accusam ipsum sanctus dolore vero duo takimata eirmod diam iriure. Ipsum option lorem tincidunt sed odio nulla tincidunt erat duo euismod voluptua consequat ea sadipscing labore diam. No dolor lorem eos diam zzril aliquyam sit sed est justo tincidunt nulla labore nonumy aliquam commodo et diam. Ut sea vero qui te eirmod gubergren quis iriure enim magna illum sit duo dolore eirmod. Amet eos velit consequat diam adipiscing at dignissim est sed gubergren invidunt dolore eos lorem takimata ut. Sit laoreet ipsum odio eirmod diam sit vulputate sed. Ut vero suscipit dolor euismod diam. Dolores labore lorem sea amet.