Avatar billede sf Nybegynder
14. november 2007 - 17:09 Der er 13 kommentarer og
1 løsning

søgning på danske tegn virker ikke

jeg har det her xslt dokument, men når der bliver søgt på æ ø eller å virker søgningen ikke?

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:library="urn:Framecoders.Library" exclude-result-prefixes="library">

    <xsl:output method="xml" indent="yes" encoding="utf-8" omit-xml-declaration="yes" />

    <xsl:param name="currentPage" />

    <xsl:variable name="query" select="library:Request('query')" />

    <xsl:template match="/">

        <form method="post" action="{library:FriendlyUrl($currentPage/@ID)}">
            <p>
                <label>
                    Søgeord:<br />
                    <input type="text" name="query" value="{$query}" />
                </label>
            </p>
            <p>
                <input type="submit" value="Søg" />
            </p>
        </form>

        <xsl:if test="$query != ''">
            <xsl:variable name="result" select="$currentPage/ancestor::root/descendant::node[contains(library:Lowercase(data[@key='pageContent']), library:Lowercase($query))]"/>
            <h2>Søgeresultater</h2>
            <p>
                Der blev fundet <strong>
                    <xsl:value-of select="count($result)"/>
                </strong> resultater.
            </p>
            <ul>
                <xsl:for-each select="$result">
                    <li>
                        <a href="{library:FriendlyUrl(@ID)}">
                            <xsl:value-of select="@name"/>
                        </a><br/>
                        Senest opdateret <xsl:value-of select="concat(library:FormatDate(@lastModified, 'd. MMMM yyyy'),' kl. ',library:FormatDate(@lastModified, 't'))" />
                    </li>
                </xsl:for-each>
            </ul>
        </xsl:if>
    </xsl:template>

</xsl:stylesheet>
Avatar billede jokkejensen Novice
14. november 2007 - 17:12 #1
du skal bruge deres entities..

/JJ
Avatar billede jokkejensen Novice
14. november 2007 - 17:14 #2
Æ = &AElig;
æ = &aelig;

osv.

/JJ
Avatar billede jokkejensen Novice
14. november 2007 - 17:15 #3
Avatar billede jokkejensen Novice
14. november 2007 - 17:17 #4
Alternativt skriv en xslt extension der laver det om.

ex : extension:TranslateEntities('æøå');

/JJ
Avatar billede jokkejensen Novice
14. november 2007 - 17:20 #5
Nå nu fik jeg lige læst spørgsmålet :)

Benyt translate() til at erstatte $query's æøåÆØÅ med de repræsentative entities.

http://www.topxml.com/xsl/functranslate.asp

/JJ
Avatar billede sf Nybegynder
14. november 2007 - 20:33 #6
kan jeg bruge 1 translate? jeg skal vel oversætte et bogstav til "et ord"?
Avatar billede sf Nybegynder
14. november 2007 - 20:39 #7
har du ikke lige tid til at vise mig hvordan den translate skal se ud?
Avatar billede sf Nybegynder
14. november 2007 - 22:44 #8
har prøvet at sætte en replace ind i stedet da translate ikke kan oversætte fra et bogstav til et ord så har prøvet denne istedet: http://aspn.activestate.com/ASPN/Cookbook/XSLT/Recipe/65426/index_txt men giver fejl med: &aelig; nogle der kan hjælpe?
Avatar billede janegil Nybegynder
15. november 2007 - 11:23 #9
Kan vi få se en URL til inputdokumentet ditt? Stemmer deklarasjoner og HTTP-headere med hvordan innholdet faktisk er kodet?
Avatar billede jokkejensen Novice
15. november 2007 - 11:59 #10
Prøv lige:

<xsl:template match="/">
<xsl:variable name="newQuery">
<xsl:call-template name="replace-string">
  <xsl:with-param name="text" select="$query" />
  <xsl:with-param name="from" select="'ø'" />
  <xsl:with-param name="to"><xsl:text><![CDATA[&aelig;]]></text></with-param>
</xsl:call-template>
</xsl:variable>

<xsl:value-of select="$newQuery" />
</xsl:template>
Avatar billede jokkejensen Novice
15. november 2007 - 13:07 #11
Hvad hvis du bare deklarerer alle entities i din <doctype>

ala:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE stylesheet [
    <!ENTITY aelig "&#0230;" >
    <!-- small æ - skriv selv resten -->
]>
<xsl:stylesheet version="1.0"...................

Læs evt : http://www.xml.com/pub/a/2001/03/14/trxml10.html

/JJ
Avatar billede sf Nybegynder
16. november 2007 - 15:34 #12
denne giver stadig fejl.. <xsl:text><![CDATA[&aelig;]]></text></with-param> ?
Avatar billede sf Nybegynder
16. november 2007 - 15:34 #13
det er ikke muligt at bruge tranlate?
Avatar billede sf Nybegynder
16. november 2007 - 15:43 #14
får også fejl når jeg prøvet at sætte doctype ind
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester