Hi,
If you're writing a template to match any element with a foo attribute
equal to 3, which then applies the template for a bar element within
the matching element having a foo = 3, then I got the following to work:
The output of this simple example is:
firstmatch secondmatch
---- mydata.xml --------
<?xml version="1.0" ?>
<?xml:stylesheet type="text/xsl" href="mystyle.xsl" ?>
<top>
<something foo="3">
<bar frob="firstmatch"/>
</something>
<this foo="3">
<bar frob="secondmatch"/>
</this>
</top>
---- mystyle.xsl --------
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="*[@foo = 3]">
<xsl:apply-templates select="bar"/>
</xsl:template>
<xsl:template match="bar">
<xsl:value-of match="@frob"/>
</xsl:template>
</xsl:stylesheet>
____________________________________________________________________________
Steve | Consulting PM & XML Technology Evangelist | smuench@xxxxxxxxxx
Muench | Java Business Objects Dev Team | geocities.com/~smuench
--- Begin Message ---
This may have a really obvious answer, but I am trying to put the
following into an XSL stylesheet in IE5b2:
<xsl:apply-templates select="bar">
<xsl:template match="@foo=3" />
</xsl:apply-templates>
IE5b2 graciously spits back the following message:
Expected token 'eof' found '='. @foo-->=<--3
This message from my tests seems to clearly be referring to the equals
sign. I have tryed escaping the
equals sign in numerous ways, but to no avail. I have tried double
quotes and apostrophes for various scope
levels of the syntax. Nothing seems to get around the fact that the XML
compiler does not like an equals sign within the body of the value of an
attribute.
Is there some way to get this to pass to XSL that I am missing, or is
this an incompatibility between XML and XSL patterns?
cheers,
erik
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
--- End Message ---