Ben Trafford wrote:
I'm trying to get a test using contains() to look for an apostrophe.
My XSLT processor (Saxon) keeps telling me that I need whitespace
between attributes.
The fragment I'm working with looks like this:
<xsl:when test="contains($text, '"'"')> some stuff </xsl:when>
I've searched the FAQs, and they report that I'm escaping the
apostrophe correctly.
Well, not exactly: for the parser, the attribute value ends after the
double quote before the escaped '
Do you really want to look for the substring "'" (double quote -
apostrophe - double quote)? If so, try
<xsl:variable name="apos" select='"'"'/>
...
test="contains($text,concat('"',$apos,'"'))"
In the variable's select: the first apostrophe is the XML attribute
value quote, the double quote starts an XPath string, the ' is
the content of the string, then everything is closed.
J.Pietschmann
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list