Just occurs to me your starting point is HTML so your mileage will definitely 
vary. Sorry. 

Sent from my iPhone

> On Apr 5, 2014, at 9:05 AM, Rob Sargent <rsarg...@xmission.com> wrote:
> 
> If you don't switch over to the style sheet Manuel points us to, then might 
> try something like below which gets include in the actual style sheet ( 
> <xsl:include href="common/bullets.xsl"/>).
> 
> Couple of notes:
> the "ElementConversion" is noise
> your test will be <xsl:when test="name(../../..) = 'li'">
> choose you own actual bullet character, hopefully you're using a modern, 
> complete font
> 
> 
> As I said earlier, they're rendered in a single list, as seen in the calls at 
> the bottom. Luckily I know there are only four levels. If you don't have that 
> knowledge you might have to recurse. In xsl. Oh what fun.
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> xmlns:ec="xalan://com.employer.utilities.ElementConversion"
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> xmlns:xalan="http://xml.apache.org/xslt";>
> 
> <xsl:param name="bulletOffset1">2.3pt</xsl:param>
> <xsl:param name="bulletOffset2">10pt</xsl:param>
> <xsl:param name="bulletOffset3">17pt</xsl:param>
> <xsl:param name="bulletOffset4">25pt</xsl:param>
> <xsl:param name="bulletChar1">•</xsl:param>
> <xsl:param name="bulletChar2">◦</xsl:param>
> <xsl:param name="bulletChar3">▪</xsl:param>
> <xsl:param name="bulletChar4">–</xsl:param>
> 
> <xsl:template match="bullet">
> <!-- we are forced to deduce the indentation level because the editor can 
> shift bullet text
> blocks up and down which would (mostly) break if each bullet knew it's indent 
> level -->
> <xsl:choose>
> <xsl:when test="name(../../..) = 'bullet'">
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset4"/>
> <xsl:with-param name="bullet-char" select="$bulletChar4"/>
> </xsl:call-template>
> </xsl:when>
> <xsl:when test="name(../..) = 'bullet'">
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset3"/>
> <xsl:with-param name="bullet-char" select="$bulletChar3"/>
> </xsl:call-template>
> </xsl:when>
> <xsl:when test="name(..) = 'bullet'">
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset2"/>
> <xsl:with-param name="bullet-char" select="$bulletChar2"/>
> </xsl:call-template>
> </xsl:when>
> <xsl:otherwise>
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset1"/>
> <xsl:with-param name="bullet-char" select="$bulletChar1"/>
> </xsl:call-template>
> </xsl:otherwise>
> </xsl:choose>
> <!-- decend through the bullets -->
> <xsl:apply-templates select="*"/>
> </xsl:template>
> 
> <xsl:template name="render-bullet">
> <xsl:param name="bullet-offset"/>
> <xsl:param name="bullet-char"/>
> <fo:list-item margin-left="{$bullet-offset}">
> <fo:list-item-label end-indent="label-end()">
> <fo:block font-family="ITCStoneSerifCom-Medium" font-weight="normal" 
> font-style="normal">
> <xsl:value-of select="$bullet-char"/>
> </fo:block>
> </fo:list-item-label>
> <xsl:call-template name="bullet-text"/>
> </fo:list-item>
> </xsl:template>
> 
> <xsl:template name="bullet-text">
> <fo:list-item-body start-indent="body-start()">
> <fo:block line-stacking-strategy="font-height" > <!-- 
> keep-together.within-column="always" -->
> <xsl:call-template name="excluded-text-highlight"/>
> <!-- is there really an option here -->
> <xsl:value-of select="text()"/>
> </fo:block>
> </fo:list-item-body>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> 
> And here is the call. This particular caller only goes down 3.
> 
> 
> <xsl:template match="ddx">
> <xsl:if test="count(*) != 0">
> <fo:list-block font-family="ITCStoneSerifCom-Medium" font-size="9pt" 
> provisional-distance-between-starts="8.0pt" 
> provisional-label-separation="0.1pt">
> <xsl:for-each select="*">
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset1"/>
> <xsl:with-param name="bullet-char" select="$bulletChar1"/>
> </xsl:call-template>
> <xsl:for-each select="bullet">
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset2"/>
> <xsl:with-param name="bullet-char" select="$bulletChar2"/>
> </xsl:call-template>
> <xsl:for-each select="bullet">
> <xsl:call-template name="render-bullet">
> <xsl:with-param name="bullet-offset" select="$bulletOffset3"/>
> <xsl:with-param name="bullet-char" select="$bulletChar3"/>
> </xsl:call-template>
> </xsl:for-each>
> </xsl:for-each>
> </xsl:for-each>
> </fo:list-block>
> </xsl:if>
> </xsl:template>
> 
> 
>> On 04/04/2014 09:36 PM, Manuel Mall wrote:
>>> On 4/4/2014 8:25 PM, a3leggeddog wrote:
>>> Hi Terence -
>>> 
>>> Thank you for your quick response!  I thought I tried that as well,
>>> but I will give it another shot.  Do you have an XSL template that
>>> will produce the correct XML-FO from HTML for nested lists?
>>> 
>>> Thanks,
>>> Seth
>> Do a Google search for 'HTML 2 FO' or similar and you'll find a number
>> of solutions. For example Antenna House publishes a free HTML to FO
>> conversion stylesheet, i.e. on
>> http://www.antennahouse.com/XSLsample/XSLsample.htm you see a link to
>> http://www.antennahouse.com/XSLsample/sample-xsl-xhtml2fo/xhtml2fo.xsl
>> half way down the page in the section titled "Stylesheet for XHTML to
>> XSL-FO transformation".
>> 
>> Manuel
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
>> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org

Reply via email to