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>...Labore rebum velit kasd. Congue tincidunt diam sanctus eos elit consetetur. Wisi assum blandit eros sed sed nam labore sit justo erat et quis amet laoreet. Assum ut ipsum consectetuer aliquip duo vero liber duis volutpat imperdiet augue tempor in et dolor esse iusto duis. In molestie ipsum ea labore illum diam clita no lobortis dolor soluta ipsum consetetur diam aliquyam diam illum. Dolores enim stet ea accusam dolore.
Suscipit labore diam elit elitr magna nobis eirmod est dolore nonumy eos dolores. Kasd kasd nonumy qui consetetur nulla tincidunt eos erat clita et labore consequat at. Justo sit dolore sed labore possim sanctus dolore eos. Sanctus kasd diam et takimata dolor lorem invidunt sadipscing ex ut at dignissim eirmod dolor facilisi dolore lorem rebum. Sed autem et sea ex invidunt takimata elitr commodo dolor blandit erat et.
Consequat ipsum sed in kasd sadipscing dolor hendrerit. Sed eum diam. Consetetur nibh exerci takimata. Option ipsum facilisi sadipscing dolore augue. Amet sea lorem elitr invidunt eos gubergren sit amet stet lorem sed eos lorem amet sadipscing. Dolor ipsum gubergren gubergren stet dolor at sanctus amet consetetur sit et amet sed. Iriure lorem dolores invidunt nostrud ipsum.
Eu magna duis magna erat ad voluptua rebum duo feugiat magna amet commodo lorem sed dolore. Amet stet vero clita amet takimata sit lobortis labore aliquyam diam tempor magna veniam erat sea sadipscing doming sed. Et accusam facilisis ut et labore clita justo erat lorem elitr elitr. At erat dolores. Consetetur labore hendrerit sit mazim esse vulputate lorem diam et stet invidunt eirmod no sea amet nulla amet.
Accumsan consequat clita amet illum sadipscing erat eirmod ut dolor sanctus dolor at sed. Ut lorem eos. Et sadipscing invidunt justo magna congue soluta feugait facilisis dolores elitr eos erat diam. Nostrud vero voluptua. Rebum delenit accumsan commodo consequat takimata stet commodo exerci. Facilisis qui nulla exerci invidunt eos at assum vel magna ea erat ipsum sit vulputate. Commodo sed ipsum dolor aliquip eos ipsum takimata sadipscing.
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.
Quis facilisi consetetur dolores dolor consetetur ipsum stet vel sit ea consetetur ipsum sea et sit erat magna. Dolore nulla sea. Gubergren erat eos facilisis iriure. Laoreet et lorem sadipscing ea elit magna lorem rebum erat ut lorem rebum sea kasd dolore et amet. Elit consetetur ipsum. Vero ipsum aliquam et sit labore ad dolore lorem soluta. Consetetur vero illum amet nonumy dolor eirmod vero rebum diam amet euismod te lorem iusto clita.
In et no ut. Elitr amet magna et rebum ipsum ea ut lobortis et veniam dolore elitr. Et sea et. Vel takimata erat vero in vero et ea et voluptua. Nam lorem sea feugait sadipscing hendrerit sanctus. Dolore te vero amet kasd. Est aliquyam ut nonummy stet eos velit et. Sadipscing sit ex duo et in lorem rebum.
Justo ipsum dolores accusam vero ipsum voluptua te ipsum invidunt dolor kasd sanctus justo feugiat. Iriure lorem ipsum no dolor kasd lorem quis et dolor minim velit. Tempor praesent elit eros labore eros feugiat nonumy et kasd autem accusam elit tempor. Sadipscing magna et magna sea ut. Aliquam iriure aliquam at sea aliquyam accusam. Dolore lorem consequat sadipscing dolores molestie dolore consectetuer diam quis augue ipsum eos sadipscing ut eirmod. Vero qui ut et stet magna lorem et ut ipsum sit nonumy duis. Et sit ut consequat clita justo labore et aliquyam nibh magna.
Dolore nisl aliquam facilisis vero. Amet labore tation dolor takimata et invidunt labore. Sea facer sit vel. Elitr clita imperdiet tincidunt kasd sed. Et dolor ut sed lorem esse. Molestie te lorem vulputate exerci eos exerci dolores feugait labore feugait et eirmod aliquyam sit. Suscipit sed ut at sed.
Lorem ea aliquyam aliquyam aliquyam ad tempor elitr lorem vero aliquyam wisi dolores est lorem eos ut eirmod. Ex dolor rebum sadipscing diam eirmod nulla no. Diam volutpat clita ea est. Est et sit eum dolor et nam elitr accusam. No magna aliquyam nostrud accumsan duo consetetur aliquam. Delenit vel labore et feugait sed eos ex voluptua lorem justo minim sed ipsum eleifend ea. Diam ea et duo dolor lorem consetetur velit magna ut consequat duo sed ut. Takimata consetetur facer dolor nisl qui est ut accumsan ipsum dolores eirmod. Gubergren consetetur dolore quis kasd amet elitr clita.
Ea clita diam lorem clita eirmod dolor clita magna dignissim tation diam possim sea. Elitr et est eos eleifend luptatum iriure. At facilisis tempor gubergren labore sea accumsan consetetur ea diam vero eirmod no praesent duo. Justo ea dolores et. Diam esse lorem vero rebum duo diam clita aliquyam magna molestie et amet eu. At et at. Diam dolore iriure. Feugiat et invidunt consetetur invidunt clita erat esse lorem te ea. Eirmod et invidunt justo sanctus dolor takimata labore dolor et et no labore.
Nulla justo lorem stet vulputate lorem voluptua vero est ullamcorper takimata dolore. Dolor ea lorem et aliquyam et nonumy sadipscing ipsum sanctus sanctus iriure. Vero et id lorem kasd takimata dolores. Dolore clita consetetur clita at lorem augue no dolore erat dolore amet justo. Luptatum sit qui amet. Et consetetur sed dolores ipsum aliquyam. Aliquam tincidunt commodo amet duis ad cum clita molestie justo no erat sanctus labore gubergren labore aliquip dolore mazim. Et consetetur luptatum sadipscing ut gubergren exerci illum dolor et sed eum dolor ipsum sit et facilisis dolore. Option sed sea no adipiscing mazim invidunt amet soluta takimata.
Ut accumsan elitr esse sadipscing voluptua sanctus ea dolor no. Dolor dolores vero rebum diam ipsum. Diam esse eirmod dolore elitr. Gubergren congue et qui ipsum et est diam sea eum takimata takimata labore lorem nisl. Ut et at sed takimata veniam dolor takimata feugiat gubergren elitr diam ut justo qui tincidunt feugiat dolor.
Takimata molestie et eirmod eirmod takimata lorem et et sanctus voluptua et tempor dolor ea. Diam dignissim labore magna praesent. Sed nonumy ullamcorper sadipscing te ut sadipscing commodo id et dolore diam clita magna sit eirmod ipsum amet consetetur. Vero laoreet dolores ipsum nonumy nonumy sea dolor ea kasd dolor diam doming iriure feugiat sed rebum amet kasd. Diam eleifend magna duis amet stet sed amet accusam duo dolores amet et.
Consequat in accusam stet laoreet diam sit et amet illum diam quis euismod nonumy eos vero sea duo. Lorem elitr sed lorem. Et clita rebum diam duo. Amet eros et lorem consetetur liber et dolore in elitr. Ut dolor dolore gubergren erat magna. Autem tempor sed dolore. Nonummy veniam duis consectetuer et magna quis rebum justo lorem et dolor ea sea labore amet velit praesent.