Bob,
Thanks for the reply. I would say it's commonly done, but that is only
my suspicion based on what I've seen on the Web.
"Naked HTML" makes sense, although it doesn't convey that the output is
an HTML fragment. (Plus some identify "naked" HTML as HTML with no CSS.)
I like the explicit "content-of-body" or "body-only", or the Tidy
parameter "show-body-only".
Your XSL works, but I get the following at the top of the file, which
I'd also like to suppress:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE div PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\
How can I do that?
Thanks!
Brett
On 6/15/2007 5:47 PM, Bob Stayton wrote:
Hi,
It's possible with customization. If it is commonly
done, it could be incorporated as a feature. Got a
name for this? Naked HTML?
You will need to customize the template that generates the
HTML wrapper elements. If you are using the nonchunking
stylesheet, you want to customize the template with
mode="process.root" in html/docbook.xsl. If you are
using the chunking stylesheet, you need customize the template
named chunk-element-content in html/chunk-common.xsl.
In both cases, you want to eliminate all those parts of the
template that output the HTML elements you do not want.
If you want to eliminate just the HEAD, then remove the
literal <head> and </head> tags and their content. If you
want completely bare content, then remove the <html>,
<head>, and <body> tags, as well as the template calls
that fill the <head> element and generate the header
and footer. There will not be much left. For example,
process.root could end up looking like the following:
<xsl:template match="*" mode="process.root">
<xsl:call-template name="root.messages"/>
<xsl:apply-templates select="."/>
</xsl:template>
Bob Stayton
Sagehill Enterprises
DocBook Consulting
[EMAIL PROTECTED]
----- Original Message ----- From: "Brett Leber" <[EMAIL PROTECTED]>
To: <docbook-apps@lists.oasis-open.org>
Sent: Friday, June 15, 2007 2:01 PM
Subject: Re: [docbook-apps] suppressing everything but the content of
<body> in xhtml output
I'm a little bit disappointed that there weren't any more responses to
this question (besides Dick's very useful suggestion).
Do most people publishing DocBook in (X)HTML use the output as the
entire page page on the server? I would think the opposite, that most
people would *include* the docbook output in the templating system of
a site.
Tidy is one way forward. But can't we do a little better by outputting
only the useful content (the content of the body element, most likely)
for inclusion in a page?
Thanks,
Brett
On 6/12/2007 3:24 PM, Dick Hamilton wrote:
Brett,
I needed to do the same thing, but I cheated and used tidy
with the following configuration file:
show-body-only: yes
output-xhtml: yes
You can also merge <divs> and clean up other artifacts
pretty easily.
I'm sure there's a way to do this in the transform, but if
you need a quick fix, tidy works pretty well. If you're not
familiar with tidy, check out tidy.sourceforge.net.
Dick Hamilton
-----Original Message-----
From: Brett Leber [mailto:[EMAIL PROTECTED] Sent: Tuesday, June
12, 2007 1:05 PM
To: docbook-apps@lists.oasis-open.org
Subject: [docbook-apps] suppressing everything but the content of
<body> in xhtml output
Hello,
I'd like to output only the content of the xhtml document's <body>
(ie, no <html>, <head>, or <body> tags). I found an old post that
seemed to be what I needed, but the XSL customization didn't work
for me (granted, it's 5 years old):
Subject: Re: DOCBOOK-APPS: Removing <html>,<head> & <body>
* From: Gisbert Amm <[EMAIL PROTECTED]>
* To: Fredrik Svensson <[EMAIL PROTECTED]>
* Date: Wed, 04 Sep 2002 10:21:26 +0200
> Currently the HTML head stuff is output by
> this template in html/docbook.xsl:
>
> <xsl:template match="*" mode="process.root">
>
> If you only want to modify this for articles,
> you could add a template in mode "process.root"
> to your html customization layer:
> <xsl:template match="article" mode="process.root">
> <xsl:apply-templates select="."/>
> </xsl:template>
> Then it will not output the <head><body> stuff, but
> it will process everything in the document
> as html.
I'm using the DocBook 5 stylesheets, and xhtml/docbook.xsl. Any hints?
thanks,
Brett
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]