Search help

The archive search box accepts plain words, quoted phrases, boolean operators, prefix matches, and full Message-IDs. Here's how each one behaves with examples you can click through.

Basic terms

Type one or more words and every result will contain all of them (they're AND-joined). Hyphens and apostrophes are treated as word characters. Everything else is dropped as punctuation.

You typeInterpreted asExample
namespacesnamespacestry it
xml namespacesxml AND namespacestry it
relax-ngrelax-ng (hyphen preserved)try it

Quoted phrases

Put words in double quotes to match them as an exact phrase.

You typeInterpreted asExample
"xml namespace"phrase matchtry it
"content negotiation" RESTphrase AND resttry it

Boolean operators

Uppercase AND, OR, and NOT are passed through to the full-text search engine. Use them sparingly — most queries don't need them.

You typeInterpreted asExample
xpath OR xqueryeither termtry it
xslt NOT xslt2mentions of XSLT without the string "xslt2"try it

Prefix / wildcard

Append * to a word to match anything starting with it.

You typeMatchesExample
namesp*namespaces, namespace, namespacing…try it
schemat*schematron, schematic, schemata…try it

Message-ID lookup

If your input looks like a Message-ID (something@host, optionally <…>-wrapped), the archive bypasses full-text search and jumps straight to that specific message if it exists.

You typeBehaviour
<[email protected]>direct lookup, 301 to message page
[email protected]same, angle brackets optional

Filters

Filters are appended as query-string parameters. You can combine any of them with the main search term.

ParameterExampleMeaning
year?q=namespaces&year=2003only 2003
month?q=namespaces&month=200301only Jan 2003
from?q=namespaces&from=Tim Brayauthor name or email contains
from_date?q=…&from_date=2003-01lower bound (YYYY, YYYY-MM, YYYY-MM-DD, YYYYMM)
to_date?q=…&to_date=2003-06-30upper bound
sort?q=…&sort=relevancenewest (default), oldest, or relevance
list?q=…&list=xml-devrestrict to one mailing list (multi-list sites)
page?q=…&page=3pagination
limit?q=…&limit=500results per page (max 1000, default 200)

Walkthrough with screenshots

The four screenshots below show typical research workflows against this archive. Each one is taken live from the same URL you see beneath it.

Home page of the xml-dev archive showing stats, sparkline, and top contributors
1. Landing page. Activity sparkline across 23 years, top contributors, biggest threads, and the month table below. Click any bar in the sparkline to jump directly to that month.
Search results for namespaces showing message list with date, author, subject, and snippet
2. Keyword search. ?q=namespaces — default sort is newest first. Each row shows date, author, subject, and a snippet with highlighted matches.
Search results filtered by year=2003 and from=Tim Bray
3. Structured filters. ?q=namespaces&year=2003&from=Tim Bray — only messages by Tim Bray posted in 2003 that contain the word "namespaces".
Thread view for one of the biggest 2002 discussions on xml-dev
4. Thread view. All messages in a single conversation, grouped by canonical subject regardless of [xml-dev] or Re: prefix variations. Prev/next jump to adjacent messages in the thread, then spill over into the next thread in the month.

Query rewrites and warnings

When the search box changes what you typed in a way you might care about (punctuation stripped, slashes turned into phrases, etc.) a warning appears above the results explaining the change. The most common warnings are:

This is the archive's way of being honest about what it actually searched for. Historical mailing lists are full of strings like xmlns:foo="http://…" that don't survive tokenisation; the warning tells you when that's happening.

API

Every search URL has a JSON counterpart at /api/archive/search with the same parameters. Example:

curl 'https://xml.org/api/archive/search?q=namespaces&year=2003&limit=5' | jq

The response includes total_count, offset, sort, warnings, and the list of matching messages with snippets. Designed for programmatic research and LLM tooling.