Re: [xsl] Identifying place names in text...

Subject: Re: [xsl] Identifying place names in text...
From: "Karl Koch" <TheRanger@xxxxxxx>
Date: Thu, 21 Jul 2005 16:19:43 +0200 (MEST)
Hello,

that looks great. However, I am just wondering if it be possible to use a
text file for the names instead XML assuming that each line (separated by
the CR/LF) is one reference?

Karl



> --- Urspr|ngliche Nachricht ---
> Von: "Joris Gillis" <roac@xxxxxxxxxx>
> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Betreff: Re: [xsl] Identifying place names in text...
> Datum: Thu, 21 Jul 2005 16:12:39 +0200
> 
> Hi,
> 
> Tempore 15:56:22, die 07/21/2005 AD, hinc in  
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Karl Koch <TheRanger@xxxxxxx>:
> 
> > Can I use XSLT to search for place names in the title of all the books?
> I
> > would like to use a wordlist of geographical place names (which I
> already
> > have). This would contain coutry and city names. The stylesheet would  
> > match
> > occurances of these words in the <title> XML element. The output here  
> > would
> > be a list of all books which have references about locations in the  
> > title.
> 
> You can map references to the titles with a stylesheet like this:
> 
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";  
> version="1.0">
> <xsl:output method="xml" indent="yes"/>
> 
> <xsl:param name="locations"  
> select="document('locations.xml')/places/city"/>
> 
> <xsl:template match="node()|@*">
> <xsl:copy>
> <xsl:apply-templates select="node()|@*"/>
> </xsl:copy>
> </xsl:template>
> 
> <xsl:template match="title">
> 	<xsl:copy-of select="."/>
> 	<xsl:for-each select="$locations[contains(current(),.)]">
> 		<reference><xsl:value-of select="."/></reference>
> 	</xsl:for-each>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> locations.xml would contain:
> <places>
> 	<city>London</city>
> 	<city>Paris</city>
> </places>
> 
> regards,
> -- 
> Joris Gillis (http://users.telenet.be/root-jg/me.html)
> "N N1N;N.N8N5N9N1 N:N1N9 ON? N;N,N4N9 ON,N=ON1 N2N3N1N/N=N?ON= N1OO
> ON,N=O	"
> 

-- 
GMX DSL = Maximale Leistung zum minimalen Preis!
2000 MB nur 2,99, Flatrate ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl

Current Thread