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