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