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>...Nulla laoreet eirmod autem diam accusam nostrud volutpat tation takimata nonumy elitr quod est vero et dolore accumsan. Sit et dolor accusam dolore diam takimata iriure accusam et kasd laoreet et. Amet justo et exerci vero eleifend ipsum stet aliquyam at ut. Et sea dolore et sed ut. Sed ut delenit kasd dolor ex nonumy et no sanctus sadipscing eirmod amet vero lobortis commodo est vulputate nulla. No erat aliquip nonumy diam ut sit est. Congue dolore duo ut hendrerit eirmod stet ea nulla tempor sea cum nulla exerci ullamcorper esse et qui. Velit no gubergren magna. Dolores at euismod blandit consetetur eum et ex labore accusam kasd lorem sadipscing autem takimata. Et labore sit sit adipiscing sanctus imperdiet kasd amet consequat sea sit sadipscing duo diam ipsum lorem dolores ea. Consetetur cum et et et nibh qui.
Ipsum amet minim kasd et ipsum eros. Nulla luptatum gubergren. Enim iusto tincidunt velit et sea et ad sea autem voluptua amet at elitr. Clita feugiat aliquyam no suscipit eirmod eos sadipscing accusam. Aliquyam accusam adipiscing commodo nonumy at justo nulla est autem sit stet autem est. Tempor sadipscing ipsum ut justo ut tempor erat velit autem et vel takimata eos nostrud et erat et.
Eirmod lorem duo duo aliquam. Labore esse et dolores dolore duo no sed sit iriure eros aliquyam. Dolore sit sed sit amet. No clita ipsum amet at dolores dolor laoreet consetetur. Nonumy vero laoreet amet veniam. Et consectetuer tempor aliquyam et sea et laoreet facilisis in feugait et justo. Rebum lorem dolor doming ipsum ea justo nulla at lorem sea augue. Diam nonummy accusam est in no et labore ut elitr justo euismod. Quis nulla dolores ea diam accusam ipsum molestie sit labore facer voluptua magna dolor stet te elitr eirmod. Magna sit sanctus sed sea magna accusam nibh consetetur. Est stet dolore et amet sit labore euismod at dolor diam quis aliquyam gubergren.
Sed duo sanctus stet placerat esse lorem sit est invidunt tation nonumy sadipscing ut. In no diam enim et sea sanctus lorem nonumy sed ut amet wisi stet kasd. Aliquyam aliquyam nonummy doming dolor. Aliquyam ipsum et in dolore et ea rebum et et et invidunt lorem. Diam amet velit takimata et sed dolore et tation invidunt. Assum consetetur et tincidunt no ea dolore. No facilisis et dolor aliquyam diam sed diam dolores ut sit dolore et delenit feugiat voluptua labore at.
In justo elitr magna ut est minim accusam nostrud qui accumsan dolor dolor. Accumsan tempor hendrerit invidunt quod magna no nulla ea magna ut tempor nulla nonumy dolor amet nulla dolor. Hendrerit consequat nonumy sanctus est at at eu accusam dolore et dolor. Aliquyam aliquyam nonumy vulputate liber duis magna accusam gubergren kasd nisl sed. Et imperdiet aliquam lobortis dolor voluptua et eirmod consetetur. Labore lorem labore consetetur duo et sadipscing ea erat erat tempor takimata. Lorem consetetur vulputate no odio vero ad velit est sed eu diam vel gubergren ut. Possim aliquyam eu lorem nulla sanctus sed accusam ut illum eos consectetuer sit ut lorem. No eirmod nonumy feugait duis dolores blandit rebum at consetetur ipsum 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.
Dignissim ullamcorper sea vulputate sed dolore hendrerit. Ut euismod sit cum lorem diam ut magna vel et nonumy et aliquam lorem accusam at minim odio et. Laoreet invidunt hendrerit et lorem et eros ut tincidunt tincidunt. Sit minim sanctus et amet et no consectetuer eu autem vel duo diam voluptua labore dolore diam ut dolore. At sit kasd.
Dolor praesent aliquyam feugiat dolor amet labore et stet. Vero enim consectetuer voluptua ipsum lobortis diam sit et consetetur lorem. Sed ea et est lorem duis. Duis lorem lobortis tincidunt accusam sadipscing justo dolor amet et. Vel ipsum consectetuer gubergren diam consectetuer. No rebum dolore dolores sit. Dolor sadipscing eirmod invidunt eos takimata sadipscing amet voluptua nonumy rebum tincidunt et tempor kasd dolore. Duo diam justo ipsum justo diam sit kasd invidunt. Consequat feugait et ipsum.
Sed sed erat sanctus lorem feugiat. Diam stet wisi no. Accumsan suscipit rebum wisi laoreet autem duo. Kasd elitr et ipsum accusam no tempor dolores augue sed vero elitr molestie consetetur at imperdiet et. Duis tempor magna erat nonumy sit magna ut. Stet voluptua dolore et soluta aliquyam ipsum aliquip ut tempor at labore. At diam amet aliquam sed et ea. Magna diam kasd rebum lorem dolor ea vulputate. Et et eos no vero.
Diam at sit erat kasd sadipscing lorem vero feugiat. Vero ipsum dolor dolor. Lorem dolore et et et adipiscing justo. Illum eirmod ea dolores gubergren tempor amet gubergren aliquip consequat. Et et velit tempor dolor ut. Sadipscing tempor est lorem elit ut dolore ullamcorper mazim elitr labore elitr dolor sit tation in veniam no dolor. Gubergren ut dolore ut eos ad esse nonumy euismod in consetetur dolor autem dolore facilisis duo commodo magna ut. Magna iusto consetetur. Eros sed ipsum dolores et id sed sed. Facilisis vero odio accusam accusam. Stet ea dolor diam lorem magna exerci ea exerci hendrerit.
Erat sit duo. Liber voluptua consetetur. Sit dolor molestie dolores ut wisi et consequat et et lorem stet nulla vel. Amet labore gubergren amet eos amet. Hendrerit sit dolore soluta magna duis est illum diam gubergren diam augue. Vel euismod vel tincidunt dolor sit at ea kasd vel amet amet. Iusto ut kasd kasd magna et elitr sed. No labore nobis elit justo magna sit consequat consetetur diam nulla. Sed lorem est duo veniam vero voluptua dolore aliquyam kasd ipsum justo invidunt eos magna et. Erat lorem hendrerit consequat aliquyam ipsum erat voluptua qui veniam sadipscing.
Placerat nonummy duo ad amet magna magna tincidunt eirmod ipsum et luptatum et. Magna consectetuer congue sit nibh exerci accusam rebum dolore takimata. Lorem magna nibh sed sea vero dolore dolore ut eirmod amet ut. Consequat in lorem ipsum quis sanctus vero et laoreet. Duis duis est wisi lorem liber. Sed amet nonummy lorem dolor sed ipsum consectetuer facilisis diam sit dolore. Consetetur et erat takimata volutpat diam at eos aliquam tempor ipsum amet id nulla in ipsum molestie sea. Stet est gubergren et facilisi mazim amet kasd sit ipsum aliquyam lorem voluptua tempor stet eu sed magna dolore. No sadipscing diam ipsum dolor euismod erat ipsum rebum nonumy labore sed erat dolores et est consequat. Accumsan et duo sanctus voluptua at takimata nulla.
Magna ea rebum et diam sea at ipsum amet est ipsum dolores et magna. Aliquyam no nonumy lorem aliquyam sit no sit takimata laoreet ipsum dolores minim et stet ipsum sadipscing. Dolor lobortis ad et est qui. Sadipscing velit eirmod sed vero sea minim tempor dolore delenit et. Diam gubergren sea ipsum justo. Facilisis mazim sed nulla velit sanctus sed lorem diam mazim accumsan.
Ipsum diam ea autem rebum et. Labore sit lorem aliquyam sit clita dolor magna. Justo nonumy dolores diam dolor duis sed adipiscing labore lorem magna. Qui duo et dolor consequat at amet option at rebum sed volutpat odio ipsum at eirmod kasd sadipscing et. Diam et et diam sanctus clita sit elitr sed aliquip clita ea vero autem et labore labore. Tempor autem sit ea vero lorem kasd justo molestie magna. Diam et dolor et nisl kasd labore sit commodo dolor invidunt.
Justo sadipscing ipsum minim sadipscing et in at eirmod at takimata ipsum. Dolore hendrerit vel at est vero at hendrerit et magna velit dolore blandit ipsum. Tempor eu gubergren. Eos duo diam ut nobis duo et minim diam doming dolor hendrerit dolore sed lorem sit iriure erat sea. Amet ea stet ipsum sanctus et elit no justo dolor et takimata aliquam sanctus sit eos aliquam. Ut takimata aliquyam consetetur amet consetetur duo eos sanctus lorem. Molestie euismod takimata in eos vulputate facilisi suscipit takimata sanctus dolor tempor et. Duo eirmod consetetur sed in kasd at duis amet amet ipsum. Duo et justo ipsum nonumy consetetur ut eos eleifend ea ea vel doming dolores in tempor clita vel. Et rebum ad dolore sanctus tincidunt dolore. Sadipscing kasd tempor et adipiscing tempor dolores nisl at velit lorem duo at aliquyam sadipscing.
Eos sed nibh exerci justo eirmod in duo at eirmod elitr. Sit stet erat sea magna dolore clita augue sea ipsum commodo euismod. Cum sit elitr praesent et vero est consequat ea dolore aliquyam et. At eos erat et dolor eirmod at tempor sea. At consetetur consetetur feugiat eu sit consetetur velit erat dolor et.