List Info

Thread: Novice questions (repost)




Novice questions (repost)
user name
2007-01-15 08:21:42
Dear DocBook users,

This is my second attempt at posting these questions; I
believe that
my first attempt ended up as a reply to a previous posting.

If you believe that this forum is out-of-scope for the
questions I
raise, please let me know, and I'll try to find help
elsewhere.

First of all, these are real novice questions, but I hope
some of you
will have the time to provide some feedback to my
questions:

1. Using the style sheet

    
/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl

   DocBook generates html files where the whole string ass.
with a
   figure title gets formatted in bold. I prefer: Figure +
number in
   bold and the caption text in roman, eg.

     <b>Figure 1</b>: Blah. blah.

   Here's my approach for dealing with this from a user
supplied style
   sheet:

  <xsl:template
name="formal.object.heading">
    ...
    <p class="title">
      <xsl:choose>
        <xsl:when
test="contains($title,'Figure')">
          <b>
            <xsl:value-of
select="substring-before($title,'.')"/>
          </b>:
          <xsl:value-of
select="substring-after($title,'.')"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$title"/>
        </xsl:otherwise>
      </xsl:choose>
    </p>
  </xsl:template>

  It works, but I am starting to choose a wrong track here?

  2. For the html representation of my documentation, I need
to insert
     a graphical header and the beginning and end of each
sect1 <div>
     to achive a rounded appearance of the block. Something
along the
     lines:

       <div class="sect1" lang="en"
xml:lang="en">
         <div id="contentUpper">
           <img
src="images/main_center_header_660px.png"
alt="" />
         </div>
         ...
         <div id="contentLower">
           <img
src="images/main_center_footer_660px.png"
alt="" />
         </div>
       </div>

     It took me 5 min. to write a Python script that uses
regular
     expression for matching and inserting these items - but
are there
     a cleaner style sheet based solution? I tried fiddling
with

     <xsl:template match="sect1">

     but that completely messes up the chunking.

  3. At some time soon, I will have to start caring about
print as
     well, i.e. PDF reps. Do you have any suggestions of
the
     postprocessors that I should use (commercial or free).
Its
     imperative that they can handle MathML.

Thanks for taking your time to read this. If you have any
feedback,
please let me know.

Best, Mads


------------------------------------------------------------
---------
To unsubscribe, e-mail: docbook-apps-unsubscribelists.oasis-open.org
For additional commands, e-mail: docbook-apps-helplists.oasis-open.org


Re: Novice questions (repost)
user name
2007-01-15 12:26:04
Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobssagehill.net


----- Original Message ----- 
From: "Mads Ipsen" <mpiosc.kiku.dk>
To: <docbook-appslists.oasis-open.org>
Sent: Monday, January 15, 2007 6:21 AM
Subject: [docbook-apps] Novice questions (repost)


> Dear DocBook users,
>
> This is my second attempt at posting these questions; I
believe that
> my first attempt ended up as a reply to a previous
posting.
>
> If you believe that this forum is out-of-scope for the
questions I
> raise, please let me know, and I'll try to find help
elsewhere.
>
> First of all, these are real novice questions, but I
hope some of you
> will have the time to provide some feedback to my
questions:
>
> 1. Using the style sheet
>
>    
/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl
>
>   DocBook generates html files where the whole string
ass. with a
>   figure title gets formatted in bold. I prefer: Figure
+ number in
>   bold and the caption text in roman, eg.
>
>     <b>Figure 1</b>: Blah. blah.
>
>   Here's my approach for dealing with this from a user
supplied style
>   sheet:
>
>  <xsl:template
name="formal.object.heading">
>    ...
>    <p class="title">
>      <xsl:choose>
>        <xsl:when
test="contains($title,'Figure')">
>          <b>
>            <xsl:value-of
select="substring-before($title,'.')"/>
>          </b>:
>          <xsl:value-of
select="substring-after($title,'.')"/>
>        </xsl:when>
>        <xsl:otherwise>
>          <xsl:value-of
select="$title"/>
>        </xsl:otherwise>
>      </xsl:choose>
>    </p>
>  </xsl:template>
>
>  It works, but I am starting to choose a wrong track
here?
>

This is a bit hazardous for two reasons: it selects the text
based on the 
".", but a figure number might be 3.2., in which
case it doesn't get it 
right. Also, using xsl:value-of removes any markup in the
processed $title, 
so you could lose any subscript/superscript markup, internal
italic, etc.

The object.title.markup mode used in formal.object.heading
gets a gentext 
template from the locale collection and fills in the number
and title. I 
would suggest customizing the gentext string for figure
title to remove the 
title, and then using mode="title.markup" in this
template to restore the 
title outside the <b>.  Something like this:

This part customizes the gentext template:

