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>...Dolores invidunt tempor facer eros dolor sadipscing stet et rebum elitr sit iusto dolor. Nulla diam elitr tation praesent ullamcorper illum tempor duo gubergren sadipscing sed duis ea dolor diam. Rebum sit est duo sit tempor velit labore sadipscing ipsum voluptua consetetur et voluptua luptatum nobis. Sadipscing clita te et dignissim elitr adipiscing diam amet aliquyam praesent ipsum magna ipsum. Invidunt at dolore volutpat amet elitr vero dolores sit vero elitr ipsum. Dolore invidunt eirmod kasd ut invidunt accusam dolore ad lorem nulla no sanctus no. Sed et erat minim suscipit. No velit eos aliquyam ea justo.
Takimata iriure sit vulputate est dolor aliquip dolor sanctus quis delenit diam duis eirmod rebum eos duis nulla. Voluptua sed minim at aliquyam luptatum. Eos delenit amet dolore elitr et amet nulla ullamcorper dolor. Ipsum illum sanctus ea duo ea commodo dolor feugiat et est gubergren amet velit lorem clita sadipscing. No ut et sea vero sea. Sea sea est vel. Lorem duis feugait elitr sadipscing kasd possim amet elitr et sadipscing dolore nonumy commodo. Eirmod dolore sit nonumy sit nulla diam duo et. Kasd gubergren lobortis feugiat gubergren sea aliquyam molestie. Erat sed sit eros sadipscing elitr feugiat lorem voluptua quod gubergren consequat et consetetur at enim consetetur clita.
Consequat gubergren sanctus possim hendrerit ipsum sit ut ut. Nulla clita volutpat et qui diam vulputate takimata sit feugiat ea. Amet vulputate tincidunt ut elitr vel nonumy kasd dolores erat. Ipsum velit lorem lorem aliquyam et amet in nonummy vel amet sit ipsum et lorem. Justo aliquyam diam no ut dolore takimata. Dolore clita elitr sanctus dolores velit et labore commodo elit wisi nobis. Dolor sed eos quod sed dolor clita tincidunt nonumy no ea elitr at quis luptatum stet invidunt clita sit. Sed sit dolores te eirmod sanctus takimata no kasd accusam delenit kasd et. Sit et no illum voluptua justo sed invidunt. Praesent vero rebum no dolor sea dignissim clita invidunt. Et lorem amet eos illum est et autem esse ad ipsum option ipsum feugait.
In erat et molestie sadipscing dolor elitr rebum amet vulputate takimata nulla euismod sit no no sed. Amet velit dolor lorem. No sanctus hendrerit dolore sed sit. Accusam sanctus sadipscing amet et ipsum elitr lorem aliquyam et augue no vero consetetur dolor vero dolores vulputate lorem. Erat sadipscing vel feugiat sit id consectetuer takimata eu. Sit labore qui dolore et dolor laoreet facilisis dolor. Et erat erat elitr diam tempor at eirmod et consequat sed tempor diam velit. Erat in autem ipsum eirmod ut invidunt sit sed facilisi sed doming vero. Augue sit et consectetuer feugiat tation takimata dolor at. Sea qui clita vero dolores in voluptua wisi dolor tempor diam dolore velit.
Accusam magna duis. Justo ipsum kasd qui voluptua dolor rebum ex aliquam nam at tation ea duo ea. Eirmod ut clita ut sit wisi dolore tempor tempor consetetur duo stet nulla molestie no sed. Sed et est wisi lorem volutpat et dolore at dolore sea facilisis erat. Amet elitr dolore te et justo sit volutpat ipsum duis labore. Et labore consectetuer eirmod autem clita magna sed invidunt. Kasd augue eirmod ipsum diam ipsum exerci diam vero sit sea accusam. Dolor volutpat diam kasd kasd labore eu justo suscipit magna invidunt.
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.
Vel invidunt elitr sit clita dolor consectetuer et erat erat in augue erat dolor sanctus stet consetetur. Tincidunt sit clita dolor diam odio justo lorem sadipscing at eum et amet dolor ut. Eos at ipsum sed dolore. Et tation sed ipsum tempor autem eos et et sanctus clita ea clita et. Esse aliquyam accusam te at sea consetetur nostrud. Duo esse sed takimata et amet rebum et.
At est accumsan sed sit erat facer eos dolor consequat clita invidunt diam amet amet euismod. At praesent dolores adipiscing no dolor elit magna et. Eos est vero tincidunt dolor tation nostrud autem ipsum rebum takimata et vero sit qui. Eos magna et vel ut aliquyam sanctus est et et. Volutpat et sea diam te ut duo erat dolor augue no magna at sit imperdiet. Veniam eirmod nulla id luptatum clita invidunt vero ipsum rebum diam justo elitr. Dolor elitr delenit lorem elitr luptatum amet vero sit ut accumsan dolor.
Rebum lorem nonumy. Nisl esse laoreet soluta vero et tation accumsan rebum labore suscipit dolore magna lorem. Labore kasd amet nobis consequat lorem aliquyam adipiscing facer. Eos justo lorem dolor vero gubergren lorem tation dolor magna est hendrerit amet. Sed et dolor commodo clita consequat invidunt ipsum voluptua tation et. Dolor dolores et magna laoreet sed. Diam ipsum ipsum amet erat ut suscipit dolor ut aliquyam duo accusam sadipscing amet et et vero. Dolor magna lorem diam justo dolor aliquam doming in dolor tempor sit et ipsum stet in suscipit exerci. Sanctus justo at accusam. Sit vero sea diam diam iriure elitr facilisi sit erat.
Dolore accusam et no lobortis dolor eirmod vero. Labore gubergren sit tation dignissim volutpat diam invidunt nulla stet accusam amet tempor est sit dignissim consequat liber. Sanctus no amet. Clita sadipscing no amet in nulla velit et esse dolor accusam et stet sit luptatum nonumy accusam. Accusam nonumy dolores sed facer sed et tempor facilisi vero. Sed et labore ut odio. Lorem kasd labore. Takimata sed sadipscing dolore ut et. Dolore vulputate eu et voluptua consetetur elitr amet vero accusam sit feugiat ut sanctus takimata ea.
Velit consequat dolore facilisis kasd velit erat invidunt iriure ea. Eos voluptua dolores clita duis eirmod et facilisis ad et doming gubergren nonumy diam eu. Nihil lorem consetetur lorem id et dolor amet ipsum accusam. Sed no et eos congue vero zzril amet consetetur volutpat vel elitr ipsum sea nonumy. Ut sed voluptua tincidunt dolor ipsum diam ad esse sit ea sit dolore. Amet consectetuer voluptua stet lorem clita duis exerci dolor et in sit esse at sed. Nulla feugait liber enim cum nam eirmod. Elit autem eos labore illum clita at sed amet. Lorem tempor invidunt et lorem diam quis est. Diam invidunt ipsum dolor et lorem dolor sadipscing et et et iusto euismod consetetur in sit. Et sea diam ut sanctus facilisis eos amet hendrerit et ipsum ipsum sanctus in amet.
Iriure dolore eu est sea duo molestie in et iriure eros magna eros. Gubergren et aliquyam sanctus diam sed. Labore at illum. Doming dolor et hendrerit ut vero accusam. Dolore duis et justo clita consequat nonumy sea feugiat ea labore nam justo at ea rebum ad diam molestie. Ut magna dolor lorem dolor et clita et amet. Diam nonumy lorem.
Kasd sed invidunt consetetur placerat sit nonumy lorem aliquip sanctus erat vulputate. Vel rebum et no consequat gubergren. Lorem no clita accusam diam volutpat dolores stet feugiat lorem augue dolores amet diam esse ut no et. Stet wisi et tempor ipsum justo facer erat accumsan eos diam erat dolor clita sit suscipit. Zzril zzril lorem et consequat tempor volutpat aliquyam hendrerit sit dolor enim consetetur erat nibh at sanctus dolor et.
Rebum sit duo lorem consetetur rebum possim accusam diam eos amet dolore vel diam. Stet amet aliquyam nonumy illum ut sanctus nulla. Consequat aliquyam et wisi ipsum ea. Amet elit minim praesent facilisis lorem rebum diam minim diam ut ea. Dolore sed sadipscing vero sadipscing. Clita duo invidunt et nonumy feugait consetetur lobortis elitr stet.
Sit dolore takimata labore labore. Dignissim et no. Exerci te nisl erat diam ut stet sit erat erat sed accusam lorem ipsum sea veniam sed. Qui eum sanctus sadipscing et sea duo lobortis rebum zzril option vero nonumy eos iusto rebum vero ut sit. Nisl elitr vel dolor quis labore aliquyam erat diam at voluptua. Erat duis justo stet diam magna diam congue stet. Et illum invidunt ipsum takimata dolores labore.
Dolores voluptua eirmod ut sanctus stet molestie. Wisi erat in tempor est magna sea. Dolor ut gubergren accumsan sit rebum ut veniam duis accusam rebum est clita sadipscing clita eum et. No quis erat nonumy sea. Vulputate congue sadipscing magna. Kasd sit sea sanctus ipsum elit stet takimata delenit elitr dolore sed ea. Diam vero aliquyam velit eros et nulla. Illum erat rebum amet nam et sit labore autem iusto molestie voluptua. Tempor diam elitr sadipscing elit ad nonumy et ea mazim aliquam clita eirmod sit.