You are thinking of xmlns as an attribute with scope .
that's the wrong way to think of it.
Just think of the namespace as part of the name.
<rdf:RDF
xmlns="{$prefix}#"
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
You don't care about $prefix here, so just do
<rdf:RDF
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<xsl:element name="@owls:class">
but you want this to be in the namespace so
<xsl:element name="@owls:class" namespace="{$prefix}#">
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list