Re: Use of macro-argument

Subject: Re: Use of macro-argument
From: ht@xxxxxxxxxxxxxxx (Henry S. Thompson)
Date: 10 Dec 1998 17:19:21 +0000
Michel Goossens <Michel.Goossens@xxxxxxx> writes:

> [accessing macro arguments]

Use xsl:value-of again.

The following works for me

Style sheet:
--------------
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/TR/WD-xsl' xmlns:fo='http://www.w3.org/TR/WD-xsl/FO' result-ns='fo' indent-result='yes'>
<xsl:define-macro name="listitem">
  <xsl:macro-arg name="itemtext"/>
  <fo:list-item>
   <fo:list-item-label font-style="italic">
    <xsl:value-of select='arg(itemtext)'/><xsl:text>:</xsl:text>
   </fo:list-item-label>
   <fo:list-item-body>
    <xsl:contents/>
   </fo:list-item-body>
  </fo:list-item>
</xsl:define-macro>

<xsl:template match='letter'>
  <xsl:invoke macro="listitem">
    <xsl:arg name="itemtext" value="To"/>
     <xsl:value-of select="to"/>
  </xsl:invoke>
</xsl:template>

</xsl:stylesheet>
-----------

Input file:
-----------
<?xml version='1.0'?>
<letter>
 <to>Robin Hood</to>
</letter>
-----------

XT output:
-----------
<fo:list-item xmlns:fo="http://www.w3.org/TR/WD-xsl/FO";>
<fo:list-item-label font-style="italic">To:</fo:list-item-label>
<fo:list-item-body>Robin Hood</fo:list-item-body>
</fo:list-item>
-----------

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@xxxxxxxxxxxxxxx
		     URL: http://www.ltg.ed.ac.uk/~ht/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread