Claus Kick schrieb:
I am trying to catch a special character with the following style sheet: <xsl:param name="specChar" select="'\u201C'" />
That's the Java syntax. Doesn't work in XML. Use a numerical character reference as per the XML spec. <xsl:param name="specChar" select="'“'" /> in hex, or <xsl:param name="specChar" select="'“'" /> in decimal
<xsl:output indent="yes" method="xml"/> <xsl:strip-space elements="*"/> <xsl:template match="CATALOOM-OPENENGINE/PRODUCTS/PRODUCT/PRODUCTREVISION">
Not knowing your input, I can't be sure, but simply doing match="PRODUCTREVISION" would probably be specific enough.
<xsl:variable name="primKey2"> <xsl:value-of select="substring-before(@primarykey, '/')"/> </xsl:variable>
That's a very bad way of getting the value. Instead, use: <xsl:variable name="primKey2" select="substring-before(@primarykey, '/')"/> Your version creates a so-called "result tree fragment" (RTF), which is inefficient and cumbersome.
<xsl:for-each select="FEATURE/VALUE"> <xsl:variable name="cdata"> <xsl:value-of select="FEATURE/VALUE/text()"/> </xsl:variable>
Same story here. In addition, avoid using the text() node test to get the string value: <xsl:value-of select="FEATURE/VALUE"/> But are you sure your input is FEATURE/VALUE/FEATURE/VALUE?
How do I have to mask a unicode char inside a string inside a stylesheet?
As shown above. Or simply as a literal, if you're using a Unicode encoding and your input device and display support that character. You can learn XSLT by reading XSL-List at Mulberrytech or any good book in XSLT, like, for starters, the Pocket Guide by Evan Lenz. -- Michael Ludwig