Given the following document:
<foo>
<object>
<property name="value"> <!-- MATCH THIS NODE -->
<string>alpha</string>
</property>
<property name="name">
<string>$A$</string>
</property>
</object>
<object>
<property name="value">
<string>bravo</string>
</property>
<property name="name">
<string>$B$</string>
</property>
</object>
</foo>
and a stylesheet based on the identity transform:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- HAVING PROBLEMS HERE -->
<xsl:template match="property[@name='value'][../property[@name='name']/string='$A$']">
Replace with text!
</xsl:template>
</xsl:stylesheet>
What predicates would I use if I want to match node indicated on the original document when I need to key off the contents of the sibling property/string element (the string $A$)?