|
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 |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Please help: section labe, Michael Kay | Thread | Re: [xsl] Please help: section labe, Tony Graham |
| Re: [xsl] Please help: section labe, Nancy Brandt | Date | [xsl] Profiling templates, Peter Hickman |
| Month |