|
Subject: Re: [xsl] XSL-FO list with sublist From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Fri, 14 Dec 2007 13:01:35 -0500 |
At the top, generate a list
each goal becomes a list item
it contains a header test (in a block)
if it contains questions, it gets a list (a list-block)
each question becomes a list item
it contains a header text (in a block)
if it contains metrics, it gets a list (a list-block)
each metric becomes a list item
it contains its text <xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
...
</fo:layout-master-set> <fo:page-sequence master-reference="simple">
<fo:flow flow-name="xsl-region-body">
<fo:block> ... </fo:block> <xsl:call-template name="listBlock"/>
<!-- dropping the list into the flow here --> </fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template> <xsl:template name="listBlock">
<fo:list-block>
<xsl:apply-templates select="gqmroot/goal"/>
<!-- each goal gets its own list item -->
</fo:list-block>
</xsl:template> <xsl:template match="goal">
<!-- each goal gets its own list item -->
<fo:list-item>
<fo:list-item-label>
<fo:block/>
</fo:list-item-label>
<fo:list-item-body>
<!-- inside the body, first our header text -->
<fo:block>
<xsl:value-of select="@titleGoal"/>
</fo:block>
<!-- after the header text, we may need a list for our questions -->
<xsl:if test="question">
<fo:list-block>
<xsl:apply-templates select="question"/>
<!-- each question gets its own list item -->
</fo:list-block>
</xsl:if>
</fo:list-item-body>
</fo:list-item>
</xsl:template> <xsl:template match="question">
<!-- similarly, each question gets its own list item -->
<fo:list-item>
<fo:list-item-label>
<fo:block/>
</fo:list-item-label>
<fo:list-item-body>
<!-- inside the body, first our header text -->
<fo:block>
<xsl:value-of select="@titleQuestion"/>
</fo:block>
<!-- after the header text, we may need a list for our metrics -->
<xsl:if test="metric">
<fo:list-block>
<xsl:apply-templates select="metric"/>
<!-- each metric gets its own list item -->
</fo:list-block>
</xsl:if>
</fo:list-item-body>
</fo:list-item>
</xsl:template> <xsl:template match="metric">
<!-- similarly, each metric gets its own list-item -->
<fo:list-item>
<fo:list-item-label>
<fo:block/>
</fo:list-item-label>
<fo:list-item-body>
<fo:block>
<xsl:value-of select="@titleMetric"/>
<xsl:value-of select="unparsed-text(@ChartLink)"
disable-output-escaping="yes"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</xsl:template>I hope this helps, Wendell
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] XSL-FO list with sublist, Lucas Gonçalves Gros | Thread | Re: [xsl] XSL-FO list with sublist, Lucas Gonçalves Gros |
| Re: [xsl] String hashing code, James A. Robinson | Date | Re: [xsl] XSL-FO and unparsed-text(, Wendell Piez |
| Month |