|
Subject: Feature Suggestion - result subtrees as macro arguments From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 12 Jan 1999 14:12:50 -0500 |
Right now, macro arguments are attribute value templates:
<!ELEMENT xsl:arg EMPTY>
<!ATTLIST xsl:arg
name NMTOKEN #REQUIRED
value CDATA #REQUIRED
>
... and their default value can be specified:
<!ELEMENT xsl:macro-arg EMPTY>
<!ATTLIST xsl:macro-arg
name NMTOKEN #REQUIRED
default CDATA #IMPLIED
>
I've come across a situation where I'd like to supply to the macro a
fragment of the result tree as the value of an argument, as in the
following example:
<xsl:macro name="page-layout">
<xsl:macro-arg name="title-block">
<xsl:apply-templates match="title-prefix"/>
<xsl:apply-templates match="title"/>
<xsl:apply-templates match="title-suffix"/>
</xsl:macro-arg>
<xsl:apply-templates select="page-prefix"/>
<xsl:arg name="title-block"/>
<xsl:contents/>
</xsl:macro>
...
<xsl:template match="toc">
<xsl:invoke macro="page-layout">
<xsl:arg name="title-block">
<xsl:text>Table of Contents - </xsl:text>
<xsl:apply-templates select="../prestitle"/>
</xsl:arg>
<xsl:use-arg name="title-block"/>
<xsl:apply-templates mode="toccreation" select="/">
</xsl:invoke>
</xsl:template>
...
<xsl:template match="frame">
<xsl:invoke macro="page-layout">
<xsl:apply-templates/>
</xsl:invoke>
</xsl:template>
In the above, matching a normal frame adds the default "title-block"
subtree to the result tree, while matching the toc frame adds the supplied
"title-block" subtree to the result tree.
Can someone think of a better name than "xsl:use-arg" to mark the injection
of the argument's subtree into the result tree?
............ Ken
--
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Training: http://www.CraneSoftwrights.com/s/schedule.htm
Resources: http://www.CraneSoftwrights.com/s/resources.htm
Shareware: http://www.CraneSoftwrights.com/s/shareware.htm
Next XSL Training (see training link): WWW8 - 1999-05-11
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: GOTCHA!, Oren Ben-Kiki | Thread | How to get an ancestor ...(bis), Éric Riblair |
| Re: Standard API to XSL processors, Oren Ben-Kiki | Date | Re: GOTCHA!, G. Ken Holman |
| Month |