xmlgraphics-fop-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a3leggeddog <s...@3ldinc.com>
Subject Re: Nested Bulleted Lists Problem
Date Sat, 05 Apr 2014 01:21:31 GMT
Thanks for the quick response!

Yes, if you have examples, that would be great.  You wouldn't happen to have
an XSLT example?  The one I have produces XML-FO that looks like this:

            <fo:list-block space-before="1em" space-after="1em"
role="html:ul">
                <fo:list-item relative-align="baseline"
provisional-distance-between-starts="0.3cm"
provisional-label-separation="0.3cm" role="html:li"><fo:list-item-label
end-indent="label-end()" text-align="end"
wrap-option="no-wrap"><fo:block><fo:inline font="1em
serif">•</fo:inline></fo:block></fo:list-item-label><fo:list-item-body
start-indent="body-start()" text-indent="0"><fo:block>Item
Number1</fo:block></fo:list-item-body></fo:list-item>
                <fo:list-block space-before="1em" space-after="1em"
role="html:ul">
                    <fo:list-item relative-align="baseline"
provisional-distance-between-starts="0.3cm"
provisional-label-separation="0.3cm" role="html:li"><fo:list-item-label
end-indent="label-end()" text-align="end"
wrap-option="no-wrap"><fo:block><fo:inline font="0.67em monospace"
baseline-shift="0.25em">o</fo:inline></fo:block></fo:list-item-label><fo:list-item-body
start-indent="body-start()" text-indent="0"><fo:block>Sub-Item
1</fo:block></fo:list-item-body></fo:list-item>
                    <fo:list-item relative-align="baseline"
provisional-distance-between-starts="0.3cm"
provisional-label-separation="0.3cm" role="html:li"><fo:list-item-label
end-indent="label-end()" text-align="end"
wrap-option="no-wrap"><fo:block><fo:inline font="0.67em monospace"
baseline-shift="0.25em">o</fo:inline></fo:block></fo:list-item-label><fo:list-item-body
start-indent="body-start()" text-indent="0"><fo:block>Sub-Item
2</fo:block></fo:list-item-body></fo:list-item>
                </fo:list-block>
            </fo:list-block>

The XSL looks like this:



  <xsl:template match="html:ul">
    <fo:list-block xsl:use-attribute-sets="ul">
      <xsl:call-template name="process-common-attributes-and-children"/>
    </fo:list-block>
  </xsl:template>

  <xsl:template match="html:li//html:ul">
    <fo:list-block xsl:use-attribute-sets="ul-nested">
      <xsl:call-template name="process-common-attributes-and-children"/>
    </fo:list-block>
  </xsl:template>

  <xsl:template match="html:ol">
    <fo:list-block xsl:use-attribute-sets="ol">
      <xsl:call-template name="process-common-attributes-and-children"/>
    </fo:list-block>
  </xsl:template>

  <xsl:template match="html:li//html:ol">
    <fo:list-block xsl:use-attribute-sets="ol-nested">
      <xsl:call-template name="process-common-attributes-and-children"/>
    </fo:list-block>
  </xsl:template>

  <xsl:template match="html:ul/html:li">
    <fo:list-item xsl:use-attribute-sets="ul-li">
      <xsl:call-template name="process-ul-li"/>
    </fo:list-item>
  </xsl:template>

  <xsl:template name="process-ul-li">
    <xsl:call-template name="process-common-attributes"/>
    <fo:list-item-label end-indent="label-end()" text-align="end"
wrap-option="no-wrap">
      <fo:block>
        <xsl:variable name="depth" select="count(ancestor::html:ul)"/>
        <xsl:choose>
          <xsl:when test="$depth = 1">
            <fo:inline xsl:use-attribute-sets="ul-label-1">
              <xsl:value-of select="$ul-label-1"/>
            </fo:inline>
          </xsl:when>
          <xsl:when test="$depth = 2">
            <fo:inline xsl:use-attribute-sets="ul-label-2">
              <xsl:value-of select="$ul-label-2"/>
            </fo:inline>
          </xsl:when>
          <xsl:otherwise>
            <fo:inline xsl:use-attribute-sets="ul-label-3">
              <xsl:value-of select="$ul-label-3"/>
            </fo:inline>
          </xsl:otherwise>
        </xsl:choose>
      </fo:block>
    </fo:list-item-label>
    <fo:list-item-body start-indent="body-start()" text-indent="0">
      <fo:block>
        <xsl:apply-templates/>
      </fo:block>
    </fo:list-item-body>
  </xsl:template>

It was seemingly designed for nested lists, so I'm not sure if it's just an
issue with FOP.

Best,
Seth




--
View this message in context: http://apache-fop.1065347.n5.nabble.com/Nested-Bulleted-Lists-Problem-tp40436p40440.html
Sent from the FOP - Users mailing list archive at Nabble.com.

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


Mime
View raw message