<xsl:param name="local.l10n.xml"
select="document('')"/>
<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
  <l:l10n language="en">
   <l:context name="title">
     <l:template name="figure"
text="Figure&#160;%n.&#160;"/>
   </l:context>
  </l:l10n>
</l:i18n>

This is the customized formal.object.heading:

<xsl:template name="formal.object.heading">
  <xsl:param name="object"
select="."/>
  <xsl:param name="title">
    <xsl:apply-templates select="$object"
mode="object.title.markup">
      <xsl:with-param name="allow-anchors"
select="1"/>
    </xsl:apply-templates>
  </xsl:param>

  <p class="title">
    <xsl:choose>
      <xsl:when test="self::figure">
        <b>
          <xsl:copy-of select="$title"/>
        </b>
        <xsl:apply-templates select="."
mode="title.markup"/>
      </xsl:when>
      <xsl:otherwise>
        <b>
          <xsl:copy-of select="$title"/>
        </b>
      </xsl:otherwise>
    </xsl:choose>
  </p>

</xsl:template>

>  2. For the html representation of my documentation, I
need to insert
>     a graphical header and the beginning and end of
each sect1 <div>
>     to achive a rounded appearance of the block.
Something along the
>     lines:
>
>       <div class="sect1"
lang="en" xml:lang="en">
>         <div id="contentUpper">
>           <img
src="images/main_center_header_660px.png"
alt="" />
>         </div>
>         ...
>         <div id="contentLower">
>           <img
src="images/main_center_footer_660px.png"
alt="" />
>         </div>
>       </div>
>
>     It took me 5 min. to write a Python script that
uses regular
>     expression for matching and inserting these items -
but are there
>     a cleaner style sheet based solution? I tried
fiddling with
>
>     <xsl:template match="sect1">
>
>     but that completely messes up the chunking.

Customizing the template for sect1 is the right way to go,
but you need to 
pay careful attention to the sequence of xsl:imports used. 
There are 
actually two templates matching on sect1. The original
template in 
sections.xsl formats the section content.  The extra
template in 
chunk-code.xsl handles putting the formatted content into a
chunked file. 
Your customization messes up the latter process without
affecting the 
former.  This reference describes how to set up a two-stage
import process 
so you can change the formatting template without affecting
the chunking 
template:

http://www.sagehill.net/docbookxsl/ChunkingCustomiz
ation.html

>
>  3. At some time soon, I will have to start caring
about print as
>     well, i.e. PDF reps. Do you have any suggestions of
the
>     postprocessors that I should use (commercial or
free). Its
>     imperative that they can handle MathML.
>
> Thanks for taking your time to read this. If you have
any feedback,
> please let me know.
>
> Best, Mads
>
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: docbook-apps-unsubscribelists.oasis-open.org
> For additional commands, e-mail: docbook-apps-helplists.oasis-open.org
>
>
> 



------------------------------------------------------------
---------
To unsubscribe, e-mail: docbook-apps-unsubscribelists.oasis-open.org
For additional commands, e-mail: docbook-apps-helplists.oasis-open.org


Re: Novice questions (repost)
user name
2007-01-19 17:16:32
Dear Ron and Bob,

Thanks for reading and giving elobarate answers my
questions.

Best, mads

On Mon, 15 Jan 2007, Bob Stayton wrote:

