xsl-list
[Top] [All Lists]

Problem Tagging Several Words in a Given String

2005-10-19 03:52:14
Hi list! I know this problem was solved last week by
the function given by Michael Kay, unfortunately i
encountered a problem with this string:

"Image Mater amabilis P. Trégard"

The function is (i made some modification so that it
will fit the our requirements):

<xsl:function name="f:replace-all">
<xsl:param name="input" as="xs:string"/>
<xsl:param name="words-to-replace" as="xs:string*"/>
<xsl:param name="replacement" as="xs:string*"/>
<xsl:sequence select="if (exists($words-to-replace))
then f:replace-all(replace($input,
replace($words-to-replace[1], '[.\\?*+{}()\[\]^$]',
'\\$0'),
concat('&#x3c;AUT_DEST&#x3e;',$replacement[1],'&#x3c;/AUT_DEST&#x3e;')),remove($words-to-replace,1),remove($replacement,1))
else $input"/>
</xsl:function>

$input = "Image Mater amabilis P. Trégard"
$words-to-replace = ("P. Trégard","Trégard")
$replacement = ("Trégard, Louis, s.j.","Trégard,
Louis, s.j.")

running the current funtion would result to:

"Image Mater amabilis <AUT_DEST><AUT_DEST>Trégard,
Louis, s.j.</AUT_DEST>, Louis, s.j.</AUT_DEST>"

But my desired output is:

"Image Mater amabilis <AUT_DEST>Trégard, Louis,
s.j.</AUT_DEST>"

what should i do to the function to achieve that?

-- UlyLee


        
                
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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