|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Feature Suggestion - result subtrees as macro arguments
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








