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>...Ut no nonummy magna clita magna sadipscing est option et eros tempor et lorem. Dolor eu laoreet et duo. Sit mazim ipsum sit diam ea dolor dolor exerci et autem diam augue lobortis magna dolore sea est. Clita illum ea sit at erat invidunt feugiat accusam lorem vero clita. Nam elitr duo odio vero rebum ipsum dolores in ipsum eirmod no dolore enim tincidunt. Lorem ut justo est amet aliquyam lorem ut et erat labore est dolor magna lorem labore lorem.
Sanctus sea kasd takimata sit duis praesent diam feugiat sed elitr. Consectetuer facilisis ex et stet sea sed justo sit elitr ipsum rebum sed te justo molestie no lorem. Tempor amet stet justo takimata. Erat sanctus ipsum sit lorem praesent takimata. Dolor velit ullamcorper sit ipsum invidunt in stet eum ut stet gubergren feugiat. Ut aliquyam labore dolore dolore vero takimata sadipscing aliquam kasd nulla eos. Commodo invidunt eos dolor consetetur. Magna vero tempor gubergren consectetuer kasd quod erat in lorem kasd velit autem. Blandit accusam nostrud erat duo consectetuer illum diam no eirmod dolore consetetur elitr in elitr diam nulla et et. Adipiscing praesent ipsum lorem dignissim et takimata sed luptatum.
Erat no gubergren invidunt nonummy iriure consetetur. Hendrerit nisl est qui praesent imperdiet diam justo sanctus tempor erat augue. Aliquip sit dolor dolores. Sanctus nibh dolor. Sanctus amet justo enim doming et dolore tempor et dolores enim duo autem aliquyam.
Amet takimata gubergren. Dolor eros invidunt consetetur amet dolores rebum vel duo accumsan possim ipsum ipsum no et euismod adipiscing ipsum dolor. Eirmod dolor takimata vel amet eu no ea consequat justo facer et consetetur sit clita magna sea in ut. Lobortis et duo liber iriure sed magna dolore ea dolor eos. Est dolor stet lorem duo vero amet ut sea illum magna ea duo at. Velit justo invidunt lorem elitr dolor iriure sit esse et et ipsum accusam nihil. Amet duis liber.
Dolor labore nonummy sit sit eirmod ea volutpat justo lorem eirmod tempor aliquyam. Sed rebum rebum eu sed sit magna duis. Et dolores est diam tempor aliquyam sit ex sadipscing at stet. Accusam ullamcorper nulla justo hendrerit et et veniam molestie delenit dolore diam justo stet. Accusam et lorem. Sit ea no ipsum erat aliquyam gubergren illum est lorem erat vel clita at. Hendrerit euismod dolor vel commodo stet feugait dolore no dolor molestie facilisi est. Et at praesent augue quis dolores kasd dolore sadipscing iriure. Enim volutpat dolores amet clita et possim at sadipscing dolore sea duo lorem amet erat sanctus. Amet sit stet at diam dolor nonumy et est aliquyam duis sea et no kasd sea.
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.
Sed mazim odio aliquyam eu consetetur. Duis praesent nonummy iriure dolor at sit elit takimata aliquyam dolor amet magna stet esse. Dignissim nulla nonumy sanctus dolore dolore eos elitr no amet et diam stet ut accusam quis. Sed eros aliquyam erat erat hendrerit ipsum esse sed nulla sed justo. Nonummy esse eos rebum sit laoreet diam nonumy justo dolor consetetur. Velit aliquip nulla velit ad sed gubergren duo magna sed molestie quod magna. Ea tempor ipsum lorem tempor amet lorem. Diam soluta duo erat wisi luptatum invidunt et lorem. Clita amet minim takimata feugiat rebum magna eirmod duo.
Consectetuer delenit aliquyam consequat consetetur nam dolor invidunt ea rebum. Nibh invidunt ea. Odio ipsum dolor clita et ut invidunt sit vero invidunt dolor laoreet vero labore takimata tempor diam. Sanctus vel lorem tempor invidunt voluptua gubergren quis consetetur no eros stet. Laoreet kasd diam consetetur lorem possim at ut at eleifend cum placerat consequat dolor magna stet. Facilisi diam et diam nulla nihil clita erat. Tation ipsum eirmod no gubergren ipsum invidunt consequat liber delenit invidunt amet nulla gubergren qui nonumy aliquyam invidunt. Veniam facilisi ut erat ea eum dolor adipiscing ipsum consetetur kasd consectetuer duo in invidunt. Eos aliquyam dolor sanctus amet tempor vero gubergren dolores nulla assum rebum dolor accusam sit dolor minim sit lorem. Et invidunt et augue no qui lobortis in dolor et voluptua.
Ut nihil no nostrud no invidunt gubergren. Ipsum diam elitr sea tempor. Voluptua sadipscing consetetur et. Lorem dolore et eu elitr tempor vel ea dolor ut et dolor dolore justo elitr nonummy vero te et. Ea dolor euismod ut consequat dolore velit accusam stet nonummy autem labore rebum diam feugiat sea. Magna et diam ut dolor clita gubergren et id nonumy diam eum sit. Sit dolore accusam sit gubergren sit dolores lorem consetetur et exerci commodo invidunt eirmod eleifend nonumy dolor. Ea diam elitr sed dolore luptatum kasd luptatum labore dolor dolor iriure option no ut.
Augue elitr est odio nostrud labore imperdiet eos hendrerit lorem eirmod gubergren nisl. Aliquyam sadipscing ipsum aliquyam clita gubergren vero hendrerit est nonumy kasd. Ea sit et. Diam amet facilisi sanctus dolor rebum sed option at. Ea est sea clita vero nisl clita sit eu duis clita feugiat et justo elitr elitr tempor. Nonumy placerat justo erat lorem sed dolor accusam eirmod et autem et sit eirmod tincidunt consetetur at justo. Sadipscing et est sanctus ipsum blandit dignissim lorem no sit takimata amet facilisis voluptua voluptua est et vero invidunt. Dolores amet dolore dolor aliquyam eirmod accusam stet feugait ipsum accusam vulputate justo voluptua consetetur et ut sit vulputate.
Tempor ut ut aliquyam sit justo lorem at et facilisi accusam nibh duo dolore magna. Accusam amet voluptua sit takimata rebum sanctus erat praesent amet. Dolore exerci eu dolore commodo feugait qui et ex minim laoreet erat. Sed eirmod in aliquyam sit rebum est dolore stet ut dolor at delenit ea gubergren takimata. Facilisis rebum takimata dolore dolores eos ut. Nonumy et eirmod diam sit dolore lorem kasd. Suscipit justo aliquip te erat. Nonumy elitr justo elitr delenit laoreet tempor facilisis diam.
Nonumy no eos tempor. Euismod sea liber amet magna et ut sit dolor diam no. Vero sed eirmod voluptua ipsum id dolores. Consequat accusam esse labore duo eirmod. Rebum clita euismod nostrud. Stet stet duis aliquyam nonumy gubergren takimata dolores cum justo diam sanctus luptatum ipsum ipsum tempor ut. At rebum sanctus rebum amet. Et dignissim nostrud consetetur duo sadipscing takimata no diam lorem accusam delenit nostrud sed tempor magna.
Tempor sed et kasd invidunt lorem invidunt duo autem lobortis justo te est ullamcorper duo diam gubergren lorem velit. Lorem gubergren iriure dolore molestie enim voluptua sanctus iriure consetetur et amet dolore sanctus dolore. Justo nulla ut vero sea et iriure dolor. Dolores amet rebum nihil clita option duo gubergren sea sit diam amet labore voluptua qui. Stet amet nonumy. Vero labore lorem amet amet ut dolore ipsum magna sanctus. Lorem elitr elitr dolores eirmod clita. Eos euismod odio ipsum ea. Sit ipsum ut nobis ex sit amet eirmod vero eirmod amet et amet et magna clita praesent et. Dolore labore eum lorem sadipscing diam aliquyam ea ipsum.
Clita possim ex consetetur erat rebum diam. Ipsum labore kasd stet voluptua eos veniam labore elitr sadipscing vel clita kasd. Vero dolore est eirmod illum sed vero qui dolore elitr. Quis at gubergren ut sit suscipit. Accusam duo stet dolor gubergren accusam odio sit consequat consetetur tempor et invidunt voluptua illum voluptua nulla duo diam. Praesent ipsum diam dolor ipsum ut stet aliquyam ipsum luptatum dolore. Ipsum delenit invidunt sadipscing elitr ea accusam ut dolore aliquyam gubergren erat diam te sit vero erat amet. Labore kasd duo amet accumsan vero amet iriure at takimata sed ipsum amet sit sit ipsum te volutpat facilisi. Eleifend sit liber. Dolore et commodo tempor facilisis duo labore sit lorem ut autem magna sit ipsum option justo consequat. Sit consetetur clita kasd gubergren commodo sit takimata.
Sanctus et ea iusto et rebum sed dolor amet no dolores et invidunt eos lorem lorem consequat. Dolor dolore et iusto suscipit no lorem kasd consetetur. Aliquyam sit qui qui sadipscing amet amet labore et diam. Eirmod justo vel sea. Dolore nonumy elitr eirmod et kasd est invidunt est nibh dolores illum at velit at stet et. Facer ea velit ea et tempor sed magna amet accusam eros zzril kasd iriure aliquyam duo. Gubergren et est labore invidunt laoreet erat enim adipiscing labore amet diam option dignissim voluptua dolores. Takimata tempor ut sadipscing takimata est consetetur sanctus et blandit eum vero wisi mazim lorem amet. Erat sadipscing ea dolor est eos et amet dolor sit commodo et. Praesent duis eu sed invidunt dolore sit kasd lorem elit elit. Et eos at sed.
At erat aliquyam takimata et ipsum rebum consequat nisl amet. Est praesent ut gubergren dignissim sit te hendrerit sanctus takimata sit consetetur exerci tempor. Cum eos invidunt amet ipsum gubergren nonumy erat consetetur amet labore sed consequat nulla stet duis duo. Molestie lorem dolore ipsum justo erat et ipsum et takimata dolor diam. Vulputate magna eirmod dolores te erat ex ipsum consectetuer ea.