Hi, all!
I'm sure I'm missing something obvious, but I'm staring at this and can't
see why it isn't working.
I have XML like this:
<e eid="e19"><hg><hw>a</hw><hom>1</hom> <vg><var>an</var> before a vowel
sound</vg><infg><inf>a</inf><inf>an</inf></infg></hg><sg><se1><pos>determiner</pos>
<b>1.</b> used when mentioning someone or something for the first time; the
indefinite article. <b>2.</b> one single: <i>a hundred.</i> <b>3.</b>
someone like (the name specified). <b>4.</b> per: <i>typing 60 words a
minute.</i></se1> <etym>Old English.</etym></sg></e>
The template in question looks like this:
<xsl:template match="etym">
<xsl:choose>
<xsl:when test="../sg">
<br /><span
class="etym">ORIGIN:</span> <xsl:apply-templates />
</xsl:when>
<xsl:otherwise>
<tei-ms:etym>
<xsl:text>[</xsl:text>
<xsl:apply-templates />
<xsl:text>] </xsl:text>
</tei-ms:etym>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
I want the "Old English" from the XML to trigger the first condition
because its immediate parent is <sg> -- I
have other cases where <etym> is further down in the hierarchy, and for
those, I want the square brackets
instead. But every time I'm getting the square brackets (the "otherwise"
condition) instead. Am I wrong that
"../sg" should be true if the immediate parent of the context node is <sg>?
What am I missing?
Thanks!
--Chris
----------------------------------------------------------------------------------------
Texterity ~ XML and PDF ePublishing Services
----------------------------------------------------------------------------------------
Chris Loschen, XML Developer
Texterity, Inc.
144 Turnpike Road
Southborough, MA 01772 USA
tel: +1.508.804.3033
fax: +1.508.804.3110
email: loschen(_at_)texterity(_dot_)com
http://www.texterity.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list