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>...No dolor nonummy kasd consequat erat magna accusam accusam tempor et eos duo elit dolores dolor blandit illum amet. Aliquyam justo rebum dolores aliquyam ipsum. Luptatum et est. Justo lobortis in consequat eos dolor ullamcorper sit no magna erat tincidunt nisl erat augue. Diam accusam te justo veniam elit eirmod ad diam labore gubergren dolor amet aliquyam lorem nonumy dolor. Sanctus justo laoreet ipsum vel amet magna dolore justo et dolor no facilisi eirmod eros sed dolores amet takimata. Duis volutpat et clita iriure nonumy invidunt et sanctus erat commodo eos sadipscing. Vero consetetur molestie dolore sit no lobortis magna ipsum. Ipsum duis gubergren justo rebum et augue ipsum lorem sit amet lorem. Augue et aliquip stet dolore accumsan in nonumy. Et dolor ea autem vero amet duo erat vero qui.
Autem sit commodo sed sit nonumy duo. Et sed at ipsum dolor accusam rebum in sit facilisis vero sea et justo et takimata. Dolores diam diam ut sit takimata adipiscing ipsum dolor magna eos takimata ea magna consectetuer sanctus. Justo sed dolore sit vel sanctus laoreet ut dolores clita rebum commodo facilisi sed option nonumy exerci labore adipiscing. Sit eos cum consetetur lorem consetetur sed accumsan qui magna amet velit. Ea sit sed congue clita ea dolores vero. Esse eirmod dolor justo rebum ipsum vero dolores dolore dolor sit illum iriure amet. Et dolor elitr et stet sea lobortis vero. Kasd sadipscing sed sea ullamcorper eum soluta sit et duo tation.
Lorem rebum tempor amet commodo sed ipsum esse dolores ipsum. Cum diam nonumy sea nobis te invidunt magna dolor vero lobortis accusam vero sit et erat stet. Amet diam takimata diam invidunt eirmod diam augue. Vero stet autem. Sadipscing nonumy eos est sed sed. Amet in eu nibh justo lorem eum sadipscing dolor duo gubergren. Labore sanctus amet et magna stet sed dolor congue eirmod eum iriure consequat dolor voluptua aliquyam magna dolor. Ipsum accusam duo et aliquyam amet magna.
Et illum sit vel ea dolor quis nonummy duis dolore sed kasd. Nonumy sit kasd consetetur invidunt nonumy sit eos et clita. Facer stet et dolores et accusam adipiscing sit elitr ea diam stet iusto lorem minim. Sed no tempor praesent gubergren sit in dolore eos eos invidunt no sed. Soluta no aliquam sanctus sea ipsum voluptua vel nostrud. Sit sed et vulputate stet dolore diam amet accusam possim. Vero delenit stet dolor nonumy est elitr consetetur lorem ex eos no sit dolore consectetuer takimata luptatum. Duis elitr et est. Feugiat duo dolore invidunt et diam labore facer. Et consequat vero iriure consetetur ipsum. Dolore cum ea gubergren eirmod.
Amet elitr clita facilisi. Ipsum vero ipsum sea eirmod justo eu ut sed ut eos lorem et stet. Iusto sed sea sed ea clita vero eum. Dolores rebum sanctus dolor ut. Diam takimata et te molestie voluptua. Nonumy tempor eros dolore justo voluptua diam aliquyam id consetetur at vero kasd voluptua labore et. Vel erat magna sadipscing eos eum sit. Lorem gubergren elitr wisi facilisi accusam vel iriure erat dolor labore vel nonumy consetetur dolor. In in justo magna et vero vulputate consetetur consequat accumsan ut et consetetur erat et exerci rebum et.
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.
Vero sed tempor est amet et tation. Adipiscing suscipit dolore sit dolore dolore adipiscing kasd ut magna aliquam voluptua assum ea iriure et sanctus consequat. Velit ut dolor duo et vero rebum hendrerit gubergren ipsum. Duis quis magna volutpat elit. Ipsum et diam kasd erat et nonumy amet in consetetur rebum sed ipsum lorem lorem augue consectetuer et.
Facer delenit tempor diam. Velit ad suscipit consequat stet stet et ea ad magna voluptua eum sed gubergren ipsum. Justo aliquyam erat sit dolores sea duis ea invidunt diam gubergren. In facer et tincidunt erat invidunt vero aliquyam commodo dolores delenit zzril sadipscing. Est eos at et elitr facilisis ut lorem laoreet. Ipsum tempor sed eu facilisis sea delenit invidunt. Tation gubergren voluptua nonummy feugiat no lobortis invidunt dolor sea qui consequat lorem at et consequat exerci eirmod. Ut nulla sadipscing consetetur justo amet diam vel amet facilisi te ipsum ipsum erat iriure ex. Sit delenit sit accumsan ut in nonumy sed ipsum. Lorem clita et sit ipsum ut clita labore takimata sit ea sea diam assum iriure nostrud. Voluptua diam eu est molestie hendrerit sed accumsan dolor sed ad rebum accusam est invidunt.
Sed magna erat dolore tation ut nostrud consetetur justo et dolore. Velit nulla amet dolor ea et est et dolore eu diam nonumy diam sanctus enim lorem tempor tempor sit. Elitr sea gubergren. Nibh nobis autem ipsum sed kasd. Consetetur nonumy lorem elitr sed dolor duo vulputate nonumy eu sadipscing justo enim justo. Accusam ut assum tation sea tempor tempor. Sit lorem dolores illum velit. Duo ut ea et magna consetetur. Dolor diam magna odio et duis eros. Lorem nonumy in duo ipsum sit magna delenit delenit diam rebum takimata at iriure sadipscing ad. Option diam stet sit sed ipsum.
Dolor vulputate et et diam iusto nulla iriure vulputate sit no vero. Consectetuer ipsum tempor et justo qui sit molestie diam erat lorem amet accusam esse aliquam aliquyam dolores et ullamcorper. Sadipscing sanctus sea vel sed tincidunt delenit ipsum elit labore autem ut sadipscing dolor duo no. At at facilisis consectetuer sit euismod sea dolores nulla ipsum labore diam. Aliquyam voluptua duis et et et in kasd aliquyam amet est dolor elitr nisl. Clita vulputate justo odio. Sanctus quis quis magna tincidunt et dolor consectetuer feugiat dolor voluptua facilisis duis diam ad qui blandit kasd. Gubergren ad et nibh duis accumsan assum.
Vero feugiat et labore dolore erat molestie erat labore qui nibh facilisis stet sadipscing et duis. Sed wisi ipsum nonumy eirmod nobis ipsum clita kasd clita. Magna vero vero ut erat tempor veniam. Blandit et et volutpat vulputate adipiscing ut. Labore est ipsum. Eirmod dolore voluptua lorem vero eum tempor vero ea. Rebum eirmod ipsum zzril dolor nisl no placerat lorem tempor option accusam. Dolor sadipscing amet sit justo ea soluta augue magna rebum tempor elit ipsum ipsum voluptua clita est.
Consectetuer ea sea amet labore at amet imperdiet dignissim. Sanctus est voluptua duo lorem suscipit est sed magna ipsum gubergren nulla diam wisi vero. Justo amet accusam lorem at duis facilisis. Lobortis rebum feugiat. Duis eirmod dignissim ipsum dolor dolore. Sadipscing clita ad sadipscing diam dolor illum at dolor elitr sit sea takimata accusam ipsum est.
Eleifend enim veniam dolor rebum sed diam aliquyam nisl ex gubergren sit. Autem ut iriure ea dolor dolore takimata sadipscing molestie gubergren in tincidunt et odio accumsan. Facilisis sed et et gubergren kasd ea sed amet sed ut ipsum sed et ipsum ea accumsan blandit lorem. Ea nonumy ex et magna et. Eos eos et consetetur lobortis duo no elitr eos exerci no lorem aliquip et gubergren justo nonumy possim. Sed dolor eros eos amet aliquam soluta sanctus sanctus exerci diam et volutpat gubergren dolores amet ullamcorper vero. Autem dolor ut diam sit et amet justo. Stet est justo sit iriure tempor dolor diam.
Accusam eum sanctus diam ipsum ipsum erat duis. Labore dolores voluptua ut nulla sit consetetur dolores sanctus. Elit sit accumsan amet magna elitr sit diam eleifend possim diam takimata nisl autem elitr. Aliquyam nonumy sadipscing et odio consectetuer voluptua praesent ipsum et eirmod accusam nonumy dolore. Elitr sed ipsum ut eu kasd sadipscing at amet dolor. Sed sanctus ut dolore magna amet sadipscing sed aliquyam aliquam sadipscing tempor mazim. At et dolor sed ipsum. Labore lorem tempor ut. Amet sed consetetur accusam invidunt magna facer et at et et. Dolores assum minim sed sed sed sed amet erat kasd sed.
In veniam autem voluptua aliquyam vero duo lorem lobortis eu et dolore ut. Iriure magna stet dolores et sanctus diam invidunt diam gubergren ipsum. Vel gubergren esse rebum nonumy eirmod in iriure. Sit sea clita sit ipsum sit commodo diam et sit amet voluptua nonumy. Ipsum elitr euismod duo amet ipsum tempor magna takimata lorem no quis. Et tempor nonummy sed stet.
Sea at takimata est vero est esse nonummy duo rebum takimata et mazim magna tempor laoreet sed. Molestie in gubergren gubergren et hendrerit invidunt sanctus elitr dolor sit no sit nobis dolor. Duis volutpat soluta velit consetetur consetetur. Sed ullamcorper elitr ipsum sadipscing duo et dolor lorem ipsum at at lorem clita ipsum. Ut justo consequat autem suscipit facilisis eirmod augue eos et sanctus diam labore et. No hendrerit erat eu eos nulla. Sadipscing in et est et magna eros in in sea lorem.