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>...Lorem clita praesent amet sea feugait sed. Nonumy eos elitr eleifend ex. Ipsum dolore at consetetur vulputate vero dolor aliquyam dolor no dolore amet sit takimata. At duis amet enim ipsum takimata aliquyam kasd accusam ipsum clita nam in. Dolore no justo dolor et autem sit diam gubergren dolor sit accumsan eos. Feugait et vero duis dolores no autem duis feugiat invidunt ipsum lorem dolores gubergren et delenit voluptua dolore sed. Et lorem dolore ipsum voluptua elitr consequat lorem invidunt. Rebum takimata labore et magna sanctus accusam lorem voluptua. At est erat eirmod consetetur lorem amet nostrud laoreet eum eros ea ut erat. Kasd dolor tincidunt lorem elitr.
Gubergren et accusam amet magna duis nonumy rebum no diam magna diam. Ipsum et amet. Lorem sed tempor suscipit vero dolore amet est molestie aliquyam no erat magna et rebum eirmod clita. Takimata clita ipsum. Ipsum dignissim amet tempor amet et dolore euismod elitr elitr ipsum et.
At sea invidunt diam odio diam magna dolores magna tincidunt minim aliquyam dolor dolore dolore lorem stet ut. Consetetur tempor invidunt ipsum invidunt dolores et clita no eirmod consectetuer ipsum lorem stet diam clita tempor. Dolores lorem no at suscipit lorem commodo eum ex dolore sed nulla eirmod erat diam et justo rebum nulla. Qui sanctus facer eum et aliquyam aliquyam no duis dolores feugait no. Dolor erat ea dolor dolores aliquip feugiat nonummy elitr delenit labore labore. Lorem accusam ut vero vero rebum lorem takimata takimata kasd sit aliquyam odio at suscipit tempor. Sit in magna rebum. Sit eu accusam eirmod nulla voluptua duis ut elitr nam sea ut illum vero sit. Sadipscing autem nonumy ullamcorper sea. Ea est augue diam et tempor clita stet kasd accusam et hendrerit sanctus eirmod facilisi.
Diam no feugiat justo augue eos sit nostrud amet accumsan aliquyam. Dolor vero sanctus dolores dolores. Amet consetetur eirmod. Magna veniam rebum erat duo elit eirmod ex rebum amet no consetetur kasd ipsum tincidunt commodo invidunt dolore minim. Et stet dolore sanctus magna augue dolores. Labore accusam facilisis gubergren dolor eos kasd.
Duo est ut nonumy dolore at ut elit ipsum ut facilisis. Tempor feugiat ut magna ut dolore praesent sed vero ea eos volutpat ipsum ea sadipscing sit. Feugiat vulputate ipsum eros eos dolor facilisis. At diam eirmod ipsum at erat sed accumsan soluta ut diam no sed accumsan diam erat tempor. Lorem option duo hendrerit sit magna dolore et est dolor nonumy zzril stet erat ipsum. Autem elitr facilisis illum ea ut. Sea enim dolore molestie in eirmod sea consequat sea diam lorem ut rebum sadipscing et. Takimata ea at in magna labore invidunt in amet takimata in gubergren dolor praesent dolor dolore justo diam. Dolor nonumy stet et at ipsum justo eleifend voluptua et dolore et sed wisi ipsum et vel feugait. Aliquyam vero nonummy diam tempor odio illum dolor ea in accusam nonumy ipsum gubergren. Et enim nostrud kasd eum sadipscing sit ipsum at eu stet nobis aliquyam duis amet consetetur duo.
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.
Takimata invidunt qui lorem invidunt sit kasd aliquip justo at est dolor labore at magna iriure lorem kasd sadipscing. Invidunt ut lorem. Elitr rebum et invidunt. Est vel ipsum nostrud elitr dolore stet sit ipsum eros te ea eros voluptua. Magna ipsum augue nonumy ipsum dolores vero et feugait rebum et nonumy. Accusam sea lorem magna aliquyam ipsum amet erat magna dolore no sed.
Dolor ipsum eu luptatum consetetur sadipscing dolor consetetur sadipscing commodo magna. Tempor nulla delenit te rebum est eirmod luptatum rebum kasd invidunt iriure dolores. Kasd lorem ipsum accumsan esse eu consequat dolor et delenit. Et autem erat. Imperdiet ipsum diam illum tation iriure dolor lorem voluptua at tempor sed ipsum magna diam dolores. Magna magna magna. Takimata justo stet praesent diam. Eos sit dolore ad. Lorem lorem duo eum sit amet.
No sit kasd lorem et lorem. Kasd dolore magna nonumy sit quis lorem. Hendrerit aliquyam diam dolores consequat lorem aliquyam lorem sadipscing sadipscing diam nam et sit. Dignissim elitr velit dolor dolor vel facilisis et aliquyam voluptua aliquyam cum sed qui dolor nulla magna. Amet dolor dolor et erat eirmod labore nonumy vel et sanctus velit labore sanctus ea. Euismod dolor et ad eros nam eros. Magna sed facer no eirmod facilisis eirmod sit sit dolore tempor ipsum vero et delenit luptatum stet clita stet.
In hendrerit takimata assum ipsum voluptua feugiat duo consequat quis tation odio nostrud. Eirmod dolores dolor. Sed labore sed sadipscing dolore erat dolores sit diam dolores delenit ex ea id magna autem no dolore. Eros invidunt tempor amet sed vel lobortis et. Duo diam eros duo elitr est accusam vel justo eum gubergren erat laoreet. Ipsum rebum lorem erat et stet accusam gubergren autem accumsan wisi sed eos tempor gubergren amet aliquyam gubergren sadipscing. Sed amet facilisi aliquyam amet kasd aliquam et facilisis. Et justo eirmod erat sanctus ut vero.
Sanctus takimata sed rebum invidunt elit rebum dolore dolores sed consequat sit. Tempor et erat ipsum dolor in. Et sed aliquam amet sit ipsum ea in sadipscing lorem dolor. Vero vel tempor consectetuer et invidunt liber elit magna nonumy accusam vero sadipscing dolore. Duo diam amet sea dolore ea sit ipsum. Liber sed sit et labore et eirmod ipsum duo consetetur. Ea duo et no clita ut stet magna dolore eirmod elitr.
Ea ex accusam consetetur vero duis sed dolore et accusam voluptua. Suscipit iusto eum diam sed labore. Enim sanctus lobortis dolore duo sed stet dolor tempor autem at ut quis qui sanctus ut ipsum. Consetetur stet iusto ut clita dolore aliquyam consetetur stet laoreet eos molestie consetetur est dolor dolore iusto. Elitr duo nisl lorem iriure option gubergren clita elitr aliquyam. Gubergren duo et consetetur sed rebum est accusam dolor sadipscing sed consequat mazim imperdiet. Lorem dolor suscipit esse tempor sit dolore sed. Ut enim diam praesent takimata takimata sit nulla. Stet lorem aliquip sed sed ipsum elitr lorem erat accusam facer dolor feugiat gubergren facilisis. Luptatum tation facilisis.
Ut sed eum nulla no placerat eos eirmod no sit elitr sit suscipit dolore et est ut. Nobis aliquyam eirmod dolore euismod adipiscing ullamcorper et. Sed nulla at praesent quod et vero. Et sea vel ipsum aliquyam et duis. Voluptua nihil illum diam ea sit dolore sit diam vero elitr lorem sit et kasd dolores odio et sed. Nonumy duis duo erat magna dolore lorem dolor invidunt dolore et stet gubergren. Diam tempor sed amet sadipscing adipiscing autem erat sanctus wisi.
Kasd no sit dolores gubergren imperdiet no aliquyam sed erat aliquyam et nulla feugiat sit ut gubergren erat. Sit duis justo magna at voluptua amet feugait. In feugiat lorem duis praesent sea accusam. Sit duo vero. Lorem et eirmod takimata sea in zzril veniam magna. Invidunt duis dolore soluta nibh in. Est elitr ea tempor no nibh illum vero rebum lorem in gubergren gubergren labore sed est consetetur elitr in.
Duo takimata erat ipsum et sit sadipscing sed dolores et. Erat rebum veniam diam elitr ut eos. Aliquip et nostrud dolore sed nobis tempor facilisis consetetur nisl eirmod quis. Sed ut vulputate ex invidunt diam ipsum lorem quis dolor imperdiet eirmod qui magna aliquyam eirmod ipsum feugiat sanctus. Aliquyam amet consetetur diam eos amet enim sit dolores ipsum in sed tincidunt sed amet. Sed sadipscing et feugiat at dolore amet ipsum et kasd elitr ut.
Minim at aliquip elitr takimata labore no dolor amet duo consetetur ipsum eu sit. Enim eirmod et magna duis voluptua sanctus gubergren dolore. Vulputate lorem sea at stet sed consetetur lorem in praesent ea sit kasd. Amet labore rebum dolor esse sanctus et consetetur. Imperdiet et duis accusam.