[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] customizing autoidx.xsl
Hi Scott,
Ah, with chunking you need to have two customization layers, one for
chunking behavior and one for handling element format as for the
single-page output. The customization of the match="index" element needs
to be in the element part, otherwise your customization overrides the
chunking template for index. See:
http://www.sagehill.net/docbookxsl/ChunkingCustomization.html
Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs@sagehill.net
----- Original Message -----
From: "Scott Hudson" <scott.hudson@flatironssolutions.com>
To: "Bob Stayton" <bobs@sagehill.net>
Cc: "Scott Hudson" <scott.hudson@flatironssolutions.com>; "Docbook-Apps"
<docbook-apps@lists.oasis-open.org>
Sent: Wednesday, January 24, 2007 11:12 AM
Subject: Re: [docbook-apps] customizing autoidx.xsl
>I tried that as well, but when I override it, I lose the chunking.
>
> --Scott
>
> Bob Stayton wrote:
>> Hi Scott,
>> Sorry, I misread the templates. You need to also customize the
>> match="index" template in index.xsl. That's where the extra divs are
>> coming from.
>>
>> Bob Stayton
>> Sagehill Enterprises
>> DocBook Consulting
>> bobs@sagehill.net
>>
>>
>> ----- Original Message ----- From: "Scott Hudson"
>> <scottys.log@gmail.com>
>> To: "Bob Stayton" <bobs@sagehill.net>
>> Cc: "Scott Hudson" <scott.hudson@flatironssolutions.com>; "Docbook-Apps"
>> <docbook-apps@lists.oasis-open.org>
>> Sent: Wednesday, January 24, 2007 9:39 AM
>> Subject: Re: [docbook-apps] customizing autoidx.xsl
>>
>>
>>> Yes, I'm using 1.71.1 and using the basic (default) method. I've
>>> customized the template for generate-basic-index, but still getting the
>>> wrapper divs. Here's my customization:
>>>
>>> <xsl:template name="generate-basic-index">
>>> <xsl:param name="scope" select="NOTANODE"/>
>>>
>>> <xsl:variable name="role">
>>> <xsl:if test="$index.on.role != 0">
>>> <xsl:value-of select="@role"/>
>>> </xsl:if>
>>> </xsl:variable>
>>>
>>> <xsl:variable name="type">
>>> <xsl:if test="$index.on.type != 0">
>>> <xsl:value-of select="@type"/>
>>> </xsl:if>
>>> </xsl:variable>
>>>
>>> <xsl:variable name="terms"
>>> select="//indexterm
>>> [count(.|key('letter',
>>> translate(substring(&primary;, 1, 1),
>>> &lowercase;,
>>> &uppercase;))
>>> [&scope;][1]) = 1
>>> and not(@class = 'endofrange')]"/>
>>>
>>> <xsl:variable name="alphabetical"
>>> select="$terms[contains(concat(&lowercase;,
>>> &uppercase;),
>>> substring(&primary;, 1, 1))]"/>
>>>
>>> <xsl:variable name="others"
>>> select="$terms[not(contains(concat(&lowercase;,
>>> &uppercase;),
>>> substring(&primary;, 1,
>>> 1)))]"/>
>>> <index>
>>> <xsl:if test="$others">
>>> <indexdiv>
>>> <title><xsl:call-template name="gentext">
>>> <xsl:with-param name="key" select="'index symbols'"/>
>>> </xsl:call-template>
>>> </title>
>>> <indexentry>
>>> <xsl:apply-templates select="$others[count(.|key('primary',
>>> &primary;)[&scope;][1]) = 1]"
>>> mode="index-symbol-div">
>>> <xsl:with-param name="position" select="position()"/>
>>>
>>> <xsl:with-param name="scope" select="$scope"/>
>>> <xsl:with-param name="role" select="$role"/>
>>> <xsl:with-param name="type" select="$type"/>
>>> <xsl:sort select="translate(&primary;, &lowercase;,
>>> &uppercase;)"/>
>>> </xsl:apply-templates>
>>> </indexentry>
>>> </indexdiv>
>>> </xsl:if>
>>>
>>> <xsl:apply-templates select="$alphabetical[count(.|key('letter',
>>> translate(substring(&primary;, 1, 1),
>>>
>>> &lowercase;,&uppercase;))[&scope;][1]) = 1]"
>>> mode="index-div-basic">
>>> <xsl:with-param name="position" select="position()"/>
>>> <xsl:with-param name="scope" select="$scope"/>
>>> <xsl:with-param name="role" select="$role"/>
>>> <xsl:with-param name="type" select="$type"/>
>>> <xsl:sort select="translate(&primary;, &lowercase;,
>>> &uppercase;)"/>
>>> </xsl:apply-templates>
>>> </index>
>>> </xsl:template>
>>>
>>> On output, I still get:
>>> <div class="index">
>>> <div class="titlepage">
>>> <div>
>>> <div>
>>> <h2 class="title"><a name="d0e6044"> </a>Index
>>> </h2>
>>> </div>
>>> </div>
>>> </div>
>>> <index>
>>> ...
>>>
>>> Best regards,
>>>
>>> --Scott
>>>
>>> Bob Stayton wrote:
>>>> Hi Scott,
>>>> If you are using 1.71.1 or later, it depends on which $index.method
>>>> you
>>>> are using:
>>>>
>>>> $index.method = 'basic', customize 'generate-basic-index' in
>>>> autoidx.xsl.
>>>>
>>>> $index.method = 'kosek', customize 'generate-kosek-index' in
>>>> autoidx-kosek.xsl
>>>>
>>>> $index.method = 'kimber', customize 'generate-kimber-index' in
>>>> autoidx-kimber.xsl
>>>>
>>>>
>>>> Bob Stayton
>>>> Sagehill Enterprises
>>>> DocBook Consulting
>>>> bobs@sagehill.net
>>>>
>>>>
>>>> ----- Original Message ----- From: "Scott Hudson"
>>>> <scott.hudson@flatironssolutions.com>
>>>> To: "Docbook-Apps" <docbook-apps@lists.oasis-open.org>
>>>> Sent: Wednesday, January 24, 2007 8:29 AM
>>>> Subject: [docbook-apps] customizing autoidx.xsl
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> I've needed to generate an index with docbook markup, and have so
>>>>> modified autoidx.xsl to generate docbook elements, rather than the
>>>>> HTML
>>>>> output. I'm also chunking this out as a separate file.
>>>>>
>>>>> For some reason, it is still getting wrapped with some type of
>>>>> titlepage
>>>>> div:
>>>>>
>>>>> <div class="index">
>>>>> <div class="titlepage">
>>>>> <div>
>>>>> <div>
>>>>> <h2 class="title"><a name="d0e6044"> </a>Index
>>>>> </h2>
>>>>> </div>
>>>>> </div>
>>>>> </div>
>>>>> <index>
>>>>> <indexdiv>
>>>>> <title>B</title>
>>>>> <indexentry>
>>>>> <primary>
>>>>> ...
>>>>>
>>>>> Is there a parameter to turn this off, or what template do I need to
>>>>> override to eliminate these div outer wrappers?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> --Scott
>>>>>
>>>>
>>>>
>>>> --------------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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]