xsl-list
[Top] [All Lists]

RE: Matching on text after embedded elements

2002-12-02 21:15:59
Hi,

I am not really following you, but how about something like this (a little
variation of off a Jeni T. answer):

<xsl:key name="text" match="text()" use="'text'"/>

<xsl:template match="/">
  <xsl:for-each select="key('text', 'text')">
    <xsl:if test="contains(., 'YYY')">
    boo
    </xsl:if>
  </xsl:for-each>

</xsl:template>

pretty slick, huh :)

best,
-Rob



-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
Bruce Dailey
Sent: Monday, December 02, 2002 7:43 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Matching on text after embedded elements


I am writing a search engine for a XML file. I am having a problem
figuring out the correct XSL to get the "contains" to find text after a
child element. This is the example XML file (TMX format).

<tmx><body>

<tu>
<tuv lang="JA"><seg></seg></tuv>
<tuv lang="EN-US"><seg>XXX<ut>eeee</ut>YYY</seg></tuv>
</tu>

</body></tmx>

In this case if I search for "XXX", my search algorithm works. But if I
enter "YYY" it fails. I have determined that my algorithm fails if it
tries to find something after the first child element ("<ut>") occurs.
Here is the XSL code:

<xsl:template match="tu">
      <xsl:if test="tuv/seg[contains (text(), $SearchText)] or
$SearchText=''">
              <xsl:copy><!--copy node being visited-->
                      <xsl:copy-of select="@*"/><!--copy of all
attributes-->
                      <xsl:apply-templates/><!--process the
children-->
              </xsl:copy>
      </xsl:if>
</xsl:template>

<xsl:template match="tuv | seg">
      <xsl:copy><!--copy node being visited-->
              <xsl:copy-of select="@*"/><!--copy of all attributes-->
              <xsl:apply-templates/><!--process the children-->
      </xsl:copy>
</xsl:template>

<xsl:template match="ut" />


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




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



<Prev in Thread] Current Thread [Next in Thread>