search
HomeBackend DevelopmentXML/RSS TutorialDetailed introduction to XML-OpenSearch application

Many modern browsers have a Search box on the right side of the address bar. The default installation has Google search, etc. As shown below: In fact, this is an application of OpenSearch. As long as you write the corresponding micro-format xml file, you can formulate the corresponding search box. Referring to the OpenSearch definition document, you can basically obtain the basic xml format. For example, a typical search
Many modern browsers have a search box on the right side of the address bar, and Google search is installed by default. As shown in the figure below:
Detailed introduction to XML-OpenSearch application
In fact, this is an application of OpenSearch. As long as you write the corresponding micro-format xml file, you can formulate the corresponding search box. Referring to the OpenSearch definition document, you can basically obtain the basic xml format. For example, a typical search xml file can be specified like this.

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
 <InputEncoding>utf-8</InputEncoding>
 <ShortName>ShortName</ShortName>
 <Description>Description</Description>
 <Image type="image/vnd.microsoft.icon">favicon</Image>
 <Url type="text/html" template="http://who.am.i/search?word={searchTerms}"/>
 </OpenSearchDescription>


The xml file above is easy to understand. Except for the fixed xml root, other definitions can be understood literally: InputEncoding specifies the search encoding, which is determined according to the actual situation of the website ShortName This is the short name of the search, such as "Google search" Description A description of this search box, such as "Taobao shopping search - only you can't think of it, but you can't find anything you can't find" Image is similar to the favicon of a web page, used for identification search Url This is the most important parameter, specifying the search link. It has many parameters, generally use the {searchTerms} parameter to specify the search terms. The parameter type="text/html" indicates that the page is returned (the browser will jump to this page). If it is in other formats, it will be opened using the corresponding default program (such as type="application/rss xml" will be opened using an RSS reader).
Writing OpenSearch’s xml format is complete. For detailed information, please refer to its OpenSearch definition document. Next, we need to add this search to the page. There are basically two ways. They are to add the link tag in the head of the page (similar to RSS), and to add it using the Javascript method (such as defining a button to trigger). Adding link tags is very simple, the format is as follows

<link rel="search" type="application/opensearchdescription xml"
 href="http://who.am.i/search.xml" title="ShortName" />


Similar to RSS, rel and type are fixed, we mainly specify href (above) For the url path of xml, just use the absolute path (that is, starting with http://) and title (that is, the short title of the search) to be on the safe side. In this way, when you open this page in Explorer and Firefox, you can see the corresponding menu, as shown in the figure:
Detailed introduction to XML-OpenSearch application
It is more troublesome to add using Javascript (perhaps the situation will be much better now). We mainly use browser extensions. There is a window.external.AddSearchProvider parameter in Explorer (detailed documentation). The typical calling method is as follows

#
window.external.AddSearchProvider(&#39;http://who.am.i/search.xml&#39;);

The link in the parameter is the content in the above link. Under Firefox it is possible to use the

window.sidebar.addSearchEngine(
 "http://who.am.i/search.xml", /* engine URL */
 "favicon.ico", /* icon URL */
 "ShortName", /* engine name */
 "Description" ); /* category name */


parameters and examples as described in the sample code (official documentation). It is worth noting that Firefox2 and later versions have been "compatible" with Explorer's window.external.AddSearchProvider calling method (details). Then our corresponding Javascript code can be written like this (in order to be compatible with versions before Firefox2, add else if to judge. If you feel it is not necessary, you can not add it)

function addEngine(){
 if (window.external || window.external.AddSearchProvider) {
 window.external.AddSearchProvider(&#39;http://who.am.i/search.xml&#39;);
 } else if (window.sidebar && window.sidebar.addSearchEngine) {
 window.sidebar.addSearchEngine(
 "http://who.am.i/search.xml",
 "favicon.ico", /* icon URL */
 "ShortName", /* engine name */
 "Description" ); /* category name */
 }}


In this way, you can register this function to the click event of a link or button, A confirmation box will pop up, as shown in the figure. After the user clicks Confirm, it will be added to the browser search box.                                                                                              

The above is the detailed content of Detailed introduction to XML-OpenSearch application. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Understanding RSS Documents: A Comprehensive GuideUnderstanding RSS Documents: A Comprehensive GuideMay 09, 2025 am 12:15 AM

RSS documents are a simple subscription mechanism to publish content updates through XML files. 1. The RSS document structure consists of and elements and contains multiple elements. 2. Use RSS readers to subscribe to the channel and extract information by parsing XML. 3. Advanced usage includes filtering and sorting using the feedparser library. 4. Common errors include XML parsing and encoding issues. XML format and encoding need to be verified during debugging. 5. Performance optimization suggestions include cache RSS documents and asynchronous parsing.

RSS, XML and the Modern Web: A Content Syndication Deep DiveRSS, XML and the Modern Web: A Content Syndication Deep DiveMay 08, 2025 am 12:14 AM

RSS and XML are still important in the modern web. 1.RSS is used to publish and distribute content, and users can subscribe and get updates through the RSS reader. 2. XML is a markup language and supports data storage and exchange, and RSS files are based on XML.

Beyond Basics: Advanced RSS Features Enabled by XMLBeyond Basics: Advanced RSS Features Enabled by XMLMay 07, 2025 am 12:12 AM

RSS enables multimedia content embedding, conditional subscription, and performance and security optimization. 1) Embed multimedia content such as audio and video through tags. 2) Use XML namespace to implement conditional subscriptions, allowing subscribers to filter content based on specific conditions. 3) Optimize the performance and security of RSSFeed through CDATA section and XMLSchema to ensure stability and compliance with standards.

Decoding RSS: An XML Primer for Web DevelopersDecoding RSS: An XML Primer for Web DevelopersMay 06, 2025 am 12:05 AM

RSS is an XML-based format used to publish frequently updated data. As a web developer, understanding RSS can improve content aggregation and automation update capabilities. By learning RSS structure, parsing and generation methods, you will be able to handle RSSfeeds confidently and optimize your web development skills.

JSON vs. XML: Why RSS Chose XMLJSON vs. XML: Why RSS Chose XMLMay 05, 2025 am 12:01 AM

RSS chose XML instead of JSON because: 1) XML's structure and verification capabilities are better than JSON, which is suitable for the needs of RSS complex data structures; 2) XML was supported extensively at that time; 3) Early versions of RSS were based on XML and have become a standard.

RSS: The XML-Based Format ExplainedRSS: The XML-Based Format ExplainedMay 04, 2025 am 12:05 AM

RSS is an XML-based format used to subscribe and read frequently updated content. Its working principle includes two parts: generation and consumption, and using an RSS reader can efficiently obtain information.

Inside the RSS Document: Essential XML Tags and AttributesInside the RSS Document: Essential XML Tags and AttributesMay 03, 2025 am 12:12 AM

The core structure of RSS documents includes XML tags and attributes. The specific parsing and generation steps are as follows: 1. Read XML files, process and tags. 2. Extract,,, etc. tag information. 3. Handle custom tags and attributes to ensure version compatibility. 4. Use cache and asynchronous processing to optimize performance to ensure code readability.

JSON, XML, and Data Formats: Comparing RSSJSON, XML, and Data Formats: Comparing RSSMay 02, 2025 am 12:20 AM

The main differences between JSON, XML and RSS are structure and uses: 1. JSON is suitable for simple data exchange, with a simple structure and easy to parse; 2. XML is suitable for complex data structures, with a rigorous structure but complex parsing; 3. RSS is based on XML and is used for content release, standardized but limited use.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.