Discussion:
procedure element: html rendering question
Tim Arnold
2014-06-17 17:51:24 UTC
Permalink
Using DB5 and the 1.78.1 stylesheets, my 'procedure' element is rendered in
HTML, but the anchors it produces in each 'step' element cause IE display
issues.

The procedure element and its 'step' children render as an ordered list in
HTML. For each step (list item in html), the anchor goes before the
paragraph; in IE that makes a blank line appear after the number, like this:

1.
text starts here. (IE>8) Other browsers seem to handle this fine.

I believe I could fix this if I can put the anchor at the bottom of the
paragraph instead of at the top. I've tried css tweaks with no success.

My question is whether anyone else has run into this, and if the only way
to fix it is to copy the procedure template and move the anchor template
call or if there is a better way.

Example XML:
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
<info><title>TEST</title></info>
<section>
<info><title>Overview</title></info>
<para>
<procedure>
<step xml:id="qx000324">
<para>Invoke the procedure</para>
</step>
<step xml:id="qx000326">
<para>use optimization</para>
</step>
</procedure>
</para>
</section>
</chapter>

Example processing:
xsltproc docbook/xsl-1.78.1/html/onechunk.xsl test.xml

Example output:
<div class="procedure">
<ol class="procedure" type="1">
<li class="step">
<a name="qx000324"></a>
<p>Invoke the procedure</p>
</li>
<li class="step">
<a name="qx000326"></a>
<p>use optimization</p>
</li>
</ol>
</div>
Bob Stayton
2014-06-17 18:24:44 UTC
Permalink
One simple solution is to set the stylesheet param
generate.id.attributes=1. That causes the stylesheet to replace named
anchor elements with id attributes. See if that fixes the problem.

Bob Stayton
Sagehill Enterprises
Post by Tim Arnold
Using DB5 and the 1.78.1 stylesheets, my 'procedure' element is rendered in
HTML, but the anchors it produces in each 'step' element cause IE display
issues.
The procedure element and its 'step' children render as an ordered list in
HTML. For each step (list item in html), the anchor goes before the
1.
text starts here. (IE>8) Other browsers seem to handle this fine.
I believe I could fix this if I can put the anchor at the bottom of the
paragraph instead of at the top. I've tried css tweaks with no success.
My question is whether anyone else has run into this, and if the only way
to fix it is to copy the procedure template and move the anchor template
call or if there is a better way.
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
<info><title>TEST</title></info>
<section>
<info><title>Overview</title></info>
<para>
<procedure>
<step xml:id="qx000324">
<para>Invoke the procedure</para>
</step>
<step xml:id="qx000326">
<para>use optimization</para>
</step>
</procedure>
</para>
</section>
</chapter>
xsltproc docbook/xsl-1.78.1/html/onechunk.xsl test.xml
<div class="procedure">
<ol class="procedure" type="1">
<li class="step">
<a name="qx000324"></a>
<p>Invoke the procedure</p>
</li>
<li class="step">
<a name="qx000326"></a>
<p>use optimization</p>
</li>
</ol>
</div>
Tim Arnold
2014-06-17 18:39:19 UTC
Permalink
hi Bob,
Thanks for that fast response! Because the doc lives with a bunch of other
content that depend on named anchors I don't have a choice (rules from
webmasters);
I would much rather use id attributes if I could.

However, I did check and you are right--it prevents the problem and will be
a great solution for those who can implement it.

If there is no other way I'll make a copy of the procedure template.

thanks,
--Tim
Post by Bob Stayton
One simple solution is to set the stylesheet param
generate.id.attributes=1. That causes the stylesheet to replace named
anchor elements with id attributes. See if that fixes the problem.
Bob Stayton
Sagehill Enterprises
Post by Tim Arnold
Using DB5 and the 1.78.1 stylesheets, my 'procedure' element is rendered in
HTML, but the anchors it produces in each 'step' element cause IE display
issues.
The procedure element and its 'step' children render as an ordered list in
HTML. For each step (list item in html), the anchor goes before the
1.
text starts here. (IE>8) Other browsers seem to handle this fine.
I believe I could fix this if I can put the anchor at the bottom of the
paragraph instead of at the top. I've tried css tweaks with no success.
My question is whether anyone else has run into this, and if the only way
to fix it is to copy the procedure template and move the anchor template
call or if there is a better way.
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
<info><title>TEST</title></info>
<section>
<info><title>Overview</title></info>
<para>
<procedure>
<step xml:id="qx000324">
<para>Invoke the procedure</para>
</step>
<step xml:id="qx000326">
<para>use optimization</para>
</step>
</procedure>
</para>
</section>
</chapter>
xsltproc docbook/xsl-1.78.1/html/onechunk.xsl test.xml
<div class="procedure">
<ol class="procedure" type="1">
<li class="step">
<a name="qx000324"></a>
<p>Invoke the procedure</p>
</li>
<li class="step">
<a name="qx000326"></a>
<p>use optimization</p>
</li>
</ol>
</div>
Loading...