OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] suppressing everything but the content of <body>in xhtml output


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
> bobs@sagehill.net
> 
> 
> ----- Original Message ----- From: "Brett Leber" <bleber+@cs.cmu.edu>
> 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:bleber+@cs.cmu.edu] 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 <gia@webde-ag.de>
>>>>      * To: Fredrik Svensson <fred@ludd.luth.se>
>>>>      * 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: docbook-apps-unsubscribe@lists.oasis-open.org
>>>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>>>>
>>>>
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>>
>>
>>
> 
> 
> 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]