[xsl] Parent of context node

Subject: [xsl] Parent of context node
From: Chris Loschen <loschen@xxxxxxxxxxxxx>
Date: Thu, 22 May 2003 16:30:09 -0400
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>&#xA0;<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@xxxxxxxxxxxxx
http://www.texterity.com/



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread