This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Matching attributes that contain both &pos; and "
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: Matching attributes that contain both &pos; and "
- From: "Kaganovich, Yevgeniy (Eugene)" <ykaganovich at netfish dot com>
- Date: Thu, 7 Sep 2000 14:07:57 -0700
- Reply-To: xsl-list at mulberrytech dot com
From what I understand, ' and " get expanded by the xml pars3er
before the processor ever sees them, so they can't be used to solve this
particular problem.
To work around, you can define a variable that contains the string you want
to use in the XPath expression:
<xsl:variable name="my_name"> "x" 'a z</xsl:variable>
<xsl:template match="channel/location[@name=$my_name]">
<xsl:value-of select="@name"/>
</xsl:template>
You may need to play with it to get the white spaces handled correctly, I'm
not sure how you want to treat them...
- Eugene
: -----Original Message-----
: From: Paul_Dick@lotus.com [mailto:Paul_Dick@lotus.com]
: Sent: Thursday, September 07, 2000 12:55 PM
: To: xsl-list@mulberrytech.com
: Subject: Matching attributes that contain both &pos; and "
:
:
: The xpath states in section 1:
: To avoid a quotation mark in an expression being interpreted
: by the XML
: processor as terminating the attribute value the quotation mark can be
: entered as a character reference (" or ').
: Alternatively, the
: expression can use single quotation marks if the XML
: attribute is delimited
: with double quotation marks or vice-versa.
:
: However the following example proves troublesome for XT, Saxon
: and Xalan. All of them generate an error.
: --XML Source:--
: <?xml version="1.0"?>
: <channel>
: <location name=' "x" 'a z'/>
: </channel>
:
: --XSLT Stylesheet:--
: <?xml version="1.0"?>
: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
: version="1.0">
:
: <xsl:template match="/">
: <xsl:apply-templates/>
: </xsl:template>
:
: <xsl:template match="channel/location[@name=' "x" 'a z']">
: <xsl:value-of select="@name"/>
: </xsl:template>
:
: </xsl:stylesheet>
:
: This might be a flaw with the spec, but given that it isn't,
: does anyone
: have a work around for how to match this attribute.
:
: Paul
:
:
: XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
:
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list