- From: G. Ken Holman <gkholman@CanadaMail.com>
- Date: Sat, 12 Sep 1998 08:49:46 -0400
- To: XSL Editors <xsl-editors@w3.org>
I see in [2.7.13] that macros are "parts of templates" ... would it be
possible to add that macros can define templates themselves:
<xsl:define-macro name="list-item-label">
<xsl:choose>
<xsl:when test='ancestor(list[attribute(type)="OL"]
/list[attribute(type)="OL"]'>
<xsl:number format="a"/>
</xsl:when>
<xsl:when test='ancestor(list[attribute(type)="OL"]'>
<xsl:number format="i"/>
</xsl:when>
<xsl:otherwise>
<xsl:number format="1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:define-macro>
<xsl:define-macro name="list-templates">
<xsl:template match='list[attribute(type)="{arg(type)}"]
/li[first-of-type()]'>
<fo:list-item space-before="10pt"
indent-start="{constant(indent-step)}">
<xsl:contents/>
<xsl:process-children/> <!-- contents of the list item -->
</fo:list-item>
</xsl:template>
</xsl:define-macro>
<xsl:invoke name="list-templates">
<xsl:arg name="type" value="OL"/>
<fo:list-item-label>
<fo:invoke macro="list-item-label"/>
</fo:list-item-label>
</xsl:invoke>
<xsl:invoke name="list-templates">
<xsl:arg name="type" value="UL"/>
<fo:list-item-label>
<xsl:text>·</xsl:text>
</fo:list-item-label>
</xsl:invoke>
The above allows me to maintain a single definition of the fo:list-item
attributes across the different list item types of an Ordered List ("OL")
and an UnorderedList ("UL").
........... Ken
--
G. Ken Holman mailto:gkholman@CanadaMail.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, V: +1(613)489-0999
Kars, Ontario CANADA K0A-2E0 F: +1(613)489-0995
Training: http://www.CraneSoftwrights.com/s/schedule.htm
Resources: http://www.CraneSoftwrights.com/s/resources.htm
Shareware: http://www.CraneSoftwrights.com/s/shareware.htm
Received on Saturday, 12 September 1998 08:51:19 UTC