[xsl] match="*:style"

Subject: [xsl] match="*:style"
From: Merico Raffaele <raffaele.merico@xxxxxxx>
Date: Wed, 20 May 2009 15:34:59 +0200
Dear Community

I process HTML/XHTML files passed as input to my XSLT stylesheet. I'm
working with SaxonB 9.1.0.2.
In order to catch the <style/> tag in the HTML/XHTML input file I defined
the following match-rule. 

<xsl:template match="*:style[empty(./*) and normalize-space(./text()) eq
'']">
  <xsl:element name="{node-name(current())}"
namespace="{namespace-uri(current())}">
    <xsl:apply-templates select="@*"/>
      <xslo:value-of select="' '"/>
  </xsl:element>
</xsl:template>

Now I am surprised that above match applies also to style-attributes (i.e.
style="border: 1px solid red;").
I can imagine that this is caused by the star in the match.
I used the star to mask the namespace-prefix in order match style-tags in
the null and in the XHTML namespace (without prefix). 

Can anybody please explain me why this happens? 

Many thanks in advance
Raffaele Merico

Current Thread