2013-07-10 9 views
5

Sono in procinto di generare un plug-in OpenSearch per un sito Web. Io sono la maggior parte del modo in cui, infatti, il plugin funziona quando c'è solo una parola nella ricerca. Devo notare che questo non è il tuo motore di ricerca standard, ma fornisce una mappa di parole chiave correlate alle parole della tua ricerca. Il problema sembra essere che il comportamento di questo motore di ricerca è leggermente diverso da altri. Ad esempio, con Google l'URL di ricerca per "la gestione del progetto" appare in questo modo:Sostituire "+" (più) con "-" (trattino) per la sostituzione dello spazio nell'URL per OpenSearch

http://www.google.com/search?q=project+management 

Mentre con KwMap la ricerca appare come questa:

http://www.kwmap.net/project-management.html 

Quindi la mia domanda è se sia o non sia possibile usando OpenSearch per sostituire lo spazio nel termine di ricerca con un trattino piuttosto che un simbolo più? Ecco il mio codice finora:

<?xml version="1.0" encoding="UTF-8"?> 
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" 
         xmlns:moz="http://www.mozilla.org/2006/browser/search/"> 
    <!-- Created on Wed, 10 Jul 2013 17:26:47 GMT --> 
    <ShortName>KwMap</ShortName> 
    <Description>A Keyword Map for the Whole Internet</Description> 
    <Url type="text/html" method="get" template="http://www.kwmap.net/{searchTerms}.html"/> 
    <InputEncoding>UTF-8</InputEncoding> 
    <moz:SearchForm>http://www.kwmap.net/</moz:SearchForm> 
    <Url type="application/opensearchdescription+xml" rel="self"/> 
</OpenSearchDescription> 
+0

Sono abbastanza sicuro che non è possibile, dal momento che sarebbe al di fuori del metodo di codifica URL standard. Sono sicuro che kwmap.net deve fornire un mezzo per prendere URL di stringhe di query standard e riscriverlo nel loro formato proprietario, non è vero? –

+1

Mi chiedo se questo potrebbe essere fatto con Regex. La cosa più vicina che ho trovato è una discussione su https://groups.google.com/forum/#!topic/opensearch/N5_hm58Peqc. – Taliesin

risposta

0

Un esempio di un documento HTML che include elementi di collegamento OpenSearch AutoDiscovery utilizza trattini:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> 
    <head profile="http://a9.com/-/spec/opensearch/1.1/"> 
    <!--- ... ---> 
    <link rel="search" 
     type="application/opensearchdescription+xml" 
     href="http://example.com/content-search.xml" 
     title="Content search" /> 
    <link rel="search" 
     type="application/opensearchdescription+xml" 
     href="http://example.com/comment-search.xml" 
     title="Comments search" /> 
    <!--- ... ---> 
    </head> 
    <body> 
    <!--- ... ---> 
    </body> 
    </html> 

vari formati di documenti e le specifiche già Assistenza IRIS. Esempi includono HTML 4.0, identificatori di sistema XML 1.0, l'attributo href XLink, il tipo di dati anyURI di XMLSchema, ecc. Vedremo in seguito che i principali browser supportano già l'uso di IRI.

Riferimenti