Subject: Is it possible to test a macro argument? From: "Oren Ben-Kiki" <oren@xxxxxxxxxxxxx> Date: Tue, 29 Dec 1998 18:43:13 +0200 |
I've tried to do: <xsl:macro name="MyMacro> <xsl:macro-arg name="MyArg"/> <xsl:choose> <xsl:when test="arg(MyArg)=1"> <xsl:text>First</xsl:text> </xsl:when> <xsl:when test="arg(MyArg)=2"> <xsl:text>Second</xsl:text> </xsl:when> </xsl:choose> </xsl:macro> But XT (the latest) has sternly refused to accept it. From reading the latest draft, it seems that the 'test' attribute of <xsl:when> is a select pattern, only the 'select' attribute of <xsl:value-of> is a string expression. There's an editorial note indicating the name 'test' isn't final, and that maybe it should be a match pattern instead of a select pattern. I feel that a match pattern isn't enough - testing macro arguments is really something which should be possible. Constants, too. Maybe we need to define a separate test expression? I also find it strange that 'expr' was changed to 'select'. It would have been nice if each 'select' was a select pattern, each 'match' was a match pattern, each 'test' was a test expression, and each 'expr' was a string expression... I suppose there was a good reason for this rename - could someone post it? Another question: for each template processing mode, there's an implicit: <xsl:template match="*|/" mode="the-mode"> <xsl:apply-templates/> </xsl:template> Shouldn't it be: <xsl:template match="*|/" mode="the-mode"> <xsl:apply-templates mode="the-mode"/> </xsl:template> Instead? It easy enough to work around, but strange. Is this intentional? Share & Enjoy, Oren Ben-Kiki XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: How do I insert an XSL processi, James Clark | Thread | asynchronous loading of linked cont, Mark D. Anderson |
Re: Another DOM and XSL incompatibi, Tyler Baker | Date | asynchronous loading of linked cont, Mark D. Anderson |
Month |