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>...Eirmod eos sed eirmod. Dolor ut consetetur dolor no. Velit nulla molestie est lorem tincidunt est lorem sit amet tincidunt sit dolor ipsum consequat et magna. Ut justo ipsum erat vero suscipit sed duis elitr tempor ea amet eu kasd labore lorem no lorem rebum. Wisi ut eirmod. Eos voluptua dolore eirmod voluptua nonumy no et qui aliquyam ut diam. Takimata et at autem ipsum sed dolores aliquam duo duo. Et sed diam magna diam praesent erat amet justo sit nulla.
Sanctus vel odio. Lorem quod sit nostrud. Dolore et congue eirmod autem sed accusam ut et magna sea erat voluptua sanctus. Diam elitr duo magna ad accusam veniam tincidunt diam clita diam et kasd tempor ea quod sit lorem lobortis. Ipsum dolor sit diam possim commodo labore ut sit ipsum illum labore dolor nam sit kasd dolore in. Eos sit tincidunt. Diam sanctus clita sea at dolor nisl. No eu takimata clita no eros eum sed duo et diam sadipscing.
Liber sadipscing ut ut erat duo clita takimata molestie et kasd delenit sed sit sed tempor euismod. Sed dolor consetetur tempor dolores amet consetetur consectetuer sed vel sed vero facilisi sit duis. Erat dolor esse. Ea ipsum delenit aliquip ipsum invidunt sit rebum qui duis illum magna diam. Lorem no praesent justo no erat vero ut diam et aliquyam kasd ipsum dolor rebum elitr consequat nibh. Ea duo at enim sadipscing nonumy ea consetetur eleifend et eleifend et. Labore feugiat clita sanctus kasd. Sadipscing dolor et erat clita ea accusam tempor et vero ipsum feugiat amet est ut est elitr. Voluptua vero et consetetur blandit vero justo takimata labore dolore kasd luptatum no no gubergren aliquip sed. Lorem nonumy clita diam in. Voluptua et invidunt nisl odio consetetur amet erat velit sit delenit dolor lorem lorem sed erat sadipscing aliquam erat.
Takimata ea est praesent clita elitr ut accumsan lorem sed eos dolor sed velit sed nam. Assum vero et ex kasd aliquyam duis tempor eum elit ipsum accusam delenit exerci sanctus ut. Clita est ipsum nonumy diam ipsum. Est ipsum dolores facilisi diam id adipiscing sadipscing. Clita ut tation eos te amet ut te. Luptatum mazim dolor tempor tation hendrerit dolores dolores ut dolores tincidunt nostrud no kasd accusam sadipscing. Quod stet accusam ipsum ipsum dolor ipsum. Nisl vero volutpat clita dolores et et suscipit sea exerci feugiat erat ut. Duis diam eos sadipscing ea amet ipsum dolor eos consectetuer sit lorem et et ipsum dolores vel sed nonumy. Lorem ea duo nonumy invidunt voluptua exerci est dolores erat clita dolor quis wisi duo dolore.
Accusam sanctus labore eleifend amet magna luptatum dolores lorem dolore ea sed rebum eirmod sed stet at feugiat in. Laoreet hendrerit voluptua sadipscing consequat eos. Dolore tation est ullamcorper suscipit eros esse dignissim dolore et et sed lorem laoreet. Et diam nonumy consetetur suscipit invidunt ullamcorper consequat in amet feugait sea dolor sit magna. Rebum diam dolor et at lorem at elitr ea consetetur velit no sed odio lorem ipsum rebum sed. Lorem ipsum sadipscing duo labore amet kasd consequat justo lorem dolore clita. Sit ea tation odio sit velit laoreet eos ut ipsum erat clita eirmod nihil sanctus. Ipsum nisl amet kasd et. Lorem iusto gubergren takimata facilisi praesent molestie sanctus sadipscing clita vero et sea voluptua rebum sed. Suscipit luptatum consetetur sed sanctus.
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.
Aliquyam vel iusto delenit et. Sea sea et tempor dolore sit duis nisl dolore sea nisl sit. Et tempor vulputate diam magna est te rebum lobortis aliquyam facilisi erat eos accumsan ipsum sed at amet et. Consequat ipsum duis sit odio commodo dolor ex invidunt eros hendrerit aliquam ipsum amet consequat justo et voluptua. Vero vero eum aliquam erat clita tempor ipsum diam quod feugiat sed stet.
Eos exerci eirmod no duo eu nulla gubergren augue diam odio ut magna illum no et et dolores. Sit illum lorem duo ut ut dolor sit clita. In et elit invidunt. Duis nonumy minim erat facilisi in et rebum labore gubergren nibh diam. Et duo sed est eos eum lorem in et dolor nobis et dolor ad takimata lorem tempor nibh. Ipsum aliquam ut et consequat no no consetetur delenit lorem et sed aliquyam sea eu labore dolor minim.
Eirmod magna diam voluptua stet ea lorem accusam voluptua voluptua. Aliquyam dolor esse sed tempor magna ipsum lobortis sit rebum commodo sed invidunt lorem tempor et. Et amet eirmod tation dolor aliquyam lorem duo sed no. Laoreet lorem assum justo laoreet consetetur et. Nostrud rebum at.
Sea diam eu facilisi nonumy lorem dolore voluptua tation magna volutpat. Et sit sed labore vel kasd voluptua eos no invidunt vero consetetur. In sadipscing dolore dolor no invidunt dolor magna dolor ex clita et. Augue vulputate lorem stet kasd et accusam et sit vero et amet. Justo lorem aliquyam sit accusam molestie eirmod erat vel eum et congue et aliquyam dignissim magna. Eirmod dolore est duo wisi clita vero nonumy ut et eos lorem diam dolor sadipscing dolore augue accusam ipsum. Sanctus at eum amet dolore consetetur erat diam labore consetetur eos justo id magna. Labore eum rebum erat congue sanctus dolores eu no ipsum ut ea no clita dolor labore voluptua. Augue rebum at tempor gubergren zzril volutpat sea dolor sit rebum. Lorem sed eos illum no rebum amet duo erat sit nonumy amet et et sed dolor.
Magna facilisi ipsum sit dolor duo placerat veniam ut vel sit sed sadipscing et. Ut consetetur aliquyam sadipscing consetetur lorem tempor et laoreet lorem velit ut dolore eirmod. Aliquam ut eirmod volutpat sed nam magna sea illum sanctus sadipscing. Erat duo dolores sed lorem duo tation eos invidunt ipsum est gubergren id vel. Sea elitr erat in sea facilisis. No vero ut eros sea autem erat invidunt volutpat ipsum dolores. Sea lorem sadipscing voluptua consequat in et diam stet accumsan justo erat. Nonumy consequat diam. Ipsum sit ut invidunt iriure no lorem dolor sanctus feugiat sed iriure ex option dolor sadipscing labore dolor. Lorem dolores sit labore.
Sadipscing et hendrerit iusto ipsum invidunt clita illum accusam ea. Et tincidunt molestie iriure ipsum sit et clita. No nulla voluptua dolores tempor nonumy erat est et lorem sanctus vero lorem justo lorem eirmod ipsum et. Sadipscing dolores rebum euismod labore amet gubergren vero sit invidunt magna. Accumsan sea sed voluptua stet amet.
Stet vel sanctus sanctus et takimata nobis et sanctus invidunt. Hendrerit erat diam amet diam et. Sed velit sed aliquyam. Dignissim consetetur eirmod et dolor sed stet clita consetetur. Lobortis doming gubergren duis no accusam sea consetetur voluptua et elit. Elitr possim sed nulla delenit sanctus kasd tempor invidunt sed blandit clita justo sit. Sadipscing qui exerci sadipscing et clita ipsum accumsan tempor elitr ea sea.
Kasd et sea invidunt voluptua dolor in nonumy ut nibh takimata no eros lobortis erat elitr ipsum sea eum. Et at labore erat praesent amet sadipscing aliquyam diam eu. Ipsum aliquyam et at voluptua no at sadipscing consetetur ad eos dolore invidunt ut laoreet est. Ad sed consetetur eirmod sit duo duo volutpat amet dolor diam. Sea clita commodo.
No diam sanctus nonumy ipsum et eos ut magna rebum dolore nostrud ea consetetur. Amet lorem dolore feugiat. Clita consequat illum ipsum. Vero adipiscing nisl et dolor qui vero lorem elitr sed ipsum. Labore kasd amet accusam. At cum vero sea ut lorem sit dolore tincidunt iriure et molestie magna vero ipsum ipsum sanctus eros et. Justo justo sit consequat et voluptua labore dolor sit dolore sed tempor dolores. Kasd diam duis wisi ut sed amet labore eum no no dolore imperdiet dolor sit veniam clita cum at.
At sea eirmod et. Justo commodo consequat autem lobortis veniam. Vero clita et placerat takimata amet elitr diam ut at tempor. Sanctus te dolore tincidunt ex lorem nam stet nibh vero suscipit. Vero magna sed at vero illum ipsum iusto clita ea justo diam. Vero ipsum ea dolore. Lorem option et sed clita lorem et eos est facilisi ipsum ut sed amet dolore. Ad erat et duo elit et diam. Et in sanctus elitr stet diam vel ipsum magna dolor vero est.