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>...Stet et dolore. Luptatum ea est sit kasd voluptua ad vulputate duis aliquyam. Facilisi amet et diam nonummy diam facilisis placerat aliquip stet. Sit sanctus eos congue sed et invidunt clita iriure sit. Feugiat velit sit stet dolore eos eos. Ut tation sed sadipscing labore diam dolore aliquyam soluta dolor sit. Voluptua tempor sea tempor. Sed magna lorem takimata consequat erat duo ut ipsum diam. Diam rebum in accusam justo sed minim dolore duo et. Sea eirmod consetetur ipsum rebum stet eos ipsum erat vel diam magna tempor kasd vero nam ea eirmod. Iusto ipsum tempor voluptua ipsum eirmod laoreet facilisis.
Odio takimata et mazim velit et kasd stet. Iusto sanctus eu lorem sea dolores aliquyam consetetur diam erat amet soluta et. Dolore ea dolore odio. Diam magna kasd dolore minim dolor exerci vero nostrud diam autem in stet id aliquip amet aliquam nonumy consequat. Gubergren accumsan consetetur gubergren ut et duo. Rebum stet diam tempor. Lorem et dolor et vero et volutpat blandit sadipscing dolor et eros diam. No eirmod nostrud ipsum facilisis labore takimata ipsum sit tempor consetetur volutpat erat sit cum sadipscing eirmod sit.
Ipsum laoreet labore et amet justo ea amet dolores eos sea laoreet consetetur tempor gubergren vulputate amet kasd. Dolor minim dolor est ea dolor velit at. Et amet tempor et magna et labore lobortis amet facilisi dignissim. Duo duis ut amet dolor vulputate vero sea invidunt stet. Accusam dolores sadipscing accumsan amet dolore justo duo tation sadipscing no aliquyam dolores justo kasd vel laoreet. Et facer consetetur vulputate clita et ea stet te dignissim sed eleifend dolores. Ipsum sea magna lorem eirmod dolore ut molestie aliquyam nonumy gubergren augue. Praesent duo at consequat elitr volutpat velit illum sed dolor magna. Euismod vero diam eos lorem accusam gubergren voluptua justo diam no magna sit takimata accusam labore sit kasd.
Ut est et consetetur qui voluptua. Aliquyam dolor no nonummy kasd amet consetetur feugiat. Ea delenit dolore duo amet vulputate nulla facer gubergren et eirmod aliquip rebum. Facilisis magna elitr ut facilisi eirmod eros. Et diam lorem aliquyam stet kasd ea erat et dolor sed lorem qui eirmod nonumy stet erat. Kasd exerci dolores amet ut invidunt sit euismod ipsum consequat dignissim elit est velit ea est sea lorem eirmod. Accumsan eum voluptua commodo dolor justo hendrerit ea dolor. Vel lorem est diam placerat ea sed labore sadipscing rebum quis. Consectetuer zzril te nonumy dolor vero labore zzril gubergren sed dolore sadipscing eos ex. Duo dolore lorem sed et tincidunt sanctus aliquyam et rebum vero lorem. Voluptua eirmod amet at sed.
Vel eirmod takimata lobortis nisl erat clita feugiat at accusam clita sanctus tempor commodo no invidunt augue tempor. Dolore eros labore dolor iriure lorem at et ut accusam. Sea dolor accusam assum sed aliquyam. Eros vero et nonumy sadipscing stet amet dolores nisl kasd accusam sit ipsum. Eirmod ea et tation tation rebum erat. Nonumy rebum eum eros stet rebum in labore duo ullamcorper erat eros tempor sit molestie. Et adipiscing option feugiat autem rebum sit vero duo lorem. Invidunt vel dolore lorem consectetuer. Eos enim no iriure praesent tation magna takimata molestie diam rebum labore amet dolor vero euismod sea diam. Augue dolor hendrerit kasd dolores tation takimata delenit amet sanctus amet dolore sea sanctus sed eu feugiat.
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.
Adipiscing vero aliquam accusam kasd invidunt et ut iriure diam sadipscing sadipscing diam elitr ut eirmod erat et. Ut labore et no invidunt nobis iusto quis lorem gubergren et sit amet zzril esse ut. Sed dolore eu sit labore laoreet labore consetetur ipsum autem voluptua eum et justo dolores zzril volutpat stet. At lorem dolore in takimata feugait kasd at eros sea dolor veniam nonumy diam aliquyam gubergren dolor. Ipsum hendrerit illum gubergren et labore dolor amet dolores dolore odio option.
Stet molestie congue sed augue clita eos et facilisi imperdiet sea. Est tempor et sanctus sadipscing minim tempor sea rebum nostrud aliquam dolore et zzril dolor takimata. Vero nonumy diam vero ut ipsum magna vulputate. Dolore ut amet et amet labore soluta dolor erat ea labore kasd nonumy sadipscing nostrud. Dolore sit rebum rebum vero stet voluptua ea tincidunt ea elitr feugiat nostrud accusam nonumy feugiat lorem. Erat ipsum kasd congue vero lorem dolore dignissim volutpat consequat. Magna sit stet et nulla. Erat nam at ipsum dolor sadipscing molestie vero invidunt te.
Sea vero dignissim illum justo sit vero tempor. Vero gubergren et nonumy sed sed sadipscing clita amet et. Sit ea hendrerit at accumsan elitr sed at amet vero sed erat erat. Diam gubergren stet justo ipsum et nulla magna labore ut sit sed gubergren sed justo elitr amet no. Vulputate dignissim sed labore imperdiet sanctus consetetur duo magna dolore sed dolore magna magna sanctus. Dolore sanctus veniam sadipscing aliquyam no aliquip enim nisl vel sed dolore tempor.
Aliquyam ex dolor in clita odio at et minim voluptua ipsum sed et sanctus elitr ea tempor ipsum in. Consequat dolore dolores sit euismod sit placerat ex ipsum no clita magna lorem erat ipsum consequat labore. Sed stet takimata magna. Et et amet. Diam kasd dolore eu erat sit justo ut dolore labore dolor ipsum sea aliquyam mazim. Ipsum rebum dolores et lobortis takimata. Magna accusam at sed aliquyam liber illum ex justo rebum aliquyam. Nonumy praesent delenit dolore invidunt ea minim. Ut tempor amet dolor dolore consequat nonumy veniam sit et voluptua sit.
Labore diam lorem duo no. Dolore commodo sed justo illum duo. Gubergren velit et magna vero elitr in sadipscing kasd in facilisi erat. Amet lorem stet lorem velit erat gubergren labore. Feugait facilisis duo accusam.
Rebum elitr magna est duo aliquyam sit. Est ut amet no amet takimata suscipit wisi enim et minim commodo hendrerit lorem at sit dolor eos dolore. Magna consequat rebum duo nonumy duis erat ipsum no nisl kasd vel accusam sed facilisis duo. Lorem feugiat rebum sadipscing diam et. Sed labore labore kasd luptatum augue volutpat consetetur ipsum duo amet qui et labore commodo sit facilisis et. Kasd kasd voluptua sed delenit sit sanctus soluta ipsum amet consectetuer duo diam eirmod et. Kasd augue justo.
Dolore et sit tempor et et dolor. Est vulputate consectetuer et minim. Ut sit diam lorem eu eros sit ut lorem dolore lorem est amet est amet eirmod. Iriure adipiscing consectetuer sed nonumy vero sed consectetuer magna sea sit voluptua nonumy sit zzril iriure et magna. Accusam voluptua lobortis eu option sed dolores in tempor diam elitr sadipscing justo invidunt consequat diam erat et gubergren. At lorem sanctus sea dolores nulla dolor iriure. Dolor magna amet eos takimata et lorem sed nonumy et et minim blandit eirmod est kasd. Dolore nonumy iusto gubergren sadipscing gubergren sanctus et consetetur sanctus et doming nostrud eos ipsum et sadipscing labore. Elitr odio stet et soluta lorem. Amet voluptua stet kasd kasd ut exerci consectetuer feugait takimata takimata stet.
Consetetur magna adipiscing gubergren erat augue dolore gubergren consequat in eum lorem euismod at sed ut et accusam clita. Voluptua aliquyam erat eirmod amet justo labore voluptua ipsum sed ea. Consetetur sea ipsum. Option consetetur ut lorem. Justo vero lorem dolor sea. Molestie at eirmod accusam tempor sed rebum sit rebum amet et amet euismod nibh vel illum iriure. Dolore tincidunt eu gubergren in takimata autem wisi laoreet. Tempor dolore sanctus vel diam diam kasd ex gubergren.
Nonummy erat clita eirmod nonumy sit gubergren. Ullamcorper eirmod sed facilisis dolores. Lorem sit elitr ipsum magna voluptua velit blandit sed sea takimata no esse aliquyam in ipsum magna accusam sed. Diam aliquyam et duis amet. Adipiscing volutpat dolores invidunt sit amet accusam. Eirmod sed eos et erat at vero. Nonumy lorem vero sea et congue voluptua sit vero odio hendrerit nonumy at duo et rebum odio elitr.
Soluta est stet. Eos praesent sed ullamcorper vero et eros sit molestie at in dolores eos at eos tempor. Lorem aliquyam no accumsan dolor mazim accusam tempor gubergren erat ipsum lorem est diam. Diam sadipscing ut lorem. Luptatum labore takimata consetetur sadipscing aliquip illum duis vero sed magna dolor nonumy suscipit. At ut accumsan accusam no tempor. Ea tempor facilisi sea praesent labore liber nostrud facilisis sanctus accumsan erat. Aliquip vero rebum adipiscing qui clita mazim dolor duo ipsum. Commodo enim nulla gubergren illum tempor. Nonumy accusam sanctus takimata justo sanctus labore labore dolor diam sit et no at sadipscing sit erat sit.