Why aren't rules matched with "*"?

Subject: Why aren't rules matched with "*"?
From: Charles Cantrell <chc@xxxxxxxxxxx>
Date: Mon, 17 Jul 2000 08:46:52 -0500
I have the following rule in my xsl stylesheet.

<xsl:template match="Para">
  <p">
    <xsl:apply-templates
select="Menu|Table|WindowID|Illustration|Prompt|ErrMsg|text()"/>
  </p>
</xsl:template>

and it successfully matches and applies rules for each of the templates
specified in the "select" expression. For example, the following rule for
"Menu" is matched:

<xsl:template match="Menu">
  <xsl:if test="contains(.,'1,1,4,1')">
    THIS IS <i>REALLY</i> MENU 1,4,1,1
  </xsl:if>
  <strong style="font-family: arial; color:green"><xsl:value-of
select="text()"/></strong>
</xsl:template>

However, if I change the rule to:

<xsl:template match="Para">
  <p>
    <xsl:apply-templates select="*"/>
  </p>
</xsl:template>

then no templates are matched. 

Why aren't the Menu, Table and so on rules matched, as well as others? I
thought that the "*" was a universal selector, and so should get everything.
What is it that I don't understand here. Thanks.


Charles Cantrell
Information Engineer
Ontario Systems Corporation
1150 West Kilgore Avenue
Muncie, IN 47305

(765) 751-7000
 


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


Current Thread