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