>
> Bob Stayton
> Sagehill Enterprises
> DocBook Consulting
> bobssagehill.net
>
>
> ----- Original Message -----
> From: "Mads Ipsen" <mpiosc.kiku.dk>
> To: <docbook-appslists.oasis-open.org>
> Sent: Monday, January 15, 2007 6:21 AM
> Subject: [docbook-apps] Novice questions (repost)
>
>
> > Dear DocBook users,
> >
> > This is my second attempt at posting these
questions; I believe that
> > my first attempt ended up as a reply to a previous
posting.
> >
> > If you believe that this forum is out-of-scope for
the questions I
> > raise, please let me know, and I'll try to find
help elsewhere.
> >
> > First of all, these are real novice questions, but
I hope some of you
> > will have the time to provide some feedback to my
questions:
> >
> > 1. Using the style sheet
> >
> >    
/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl
> >
> >   DocBook generates html files where the whole
string ass. with a
> >   figure title gets formatted in bold. I prefer:
Figure + number in
> >   bold and the caption text in roman, eg.
> >
> >     <b>Figure 1</b>: Blah. blah.
> >
> >   Here's my approach for dealing with this from a
user supplied style
> >   sheet:
> >
> >  <xsl:template
name="formal.object.heading">
> >    ...
> >    <p class="title">
> >      <xsl:choose>
> >        <xsl:when
test="contains($title,'Figure')">
> >          <b>
> >            <xsl:value-of
select="substring-before($title,'.')"/>
> >          </b>:
> >          <xsl:value-of
select="substring-after($title,'.')"/>
> >        </xsl:when>
> >        <xsl:otherwise>
> >          <xsl:value-of
select="$title"/>
> >        </xsl:otherwise>
> >      </xsl:choose>
> >    </p>
> >  </xsl:template>
> >
> >  It works, but I am starting to choose a wrong
track here?
> >
>
> This is a bit hazardous for two reasons: it selects the
text based on the
> ".", but a figure number might be 3.2., in
which case it doesn't get it
> right. Also, using xsl:value-of removes any markup in
the processed $title,
> so you could lose any subscript/superscript markup,
internal italic, etc.
>
> The object.title.markup mode used in
formal.object.heading gets a gentext
> template from the locale collection and fills in the
number and title. I
> would suggest customizing the gentext string for figure
title to remove the
> title, and then using mode="title.markup" in
this template to restore the
> title outside the <b>.  Something like this:
>
> This part customizes the gentext template:
>
> <xsl:param name="local.l10n.xml"
select="document('')"/>
> <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
>   <l:l10n language="en">
>    <l:context name="title">
>      <l:template name="figure"
text="Figure&#160;%n.&#160;"/>
>    </l:context>
>   </l:l10n>
> </l:i18n>
>
> This is the customized formal.object.heading:
>
> <xsl:template
name="formal.object.heading">
>   <xsl:param name="object"
select="."/>
>   <xsl:param name="title">
>     <xsl:apply-templates select="$object"
mode="object.title.markup">
>       <xsl:with-param name="allow-anchors"
select="1"/>
>     </xsl:apply-templates>
>   </xsl:param>
>
>   <p class="title">
>     <xsl:choose>
>       <xsl:when test="self::figure">
>         <b>
>           <xsl:copy-of
select="$title"/>
>         </b>
>         <xsl:apply-templates select="."
mode="title.markup"/>
>       </xsl:when>
>       <xsl:otherwise>
>         <b>
>           <xsl:copy-of
select="$title"/>
>         </b>
>       </xsl:otherwise>
>     </xsl:choose>
>   </p>
>
> </xsl:template>
>
> >  2. For the html representation of my
documentation, I need to insert
> >     a graphical header and the beginning and end
of each sect1 <div>
> >     to achive a rounded appearance of the block.
Something along the
> >     lines:
> >
> >       <div class="sect1"
lang="en" xml:lang="en">
> >         <div id="contentUpper">
> >           <img
src="images/main_center_header_660px.png"
alt="" />
> >         </div>
> >         ...
> >         <div id="contentLower">
> >           <img
src="images/main_center_footer_660px.png"
alt="" />
> >         </div>
> >       </div>
> >
> >     It took me 5 min. to write a Python script
that uses regular
> >     expression for matching and inserting these
items - but are there
> >     a cleaner style sheet based solution? I tried
fiddling with
> >
> >     <xsl:template match="sect1">
> >
> >     but that completely messes up the chunking.
>
> Customizing the template for sect1 is the right way to
go, but you need to
> pay careful attention to the sequence of xsl:imports
used.  There are
> actually two templates matching on sect1. The original
template in
> sections.xsl formats the section content.  The extra
template in
> chunk-code.xsl handles putting the formatted content
into a chunked file.
> Your customization messes up the latter process without
affecting the
> former.  This reference describes how to set up a
two-stage import process
> so you can change the formatting template without
affecting the chunking
> template:
>
> http://www.sagehill.net/docbookxsl/ChunkingCustomiz
ation.html
>
> >
> >  3. At some time soon, I will have to start caring
about print as
> >     well, i.e. PDF reps. Do you have any
suggestions of the
> >     postprocessors that I should use (commercial
or free). Its
> >     imperative that they can handle MathML.
> >
> > Thanks for taking your time to read this. If you
have any feedback,
> > please let me know.
> >
> > Best, Mads
> >
> >
> >
------------------------------------------------------------
---------
> > To unsubscribe, e-mail:
docbook-apps-unsubscribelists.oasis-open.org
> > For additional commands, e-mail:
docbook-apps-helplists.oasis-open.org
> >
> >
> >
>
>
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: docbook-apps-unsubscribelists.oasis-open.org
> For additional commands, e-mail: docbook-apps-helplists.oasis-open.org
>
>

+---------------------------------+-------------------------
+
| Mads Ipsen                      |                        
|
| Dept. of Chemistry              | phone:     +45-35320220
|
| H.C.Ørsted Institute            | fax:       +45-35320322
|
| Universitetsparken 5            |                        
|
| DK-2100 Copenhagen Ø, Denmark   | mpiosc.kiku.dk         |
+---------------------------------+-------------------------
+

------------------------------------------------------------
---------
To unsubscribe, e-mail: docbook-apps-unsubscribelists.oasis-open.org
For additional commands, e-mail: docbook-apps-helplists.oasis-open.org


[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )