hi Bob,
Thanks for that info. It is pretty interesting to see how the class
attributes are handled.
Your suggestion is working for me.
thanks,
--Tim



On Thu, Feb 20, 2014 at 12:29 PM, Bob Stayton <[email protected]> wrote:

> Hi Tim,
> You can turn off many of the class attributes, but not all.  Many of the
> class attributes are generated by applying templates in
> mode="class.attribute" using this template from html/html.xsl:
>
> <xsl:template match="*" mode="class.attribute">
>   <xsl:param name="class" select="local-name(.)"/>
>   <!-- permit customization of class attributes -->
>   <!-- Use element name by default -->
>   <xsl:variable name="class.value">
>     <xsl:apply-templates select="." mode="class.value">
>       <xsl:with-param name="class" select="$class"/>
>     </xsl:apply-templates>
>   </xsl:variable>
>
>   <xsl:if test="string-length(normalize-space($class.value)) != 0">
>     <xsl:attribute name="class">
>       <xsl:value-of select="$class.value"/>
>     </xsl:attribute>
>   </xsl:if>
> </xsl:template>
>
> As you can see, if $class.value is empty, then no class attribute is
> generated.  So in your customization, you should be able to do this to turn
> them off:
>
> <xsl:template match="*" mode="class.value"/>
>
> and then add templates in that mode as needed for the elements you want to
> have class attributes.
>
> Unfortunately, this will not control all the class attributes because many
> are still hardcoded in the stylesheet at this point.  You should be able to
> control most of the major elements, though.
>
> Bob Stayton
> Sagehill Enterprises
> [email protected]
>
>
> On 2/20/2014 6:55 AM, Tim Arnold wrote:
>
>> hi, I would like to completely control the class attributes in the
>> generated html output.
>> I'm using the DocBook 1.78.1 stylesheets.
>> Here is an example of what I'm doing. My document (name=listtest.xml):
>>
>> <chapter xmlns="http://docbook.org/ns/docbook"; version="5.0"
>> xml:id="prcc">
>>    <info><title>The Title</title></info>
>>    <para>
>>      <itemizedlist>
>>        <listitem>
>>          <para>one item</para>
>>        </listitem>
>>      </itemizedlist>
>>    </para>
>> </chapter>
>>
>> The command:
>> xsltproc --stringparam css.decoration 0 /path/xsl-1.78.1/html/docbook.xsl
>> listtest.xml
>>
>> The output (snippet):
>> <ul class="itemizedlist" type="disc">
>>    <li class="listitem"><p>one item</p></li>
>> </ul>
>>
>> I don't want any of the class attributes in the output because I will
>> generate my own with a set of templates like this:
>> <xsl:template match="d:listitem[@remap='stmt']" mode="class.value">
>>    <xsl:value-of select="'stmt'" />
>> </xsl:template>
>>
>> I can't figure out what I'm doing wrong. Is there a way to turn off the
>> class attributes?
>> thanks,
>> --Tim Arnold
>>
>>

Reply via email to