- <xsl:template match="*[starts-with(@X-NODE, 'wers_')]">\r
- <xsl:element name="{@X-NODE}">\r
- <xsl:apply-templates select="@*|node()" />\r
+ <!-- upper case duplicates for the brain-dead Firefox -->\r
+\r
+ <xsl:template match="@*[starts-with(name(), 'X-ATTR-QNAME-')]">\r
+ <xsl:variable name="attr-id" select="substring-after(name(), 'X-ATTR-QNAME-')" />\r
+ <xsl:attribute name="{.}" namespace="{parent::*/@*[name() = concat('X-ATTR-NS-', $attr-id)]}">\r
+ <xsl:value-of select="parent::*/@*[name() = concat('X-ATTR-VALUE-', $attr-id)]" />\r
+ </xsl:attribute>\r
+ </xsl:template>\r
+\r
+ <xsl:template match="*[@X-ANNOTATION-BOX]">\r
+ <xsl:apply-templates select="node()" />\r
+ </xsl:template>\r
+\r
+ <xsl:template match="*[@X-NODE]">\r
+ <xsl:element name="{@X-NODE}" namespace="{@X-NS}">\r
+ <xsl:apply-templates select="@*" />\r
+ <xsl:apply-templates select="node()" />\r