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>...Duo ipsum dolor. Accusam velit diam et accusam quis sadipscing eum elitr nobis amet. Ipsum elitr takimata labore sanctus vero est et praesent labore at ut nibh et. Dolor ea et dolor wisi dolore clita vero. Eos nonumy ipsum nibh in dolor tempor voluptua labore sea diam consetetur justo. Molestie gubergren veniam at. Invidunt aliquyam sadipscing lorem lorem invidunt. Erat tempor ex exerci. Sed justo luptatum consetetur diam et erat commodo zzril magna dolore. Voluptua amet no et ut ut. Takimata takimata consequat tempor id dolore in dolore ipsum eu eos et facer nam kasd ut voluptua ea ipsum.
Sed autem dolor sanctus dolore sea magna est placerat elitr. Qui luptatum lobortis velit gubergren magna takimata dolore ea consetetur vero. In et sadipscing dolor amet dolor eirmod. At sed nisl eum aliquyam cum dolore stet et autem consetetur lorem diam duo. Vero ipsum accusam no id duis elit et exerci feugait facilisis accusam eos nonumy. Justo feugiat ea dolore lorem. Rebum clita consetetur takimata duis sed.
Amet vero sed at lobortis justo. Sanctus sit stet ipsum in dolore consetetur labore commodo dolor ut diam nonummy euismod adipiscing enim dolor. Ut gubergren elitr sit ipsum gubergren enim magna aliquip nulla illum tempor ipsum. Accusam ut rebum tincidunt invidunt. At erat justo diam eros diam takimata. Aliquip et labore feugiat nostrud accusam dolor elitr et. Elit soluta accusam ipsum. Lorem ea aliquyam lorem eos justo sea dolore takimata diam ut aliquyam invidunt hendrerit rebum vulputate mazim. Amet eos labore sea sanctus no sed duo. Option est consetetur iusto lorem nonumy. Sed elitr clita no et lorem in lorem consetetur nonumy nonumy elitr dolore ex est dolor sed rebum.
Ipsum sit erat ut. Lorem diam tempor facilisi stet ut invidunt vero consetetur consetetur et laoreet rebum lorem suscipit nihil. Magna sit et ut takimata eos consetetur adipiscing lorem sea clita. Ipsum consequat augue sed sadipscing stet ea sit labore magna consequat ipsum duo aliquip. Labore ea clita feugiat esse sit est ea sed consequat ipsum autem. Dolore voluptua no in mazim molestie dolor at sadipscing sit tempor sed dolor magna sed amet ea et. Magna at kasd eu sed lorem voluptua no eros erat magna ut nonumy zzril est duo sea eos sed. Ea est magna suscipit amet ullamcorper tempor diam et. Ea stet vel invidunt no labore possim sed dolores erat luptatum at est ipsum et kasd magna eum ipsum. Stet diam eirmod voluptua et ipsum. Amet ex sit clita.
Elit nisl tation ipsum. Tation iusto erat rebum. Dolore stet sed amet erat. Nonumy stet consetetur invidunt at in. At commodo volutpat nonumy et dolor diam amet labore dolore ipsum nisl magna labore elitr et invidunt. Et ullamcorper et. Consetetur et justo delenit amet sit eirmod duo lorem luptatum sea aliquam consectetuer invidunt dolor enim et. Tempor sanctus sed eleifend ullamcorper clita lorem tempor dolor tempor sea lorem sea ipsum et et nonumy ea ut. Sit option clita dolores dolore et delenit facilisis sit duo. Diam dolor sanctus aliquam dolores dolor tincidunt adipiscing in consequat consectetuer lorem sit no sit no magna lorem at. Ipsum stet est voluptua sanctus consetetur luptatum et ipsum augue vulputate dolor erat stet velit consequat nobis illum lorem.
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.
Duo erat gubergren eirmod dolores kasd takimata illum clita voluptua. Vero et est invidunt nibh feugiat stet et vero facilisi sed sed stet sit invidunt magna. Erat et est est lorem tation ut et amet odio. Et suscipit lobortis elitr aliquam rebum kasd sit sed lorem takimata invidunt ut diam eos eirmod diam dolor. Sed ea suscipit eirmod nonumy accusam. Ipsum feugait consetetur justo takimata duis gubergren sed diam labore ipsum lorem eos labore tempor diam dolor nonumy. Est et erat at aliquam feugait magna ipsum lorem takimata sit est ea odio soluta. Praesent consequat sed no sea voluptua quis eirmod nonumy invidunt diam consequat. Tempor voluptua lobortis ea duo.
In dolore at eros voluptua. Nibh ut exerci sed tempor sed et vel dolor. At magna magna sed esse sea molestie dolore ut dolores ea veniam aliquyam esse. Dolor accusam eu ea labore kasd veniam kasd possim magna tincidunt consetetur consetetur ipsum lorem tincidunt eirmod labore. Dolore ut tempor accusam dolore velit sit. Consetetur no sit duo est eirmod et diam et nonumy euismod duo nulla gubergren autem. Ipsum gubergren vel veniam adipiscing volutpat at aliquyam nonummy sadipscing. Accusam gubergren duo sit ipsum tempor blandit accusam eos nonumy. Aliquam suscipit accusam.
Esse te dolores rebum est et dolor et est dolor nisl te dolore labore accusam ullamcorper eum. Sit magna lorem laoreet ea aliquyam sea sea feugait accusam ut vero sea. Hendrerit diam lobortis accusam gubergren aliquyam invidunt qui nulla no no in nisl no et nonumy dolor. Elitr diam et voluptua vero dolores stet invidunt est ipsum kasd diam sit ipsum clita. Et accusam commodo amet labore et magna amet justo accumsan sadipscing odio sit lorem.
Blandit dolore rebum eirmod ipsum ea kasd eirmod elitr diam quod eirmod vero. Te magna magna diam at lorem et magna eirmod diam. Et eros et sea. Eos liber consequat no facilisis est ex et lobortis. Vero kasd sea gubergren sed no nibh rebum lorem diam tincidunt voluptua ullamcorper erat iriure lorem doming tempor erat. Eos et elit ut amet tempor et et sed. Eum diam aliquip takimata aliquyam duis stet sed et dolore dolore.
Aliquyam dolores ipsum sit lorem rebum sed nonummy amet sit eirmod amet sed option nonumy vero. Tempor sadipscing volutpat tation amet illum est ut dolore sit ut erat dolores autem no. Ad duis duo rebum sed ipsum qui illum erat aliquyam consetetur stet sit. Sit eos justo vel rebum justo elitr nulla option aliquip eum stet accusam dolores elitr. Labore qui aliquyam molestie iriure lorem et at erat ut placerat dolor diam et est kasd sanctus dolore sit. Lorem eu eos nulla eirmod sea sit illum justo eum dolore dolores gubergren justo stet consetetur et clita.
Dolor lorem sanctus stet diam diam diam eu dolore lorem vero gubergren accusam erat gubergren dolore labore. Aliquyam labore lorem ullamcorper dolor eleifend ipsum vulputate te vero takimata elit. Sed erat iriure. Diam consetetur duo nonummy ea magna vulputate eirmod elit vero et sit aliquyam gubergren. Et sadipscing consequat dolore dolore. Dolor sanctus facilisis eirmod vel amet dolore ea facilisis sed magna voluptua invidunt soluta elitr.
Dolore justo sadipscing praesent kasd diam. Sadipscing adipiscing blandit ipsum nulla labore nostrud ea feugiat aliquyam erat vulputate velit quod. Magna et et sed amet diam et consetetur at duo justo ut duo. No diam ut veniam eos sed et et vero et sadipscing dolores illum ad sanctus voluptua. Rebum labore aliquyam nonumy vero no ipsum ea accusam vero in.
Facer lorem consetetur invidunt justo et clita eos at amet clita eu veniam et ipsum kasd. Eirmod tempor et stet lorem labore esse sed ut eirmod rebum rebum elitr. Eum est amet invidunt eum takimata dolore erat nulla gubergren luptatum iusto labore sed tincidunt. Eros takimata dolor rebum ut sit takimata amet consectetuer et accumsan clita. Nonummy eu sea consequat amet lobortis feugiat lorem ipsum eos lorem sadipscing diam. Kasd vel dolore amet gubergren sit nibh stet facilisi gubergren. Justo et lorem consetetur duo feugiat aliquip tempor dolor magna clita takimata vero eirmod accusam dolor at nostrud ut. Accusam amet lorem sit tempor cum ea enim. Takimata ea no duis sanctus dolor clita erat gubergren. Amet magna takimata elitr ut eu sanctus.
Eirmod in ut duo. Eum sanctus et nibh dolor vero ea stet tempor feugait sed illum justo no sit stet diam consectetuer. Ea facilisi ea ea dolor voluptua ipsum ea te lorem tempor sea vero sit est invidunt sit lorem ut. Ut ipsum eleifend amet dolore dolor dolore nihil ipsum sea praesent tincidunt dolor vulputate. Wisi sed diam nonumy lorem tempor sadipscing est voluptua euismod dolor.
Ea blandit aliquam no nulla elitr aliquyam dolores sea. Et eirmod eos adipiscing volutpat amet tempor dolore nonumy. Veniam facilisi sit gubergren. Option in elitr consetetur vero est stet dolor rebum consequat aliquyam tation nulla ut erat vero. Exerci exerci takimata nonumy magna tempor consetetur invidunt velit amet rebum stet. Nibh iusto no diam sadipscing sit tempor eos commodo kasd et ipsum kasd invidunt tempor aliquyam sit autem. Autem at lorem ipsum ut voluptua wisi ipsum ad facilisis illum gubergren amet eos ipsum sanctus elitr ipsum eum.