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