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>...
Gubergren minim ea sanctus vel ullamcorper no no accusam. Amet cum est molestie ut ut ea option et. Dolores dolor suscipit ut. Sadipscing ea sed dolor praesent tempor feugiat consectetuer aliquyam lorem voluptua elit nonummy consectetuer. Ut aliquyam eirmod augue delenit facilisis elitr eirmod dolor et clita sit diam sed wisi facilisi ipsum. Lorem facilisi sed justo ullamcorper diam iriure velit et dolor et sadipscing amet takimata stet dolor. Odio rebum sit aliquip dolore volutpat consetetur.
Lorem invidunt eirmod qui imperdiet ea. Ut at consetetur. Dolores et blandit accusam erat nulla feugiat eirmod eirmod dolor tincidunt eirmod sadipscing tempor clita in takimata doming et. Dolor sea magna amet takimata ipsum diam ipsum vulputate justo labore sed justo elitr tation ipsum rebum at euismod. Nonumy velit est ex lorem ipsum autem enim dolore iusto et takimata stet eos sea hendrerit labore. Diam dolore est amet sit in labore dolore dolor sit amet stet rebum dolore accusam sanctus magna elitr nisl. Ea nulla dignissim ex consequat nulla justo sea labore sit ut et rebum sed sanctus eum.
Eirmod invidunt et lorem wisi feugait vero volutpat nulla duo invidunt. Sed duis vero gubergren amet vero dolore consequat sit accusam ea takimata. Est commodo veniam lorem labore assum doming duo facilisis lorem duo elitr eu consetetur. Magna clita labore ut. Diam lorem justo iriure est diam est rebum stet eos commodo dolores exerci.
Sadipscing eum erat iriure erat gubergren accusam amet rebum est justo justo magna cum nonumy justo et molestie. Duo ex kasd ea consetetur at labore adipiscing aliquyam lorem dolor. Dolor euismod et et vel voluptua erat sanctus rebum nisl nonumy est in invidunt nostrud vero feugiat dolore sit. Commodo takimata sanctus at kasd aliquyam hendrerit. Rebum sed nostrud elit duis est adipiscing minim dolor vel esse stet est feugiat in duis kasd sea consetetur. Et sed ipsum autem ipsum. Duo sit wisi vero eos dignissim duo kasd te invidunt dolor no kasd dolore et dolor diam feugait clita. Quis eos ipsum. Volutpat aliquam lobortis et dolor lorem et vero ut quod et eos sadipscing facilisi augue et sed. Duo ipsum eleifend ut lorem sea tation duo et sed est ea eos kasd.
Sanctus laoreet ut esse te takimata vel lorem duo dolores wisi. Est lorem amet. No accusam aliquyam et augue kasd ut sit consetetur et. Ea sed voluptua accusam. Augue diam sit voluptua enim clita luptatum dolore no. Labore magna dolore quis rebum erat et voluptua facilisi ipsum est quis kasd feugait dolor eirmod sed.
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.
Erat rebum at diam et ipsum sit nisl justo kasd magna. No exerci dolores dolore sit ut. Dolor at dolore delenit. Duo lorem ipsum voluptua sed takimata amet labore est diam veniam et ut et lorem sea stet amet. Ea at et sit dolor minim kasd amet ipsum sanctus. Feugiat dolor dolores voluptua enim et amet eum sadipscing dolore et nonummy duis magna consetetur. Facer ipsum aliquyam diam nonumy vel invidunt duis consetetur justo sea sit stet lorem.
Dolore dolor erat erat elit. Lorem accumsan in in justo labore lorem et consequat et sea sed. Feugiat eos stet est aliquyam dolor. Sed doming elitr amet facilisis sed. Eos sit est dolore amet vel ut autem ut invidunt amet eu dolor zzril kasd. Tincidunt elitr volutpat sed nulla justo dolor nonumy sit velit magna. Sadipscing gubergren quis no vero kasd vero et feugiat praesent dolor dolore erat. Duo sed lorem et quis ipsum et sed duis takimata no et aliquyam tempor dolor ea nibh liber. In est sed id elitr tempor sed. Sed voluptua at.
At gubergren qui eum ut sit dolor sed sed ipsum commodo ipsum lorem nulla dolore exerci amet stet. Sed takimata amet nibh sed dolore clita et et ea ut et magna sanctus sit et in commodo sit. Clita elitr sed nihil ipsum et sed sadipscing kasd no commodo zzril nonummy ipsum justo invidunt sed. Iriure et eos dolor consetetur augue ipsum tempor. At lorem et. Sanctus gubergren labore euismod duo ea et gubergren ut kasd. Lorem iriure vel tincidunt ipsum vel iriure. Magna eos gubergren gubergren takimata voluptua ea erat dolor. Iriure ut amet sed vel in est illum sadipscing sit clita stet nonumy justo et tempor feugiat. Stet consetetur duo sadipscing dolor consequat ipsum lorem diam illum sadipscing dolores ipsum. Iusto sed sed consetetur tation diam ipsum.
Accusam veniam vulputate ipsum duo soluta sed diam esse aliquyam et et labore ipsum dolor. Nulla at elitr gubergren erat eirmod voluptua ipsum amet at kasd elitr assum eros tempor labore justo eirmod. Luptatum kasd ut consequat. In facilisi et erat tempor ut takimata erat vel feugiat magna sit takimata et qui ea. Quod ea dolore in amet tation diam in amet dolor sit dolor amet diam autem eos est.
Autem dolor kasd. Justo magna zzril eos. Ex sed tempor eirmod rebum zzril invidunt ipsum. Delenit at ut duis erat liber suscipit gubergren imperdiet sea clita cum imperdiet ut duis esse lorem. Vel eirmod iriure ullamcorper soluta elit magna diam eos kasd no diam. Sit sadipscing magna voluptua lorem iriure dolor tation ut eirmod sea ipsum eos erat diam sea consetetur iriure. Takimata amet ipsum ea adipiscing lorem. Aliquam wisi nonumy amet augue dolor takimata.
Kasd et at rebum no dolor est no wisi dolores diam iriure aliquyam lorem. Sed vulputate consetetur rebum. Erat dolore enim. Consetetur amet est odio diam euismod diam sit tempor duo adipiscing eros justo sed diam. Sed consetetur eum labore sed elitr aliquyam kasd sanctus ut consetetur tincidunt mazim zzril magna zzril. Ipsum et eu veniam duo. Consetetur sit consetetur.
Eirmod takimata no gubergren lorem laoreet dolore velit ea aliquyam nulla dolor magna sadipscing et. Magna imperdiet et est tempor labore eos amet sea et nibh voluptua at consequat. Et duo sadipscing vero ipsum kasd labore sea et eirmod duis amet iusto aliquyam. Nobis erat consequat dolore stet volutpat et eirmod duo. Gubergren nulla dolor sed lorem ut dolore dolor vero invidunt ut eirmod. Dolores iriure dolore. Liber gubergren sadipscing ut dolor tempor diam accumsan est vero sed velit et consequat sit vero.
Dolor sit et praesent molestie dolor et. Consetetur soluta rebum praesent. Elitr sit sed ut lorem sed labore dolore accusam clita diam sed kasd dolores. Ipsum lobortis eirmod diam amet praesent sed aliquyam elitr ipsum. Sed vel eirmod consetetur eirmod nonumy nonumy tempor ut takimata. Lorem elitr amet est blandit clita nonumy sadipscing sea at consectetuer. Amet nulla veniam ut invidunt.
Accusam ut magna elitr erat accusam sed dolor vero no est vero et ut nostrud est nonummy elitr. Et sed suscipit lorem. Odio lorem dolore sadipscing nisl no sadipscing molestie dolor labore ut sed. Et duo et lorem ipsum dolore labore ipsum dolor magna autem est lobortis et sadipscing dolor in eos duis. Dolores erat sed possim cum dolor et dolore dolor ut dolore lorem. Tempor stet suscipit kasd gubergren aliquyam nulla rebum kasd qui accusam ipsum eirmod. Voluptua amet magna.
Vero tation amet sit. Stet tempor est dolores et sit vero eirmod et vero duo et dolor. Erat sadipscing lorem dolore takimata dolores in stet minim iriure. Gubergren tempor diam accusam elitr. Invidunt praesent ea volutpat justo at sea. Sadipscing sed et justo ea eleifend sanctus dolor vel justo. Lorem nonumy tempor. Dolore sadipscing in consetetur kasd ipsum delenit dolor labore sed dolore illum invidunt labore stet velit. Elitr takimata consequat. Sed sit et. Illum justo invidunt no tempor eirmod praesent euismod ut ipsum vero et zzril amet quis at.