[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Dan,
The trick is to mask the troublesome characters in such a way that once the XML parser gets through with them, they still make XPath.
A character reference masks the literal from the XML syntax so it can be parsed, but parsing turns it into the corresponding character, so it can still be botched down in the XPath.
The usual workaround (and easiest to understand) is to sneak them in as variables. Given variable references in lieu of the characters, the only quotes the XPath parser sees is the delimiters it expects.
So try
and then
At 05:09 PM 3/26/2004, you wrote:
Re: [xsl] escaping quotes in a translate()
Subject: Re: [xsl] escaping quotes in a translate() From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Fri, 26 Mar 2004 17:34:31 -0500 |
Dan,
The trick is to mask the troublesome characters in such a way that once the XML parser gets through with them, they still make XPath.
A character reference masks the literal from the XML syntax so it can be parsed, but parsing turns it into the corresponding character, so it can still be botched down in the XPath.
The usual workaround (and easiest to understand) is to sneak them in as variables. Given variable references in lieu of the characters, the only quotes the XPath parser sees is the delimiters it expects.
So try
<xsl:variable name="apos" select="'''"/> <xsl:variable name="quot" select="'"'"/>
and then
translate( $sourceString, '’”“‘', concat($apos,$quot,$apos,$quot) ) )
I hope that helps, Wendell
At 05:09 PM 3/26/2004, you wrote:
I would like to use the translate function to convert curly quotes to their ASCII counter part, but I'm having troubles getting them accepted. I've always thought that you use double, single then entity references or single double then entity references to deal with nested quoting issues but that isn't working here.
Here is what I want to use:
<xsl:value-of select="normalize-space( translate( $sourceString, '’”“‘', ''"'"' ) )" />
I get errors about unmatched quotes if I change the order or in this case "Expected a )"
I don't just want to delete these characters, I would like to replace them with ASCII ok values.
..dan --------------------------------------------------------------------------- Danny Vint http://www.dvint.com
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] escaping quotes in a translat, Dan Vint | Thread | [xsl] Help needed in recursively co, Sridhar Anupindi |
Re: [xsl] How do I "merge" nodes ba, Joseph Silverman | Date | RE: [xsl] disable-output-escaping, Michael Kay |
Month |