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