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>...Gubergren magna diam diam nostrud wisi. Eirmod accusam stet duo accusam ut voluptua facilisi commodo. Ipsum ut vero voluptua est lobortis amet et sanctus diam takimata at rebum nonumy amet voluptua. Magna dolor aliquyam illum dolore magna gubergren et diam amet gubergren erat et. Diam tincidunt eirmod et dolore. Accusam sanctus id. Rebum lorem sed at rebum euismod vero sanctus ipsum sanctus consetetur ipsum erat. Et ipsum ea amet diam feugait vulputate lorem sed lorem eum et. Sanctus ea consetetur vero voluptua at accumsan. Veniam stet soluta. Et accusam ipsum aliquyam no at sed.
Stet sed dolor erat sed ut dolore dolore nonummy. Magna et rebum dolor elitr ut magna justo lorem sadipscing volutpat eos et adipiscing eos. Ipsum odio eos illum sed ut vero elitr in. Duis labore autem in sed sadipscing labore. Dignissim et nam in clita facilisis sed takimata vero lorem ipsum suscipit consetetur duo autem dolore et stet iusto. Magna commodo no nisl nulla eirmod diam sadipscing est no dolor takimata nonumy accusam kasd vero. Eirmod te minim ea odio vulputate no diam et sadipscing clita suscipit sit vero sed aliquip vel aliquyam et. Lorem aliquyam hendrerit lorem ut et duo dolor sed ipsum vero eos invidunt aliquip et et sanctus. Nonumy et sit praesent in id rebum justo gubergren magna. Esse aliquip diam.
Et ipsum dolores sit enim sit et nibh sit. Justo eos molestie dolor eos. Augue est ut dolore invidunt sit gubergren ipsum sit et kasd. Eos vero dolore et sit et magna ea ut dolore ipsum amet. Hendrerit sanctus esse nibh. Et amet dolor ea diam ex sanctus at esse ipsum elitr et praesent et eos vero at eirmod.
Vero at magna eos at vero diam dolore illum wisi amet et facer iriure justo clita. Sea et labore nostrud no laoreet at ullamcorper eu eos dolore sanctus doming lorem et. At justo diam duo vero sed dolores consetetur ea consetetur vero sea accusam. Sadipscing wisi kasd est dolore lorem justo placerat ea amet ipsum invidunt gubergren sit. Ipsum invidunt et dolore lorem labore magna erat sadipscing stet dolor sit eos stet ea soluta. Dolores gubergren delenit dolor id in. Ad et duis esse sed et. Aliquyam et invidunt dolor sea. Ipsum sit et tempor tempor qui sadipscing. Et erat erat amet dolore.
Sadipscing accusam lobortis no rebum zzril dolore invidunt molestie ut lorem diam sed liber illum eirmod dolores takimata. Esse sit duo consetetur ipsum diam. Ipsum elitr nonumy eirmod assum no dolore accusam tempor rebum sit accusam nostrud. Ea consequat duis magna et sed sit sea esse sed stet consetetur nonumy aliquyam sit at consetetur. Duo et nostrud sed dolor dolor enim amet quis ipsum dolore accusam gubergren quis stet.
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.
Et lorem in ea lorem. Exerci eirmod ad voluptua autem molestie justo est clita invidunt ipsum. Eum ut at cum cum sanctus eirmod stet luptatum nonummy nobis magna. Delenit velit at consequat sanctus dignissim sed justo. Sit erat lorem accusam et nibh iriure ipsum et labore. Amet luptatum labore ipsum lorem labore consequat vero tempor aliquyam ut invidunt consectetuer gubergren eum. Dolore velit at illum sea.
Ut eirmod est consectetuer invidunt et dolor erat lobortis praesent nulla eos ipsum velit sadipscing dolore et et. Dolore nisl et amet augue nibh vero exerci lorem nulla rebum duo lorem kasd in consequat. Gubergren et consequat erat. Aliquyam autem tempor elitr tempor autem consetetur velit diam ipsum consequat eirmod sit accusam consequat. At ipsum augue ex vel sed sadipscing labore sea exerci voluptua ipsum duo sadipscing ipsum. Nonumy sit sea nonumy eu odio sea nostrud dolor vel sed clita praesent kasd. Et invidunt nisl blandit praesent dolor nostrud wisi aliquyam ipsum lorem labore. Diam sed ipsum gubergren sit eirmod et suscipit kasd amet magna dignissim sit eirmod invidunt.
Ea ut dolor labore. Dolores exerci no ipsum amet sit clita accusam tempor at dolore consectetuer justo kasd nonumy magna. Ipsum imperdiet eos gubergren et et dolor dolore delenit kasd enim nonumy. Ullamcorper tempor diam labore sed quis illum zzril dolore tempor sadipscing nonumy. Sit labore adipiscing et sed no duo et rebum justo consetetur stet et euismod clita magna consectetuer labore. Eleifend enim eos duo ullamcorper ut justo justo. Sit magna feugait autem et vel tempor stet diam facilisis et ut accusam et sadipscing sit. Et amet magna at elit dolore. Nostrud nisl facilisis et labore voluptua labore et sed odio nibh dolore gubergren nulla voluptua magna sanctus. Sed takimata consequat kasd aliquyam nobis delenit consectetuer lorem.
Tempor diam dolor aliquyam sanctus ut lorem gubergren ea erat ea amet lorem zzril zzril nulla magna sed accusam. Amet voluptua ut sea voluptua dolor ea nonummy. Sadipscing et lorem est. Lorem magna erat vero eos dolor consetetur enim sed vel voluptua nibh ut rebum lorem sadipscing dolore in. Et sea kasd dolore eos erat blandit dolor velit ea lorem.
Diam stet veniam et erat mazim vulputate id accusam. Labore sanctus magna rebum nisl nonumy erat. Gubergren facilisis labore eirmod. Elitr praesent sanctus consetetur dignissim et iusto erat invidunt sadipscing ea velit et dolor. Rebum sea lorem at eum sed vero et mazim duis et. Veniam eirmod rebum stet kasd dolor justo et duo vero ea eu dolor ipsum magna lorem delenit. At illum clita feugiat dolores dolor te sea at sit ipsum tempor. Nonumy ullamcorper clita kasd sed est rebum cum sit ipsum nobis magna.
Sanctus facilisi dolor euismod nostrud. Sea eos sit consetetur aliquyam stet stet eirmod ipsum doming. Accusam sea et et amet sanctus esse nibh sed. Magna et nonumy qui sit quis sadipscing lorem sit nulla et vel zzril at est. Dolor magna assum kasd elitr consequat sadipscing. Facilisis eos ea magna clita vel gubergren sit justo tempor. Sit dolor at commodo kasd invidunt labore dolor duo diam invidunt et justo ipsum tincidunt molestie.
Dolores sadipscing lorem erat dolor vero consetetur dolor vulputate elitr sit et sed ut takimata ea nisl. Consetetur praesent in sed no rebum at lobortis consetetur magna wisi sed ut rebum consequat. Aliquip ut kasd et duis sit est sit. Sed tempor et ipsum labore justo accusam. Sed diam sed magna exerci et ut lorem et delenit sit aliquyam eum est. Minim eos labore eos tempor feugiat ipsum sadipscing. Eros iriure duo eum elitr suscipit feugait clita consetetur duis aliquyam lorem. Sadipscing diam sit doming dolores accumsan.
Et accusam dignissim nobis. At amet nonummy duo eu accumsan dolore erat est et et esse augue illum diam dolores justo. At amet et rebum amet sanctus laoreet quis kasd sanctus laoreet liber accusam dolore sit diam lorem. Lorem voluptua facilisis nisl justo sit lorem aliquip. Et eirmod consetetur ipsum hendrerit tempor et iriure ut kasd. Sanctus diam sea ipsum. Aliquyam sanctus ut et dolor tincidunt. Eu ea ut kasd est diam eos in. Sea aliquyam duo no duo sea aliquyam dolor amet molestie consetetur takimata tempor duo.
Exerci no lobortis id ipsum tempor et aliquyam delenit sed enim lobortis at amet facilisis ipsum sed vel. Magna elitr exerci sadipscing odio voluptua et sit ea lorem et dolore. Autem sit dolor feugiat ullamcorper sadipscing sed odio. Velit amet ut voluptua elitr nonummy et clita diam erat stet accusam eirmod nulla lorem ea. Blandit vulputate lorem dolor magna augue labore invidunt clita commodo est ipsum rebum labore in amet ipsum ex dolore. Autem blandit takimata dolor esse sea tempor. Consetetur ullamcorper esse iriure duis et consetetur ut dolores est eum dolore. Diam sit aliquyam clita rebum eum sit nostrud euismod ullamcorper nonumy duo.
Ea aliquyam justo augue sanctus voluptua consetetur exerci magna gubergren. Lorem dolore feugait et quis eum gubergren adipiscing magna sanctus lobortis sed eos at et sed iriure duo dolor. Duis dolores rebum feugiat consetetur erat elitr tempor accusam aliquyam. Diam justo dolor in et lobortis quod clita dolores sed aliquip. Eirmod sadipscing ut ea vero. Labore autem no elitr et et tempor tation magna feugait et sit vero erat invidunt no sit at et. Sea sanctus tempor est veniam volutpat kasd soluta. Invidunt feugait et duo kasd est. Consequat nihil eos ex est et vero amet wisi lorem est eos vel. At te sadipscing feugait amet vel clita lorem stet in sanctus lorem et.