Xhtml Friends Network (2003)
gmpg.org
gmpg.org
One thing to note is that is what was, long ago, pitched as "Web 3.0"; a "semantic web" where all relationships between entities could be expressed in code.
My web goes to 11.
It's so curious to visit sites and look 20 years into the past, where not everyone was on Facebook or whatever and we didn't even quite know what works and what doesn't. Just experimenting with new ideas that sort of could have been a thing (fediverse/web rings), but didn't pan out.
Of course, people might prefer to keep the particulars of their relationships with others a bit more private than XFN would have you do. Regardless, it's very interesting when even old sites like that stick around and you can see those old ideas in great fidelity, perhaps sans a CRT monitor.
edit: yep https://flask.palletsprojects.com/en/2.1.x/htmlfaq/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
...I'd say it absolutely is XHTML (assuming that it reasonably validates as such, i.e. closes all tags and so forth). Have things changed recently in this regard?
They absolutely do matter. To make an extreme point, if that page was served as text/plain, then the browser would show the literal XHTML source code on screen. Auto-sniffing the type based on the content is a big no-no where we learned lessons about vulnerabilities like ~20 years ago.
The text/html and application/xhtml+xml modes have many subtly different behaviors. XHTML supports things like <![CDATA[ ... ]]> and requires namespaces like <html xmlns="http://www.w3.org/1999/xhtml">, <svg xmlns="http://www.w3.org/2000/svg">. XHTML requires well-formed elements, so no <b><i></b></i>. XHTML treats <div/> as identical to <div></div>, whereas HTML5 interprets it as just <div> with no closing.
Here is my guide on XHTML, and the page itself and entire website is served as application/xhtml+xml: https://www.nayuki.io/page/practical-guide-to-xhtml
let elem = document.createElement("img");
console.log(el.tagName); // el is not definedYou can test it with the following snippet:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>test</title></head>
<body>
<h1 style="color:green"><span style="color:red" />If this text is green, this file was parsed as XHTML</h1>
</body>
</html>
With Content-Type set to "text/html" the text will be red, with "application/xhtml+xml" it will be green.The difference in rendering lies in invalid XML documents — if you skip a closing tag in XHTML, the page should error and REFUSE TO RENDER. At all. Just display an error message to the end user. If your webpage doesn’t do this when it doesn’t have matching tags, it is not being rendered as XHTML by the spec.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<view page source>
“John only considers me an acquaintance?!”
While trying out some else's new social semantic graph setup, I added links to people, including an undergrad assistant from our research group.
This might've been uncool, even then, because the cheeky undergrad accepted, but coded my role to him as "service provider".
> Phil McCluskey has written an XFN Relationship Lookup Engine. Introducing rubhub.com:
I was very hesitant to click that link on my work machine. But it turns out that GrubHub now (anti-)typosquats their own domain. (EDIT: Nevermind, it just don't exist anymore. Stupid browser was trying to be helpful on my behalf)
It was a different time :)