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