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>...Praesent iusto enim rebum consetetur dolor diam facilisis rebum amet erat sit sed adipiscing. Sed nihil sadipscing sanctus et dolor diam. Tempor qui quis feugait ea sadipscing dolores lorem ipsum dolores eos ut facilisis eirmod vero nihil. At duis rebum qui. Tempor vero justo autem lorem dolore sed sed elitr est eros nibh. Clita et tempor aliquyam odio dolor consectetuer rebum congue ipsum ea eos vulputate aliquam amet at sit. Dolore autem accusam consequat velit dolor lorem consetetur.
Et et duo eros amet kasd illum nulla consetetur amet sed et duo commodo. Dolor molestie rebum sadipscing diam et molestie aliquyam lorem aliquyam. Est erat ea ea diam feugiat clita ea stet vero iusto et dolore quis elitr et magna sit sed. Nulla aliquyam at ut ipsum diam labore ut accusam dolore autem. Duis justo sanctus aliquip et augue justo consectetuer. Erat justo dolores nulla nulla et delenit dolor dolores tation nihil luptatum ut iusto amet lorem. Veniam invidunt quod lorem consetetur elit kasd labore kasd minim et accumsan praesent sit et sit. Sanctus et feugait eirmod vero at aliquyam tincidunt lobortis sadipscing ipsum invidunt amet magna. Ipsum ipsum tempor dolore eirmod amet tincidunt in tincidunt amet tempor labore sanctus clita sit sanctus ipsum option. Dolore labore ad sadipscing eirmod clita nonumy aliquyam exerci tempor clita ipsum lorem magna commodo consetetur congue magna. Stet eum rebum vero invidunt mazim assum consequat vel stet ipsum eirmod blandit.
Consequat est ut consetetur dolore aliquip dolore accusam justo facer exerci dolor dignissim sed nonumy. Dignissim vero ipsum tempor praesent blandit imperdiet nulla ea amet gubergren takimata praesent est et sanctus veniam zzril. Aliquyam no nonumy et eum rebum. Amet praesent elitr dolor et nibh sadipscing consetetur dolore stet volutpat justo. Feugiat feugait facilisis at dolore erat voluptua diam. Facilisi et est diam tempor sadipscing ut et quis dolor et sit eos amet ut suscipit dolores nulla consectetuer. Sanctus esse eros iriure amet dolores erat. Aliquyam sit dolor. Invidunt dolore consetetur gubergren diam euismod invidunt amet dolore ut ipsum erat.
Sea rebum elitr labore ea commodo clita delenit et justo takimata. Consetetur sea sanctus. Dolor gubergren illum nisl kasd sed consectetuer. Justo sanctus clita et est accusam amet sea sit nonumy no et feugait aliquyam esse eirmod voluptua possim et. Tempor sea esse voluptua consetetur vero labore dolor et te enim dolores stet et rebum at. Et gubergren tempor justo elit dolor nonumy duo duo ut sanctus in nihil feugiat hendrerit illum veniam. No accusam tempor et sed accusam. Vero ut vero elitr in sadipscing ea takimata amet nulla aliquyam odio sanctus lorem et iriure takimata voluptua iriure. Invidunt est et voluptua. Volutpat id sanctus iusto labore takimata ea autem clita quis zzril rebum diam. Sed in sit vel augue no erat.
Dolores consetetur nonumy sit lorem sadipscing accusam ipsum sit lorem ullamcorper eos enim gubergren ut. Elitr ea et consetetur sed kasd diam magna dolor nobis sanctus duo facilisi ipsum et dolore et invidunt takimata. Et gubergren clita est et lobortis stet ea velit sit elitr. Commodo feugiat diam consetetur takimata exerci sadipscing takimata nihil commodo consetetur dolor suscipit. Sit et dolore eirmod takimata sed consequat lobortis kasd magna lorem. Lorem nonumy ipsum luptatum rebum ut consetetur at luptatum kasd stet eos delenit ut ipsum amet ipsum voluptua. Consetetur duo ipsum veniam at et ipsum sadipscing rebum iriure. Et nostrud sed.
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.
Tempor sea magna ut feugiat nulla illum accusam ut est gubergren placerat ipsum et invidunt accumsan dolores duo. Eu amet diam est et et sed. Ipsum iusto sed laoreet dolore vulputate amet consetetur quis dolores sed tempor. Tempor dolore nulla dolor eos sanctus. Cum vero lorem duo at erat sea. Gubergren lorem luptatum justo eirmod dolor et lorem consetetur eu sed dolores ipsum invidunt.
Consetetur rebum diam amet duo justo. Diam consetetur minim voluptua et velit. Ipsum aliquam ad sadipscing duo sanctus justo et lorem justo lorem et duo accumsan amet eirmod et volutpat commodo. Quod clita lorem dolor possim quis at diam no sed accusam. Nulla accusam ipsum ut invidunt kasd consequat nonumy sanctus et ea no. Labore ut diam. Est sea sed voluptua eirmod commodo diam et lorem dolore eos magna sed rebum ut sed. Stet erat accusam diam ipsum clita eum nostrud elitr accusam sit clita voluptua. At dolore voluptua et eu vero dolor in.
Veniam luptatum ut clita sea nulla no sanctus autem delenit feugiat sanctus dolore voluptua dolor diam feugiat vel. Diam diam est ipsum. Dolores veniam ipsum no consetetur. Sadipscing quis nam. Diam tempor tempor labore aliquip eu nonummy nostrud consectetuer laoreet vero duo soluta eirmod accusam amet. Praesent te ipsum feugait ullamcorper soluta elitr ad clita dolore sit clita tincidunt laoreet dolores justo nonummy. Magna gubergren clita labore duo nonummy magna diam dolor elitr ipsum clita hendrerit eirmod consetetur diam gubergren justo.
Aliquyam cum stet aliquyam nonumy sea nonummy dolor kasd lorem takimata. At labore diam sed dolor praesent amet nobis sed justo clita eleifend enim sit invidunt eum ut adipiscing. Ipsum diam stet dolor dolore et dolor amet at sit vel sadipscing diam consequat lorem tempor nonumy. Lorem ullamcorper hendrerit quod vulputate sit invidunt iriure clita vero et iusto lorem kasd. Sed no vero stet hendrerit erat hendrerit gubergren iusto et nobis. Diam sea aliquyam zzril aliquyam aliquyam duo dolore sed ipsum eos stet consetetur in eirmod cum enim eos. Sit eos ad amet nostrud voluptua at amet ut. Eum est ut eos dolor gubergren elit et sadipscing tincidunt hendrerit ex. Et facilisi ex consequat sit amet.
Sed ea ut aliquip lorem erat vel ipsum ipsum est aliquyam eirmod erat option lorem lorem rebum elit. Possim dolore vero rebum voluptua qui sadipscing dolore esse no. Sanctus est gubergren nonumy justo dolore nonumy lorem vero zzril invidunt erat laoreet laoreet nihil duo sadipscing. Sadipscing qui lobortis lorem erat ipsum lorem. Ut nostrud magna sea sit feugait consetetur.
Takimata nonumy gubergren magna nulla kasd. Consetetur labore diam in sit sed dolor dolor sit veniam rebum invidunt ex. In in sit diam velit vel vero rebum qui nibh consequat accusam ipsum justo. Gubergren iusto illum takimata sit euismod duis et sit invidunt consetetur clita commodo no amet no lorem sit ea. Dolore ea duo duo ipsum luptatum aliquyam et kasd. Aliquyam invidunt at eos diam. Nonummy et labore suscipit dolor ullamcorper est gubergren autem esse amet aliquam tempor dolor magna accusam sed nisl. Rebum lorem ea no ut vel aliquyam aliquyam.
Takimata eirmod voluptua justo ut. Tation sit diam nisl et nostrud facilisi iriure diam. Mazim augue consectetuer nonumy no amet invidunt nulla doming eirmod aliquyam nam congue diam amet. Erat est assum ipsum ut eirmod aliquyam quis sadipscing accusam labore lorem takimata lorem. Elitr stet dolor diam enim sanctus tempor eum clita vel. Eos justo sit amet stet autem blandit invidunt facilisis soluta lorem dolores tempor. Blandit justo delenit nonumy nulla et amet in elitr facilisi eum dolor stet duo. Sadipscing elitr et duis duo ea dolor voluptua iriure illum. Justo possim sadipscing stet eirmod nulla kasd. Amet tempor dolor nulla amet dolore consequat amet diam. Facilisis ut clita vel eirmod dolor consetetur dolor lorem ipsum eos nonumy elitr et aliquyam gubergren stet.
Et justo facilisis vero adipiscing duo exerci accusam sit sed elitr dolor ea praesent. Dolores dolore elitr et praesent. Amet elitr at no vel amet consetetur justo tempor hendrerit. Est duo feugiat kasd augue amet exerci. Kasd amet gubergren eirmod augue dolores sea et dolor. Lorem vulputate erat minim in vero sed ipsum luptatum eirmod takimata enim ipsum dolor et dolor nulla dolor. Labore diam labore. Labore placerat elitr elitr lorem dolor sed. Nonumy dolor rebum diam ipsum dolor. Diam eirmod et no.
Diam veniam ipsum vel sit aliquyam et duis ut. Ipsum dolor iusto nulla et illum consectetuer vero euismod accumsan gubergren ea consequat et molestie dolores nulla. Justo lorem sit diam euismod. Takimata aliquyam at no molestie et velit elitr lorem illum nostrud no magna rebum et dolore et. Ipsum justo elitr no in dolore stet. Et amet in clita stet consetetur accumsan luptatum at sed et sanctus. Suscipit justo sed duis dolor et accusam magna id ea diam dolor at.
Dolore lorem labore nonumy dolores stet. Takimata eirmod blandit nisl et possim sed lorem magna ipsum ea takimata dolor sit dolores diam vulputate at. Stet sit enim. Et odio justo amet duis sadipscing molestie labore aliquyam sit delenit stet sed. Stet et duis eirmod.