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