When I write:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:style="http://www.dvdforum.org/2005/ihd#style"
xmlns:state="http://www.dvdforum.org/2005/ihd#state"
xmlns:fo="http://www.dvdforum.org/2005/fo">
<xsl:output method="xml" version="1.0" indent="yes" />
<xsl:attribute-set name="SetPosition">
<xsl:attribute name="position"><xsl:value-of select="@style:position"/></xsl:attribute>
<xsl:attribute name="left"><xsl:value-of select="@style:x"/></xsl:attribute>
<xsl:attribute name="top"><xsl:value-of select="@style:y"/></xsl:attribute>
<xsl:attribute name="width"><xsl:value-of select="@style:width"/></xsl:attribute>
<xsl:attribute name="height"><xsl:value-of select="@style:height"/></xsl:attribute>
<xsl:attribute name="stul"><xsl:value-of select="@stul"/></xsl:attribute>
</xsl:attribute-set>
<xsl:template match="/">
<xsl:for-each select="/body/div">
<xsl:element name="fo:block" use-attribute-sets="SetPosition"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I get:
<block xmlns="http://www.dvdforum.org/2005/fo" position="" left="" top="" width="" height="" stul="red"/>
So only attribute that doesnt use name space got his value...