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