RE: [xsl] Please help: section labels and other XSL woes

Subject: RE: [xsl] Please help: section labels and other XSL woes
From: Nancy Brandt <nancy_brndt@xxxxxxxxx>
Date: Thu, 22 May 2008 05:12:53 -0700 (PDT)
Hi Michael,

As you see, I don't understand the XSL code - that's
my main problem. 

I hope the following clears the situation out:
<xsl:template match="*" mode="intralabel.punctuation">
  <xsl:text>.</xsl:text>
</xsl:template>

<xsl:template match="*" mode="label.markup">
  <xsl:param name="verbose" select="1"/>
  <xsl:if test="$verbose">
    <xsl:message>
      <xsl:text>Request for label of unexpected
element: </xsl:text>
      <xsl:value-of select="local-name(.)"/>
    </xsl:message>
  </xsl:if>
</xsl:template>

Best regards,
Nancy


> I'm afraid this isn't self-contained enough, for
> example what does this do:
> 
> >       <xsl:apply-templates select=".."
> > mode="intralabel.punctuation"/>
> 
> and what does this do:
> 
> >       <xsl:variable name="format">
> >         <xsl:call-template
> name="autolabel.format">
> >           <xsl:with-param name="format"
> > select="$section.autolabel"/>
> >         </xsl:call-template>
> >       </xsl:variable>
> 
> I think you'd be better off on a DocBook list.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> 
> > -----Original Message-----
> > From: Nancy Brandt [mailto:nancy_brndt@xxxxxxxxx] 
> > Sent: 22 May 2008 12:07
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: RE: [xsl] Please help: section labels and
> other XSL woes
> > 
> > Ok, so I'll dare to paste a code snippet that
> handles the 
> > section labels + label separators
> > :
> > <xsl:template match="section" mode="label.markup">
> >   <!-- if this is a nested section, label the
> parent
> > -->
> >   <xsl:if test="local-name(..) = 'section'">
> >     <xsl:variable name="parent.section.label">
> >       <xsl:call-template
> name="label.this.section">
> >         <xsl:with-param name="section"
> select=".."/>
> >       </xsl:call-template>
> >     </xsl:variable>
> >     <xsl:if test="$parent.section.label != '0'">
> >       <xsl:apply-templates select=".."
> > mode="label.markup"/>
> >       <xsl:apply-templates select=".."
> > mode="intralabel.punctuation"/>
> >     </xsl:if>
> >   </xsl:if>
> > 
> >   <!-- if the parent is a component, maybe label
> that too -->
> >   <xsl:variable name="parent.is.component">
> >     <xsl:call-template name="is.component">
> >       <xsl:with-param name="node" select=".."/>
> >     </xsl:call-template>
> >   </xsl:variable>
> > 
> >   <!-- does this section get labelled? -->
> >   <xsl:variable name="label">
> >     <xsl:call-template name="label.this.section">
> >       <xsl:with-param name="section" select="."/>
> >     </xsl:call-template>
> >   </xsl:variable>
> > 
> >   <xsl:if
> > test="$section.label.includes.component.label != 0
> >                 and $parent.is.component != 0">
> >     <xsl:variable name="parent.label">
> >       <xsl:apply-templates select=".."
> > mode="label.markup"/>
> >     </xsl:variable>
> >     <xsl:if test="$parent.label != ''">
> >       <xsl:apply-templates select=".."
> > mode="label.markup"/>
> >       <xsl:apply-templates select=".."
> > mode="intralabel.punctuation"/>
> >     </xsl:if>
> >   </xsl:if>
> > 
> > <!--
> >   <xsl:message>
> >     test: <xsl:value-of select="$label"/>,
> <xsl:number 
> > count="section"/>
> >   </xsl:message>
> > -->
> > 
> >   <xsl:choose>
> >     <xsl:when test="@label">
> >       <xsl:value-of select="@label"/>
> >     </xsl:when>
> >     <xsl:when test="$label != 0">      
> >       <xsl:variable name="format">
> >         <xsl:call-template
> name="autolabel.format">
> >           <xsl:with-param name="format"
> > select="$section.autolabel"/>
> >         </xsl:call-template>
> >       </xsl:variable>
> >       <xsl:number format="{$format}"
> count="section"/>
> >     </xsl:when>
> >   </xsl:choose>
> > </xsl:template>
> > 
> > If the last number is not a parent, why the dot is
> added after it? 
> > 
> > Regarding the TOC in parts: I didn't find a piece
> of code 
> > that is dedicated to generating the TOC in parts.
> > 
> > Thanks for any advice!
> > 
> > Nancy

Current Thread