<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
<website>
	<title>XML &gt; HTML!</title>
	<subtitle>(OK. There's some CSS as well!)</subtitle>

	<description type="html"><![CDATA[How to use XML in 2023?]]></description>
	<instructions>
		<instruction>
			<headline>Write a well-formed XML (eXtensible Markup Language) document containing your data</headline>
			<details>XML was first standardised 25 years ago in 1998. It is a way to structure documents in a (mostly) human readable format while making them easy(ish) to interpret by machines. XML has several schemas - which are standard ways of defining a document - but you are free to structure it however you like.</details>
			<icon>fa fa-rocket</icon>
		</instruction>
		<instruction>
			<headline>Create an XSL (eXtensible Style Sheet) to describe how to render it</headline>
			<details>XSL is quite a bit different from HTML's CSS (Cascading Style Sheets). An XSL document defines how XML should be rendered by the browser. It can contain a mixture of (X)HTML, CSS, JavaScript, and any other web technologies.</details>
			<icon>fa fa-paint-brush</icon>
		</instruction>
		<instruction>
			<headline>Use XSLT (XSL Transformations) to extract data from the XML and render it</headline>
			<details>XSLT is a special set of instructions which tells the browser how to parse the XML. It can incorporate multiple templates to allow for complex interactions with the source data.</details>
			<icon>fa fa-cogs</icon>
		</instruction>
		<instruction>
			<headline>Understand how XPATH (XML Path Language) can interrogate your XML</headline>
			<details>XPath is a query language. It provides a syntax for finding specific parts of an XML document</details>
			<icon>fa fa-question-circle</icon>
		</instruction>
	</instructions>
	<disclaimer>
		<heading>Is this a good idea?</heading>
		<p>No!</p>
		<p>This is a silly idea and should in no way be used for anything sensible.</p>
		<p>One of the reasons XML (and XHTML) fell out of favour is that they are unforgiving. Miss a /? Your site is broken. Forget to close an element? Your site is broken. Incorrectly escape something? Your site is broken. Mismatched elements? Your site is broken.</p>
		<p>HTML, by contrast, is rendered by engines which are tolerant. Made a mistake in your HTML? The browser will do its best to display the page.</p>
		<p>One area where XML and XSL shine is if you are working with highly structured and regular data and want to display it in a more human-friendly way.</p>
		<p>But, nowadays, there's very little reason to use XML for display purposes. Unless you want to get frustrated.</p>
	</disclaimer>
	<links>
		<title>Background information:</title>
		<link>
			<link rel="alternate" type="text/html" href="https://whitep4nth3r.com/blog/html-is-all-you-need-to-make-a-website/" />
			<title type="html">I was inspired by "HTML is all you need to make a website."</title>
		</link>
		<link>
			<link rel="alternate" type="text/html" href="https://web.archive.org/web/20230719135333/http://no-ht.ml/" />
			<title type="html">I previously created "YOU DON'T NEED HTML!"</title>
		</link>
		<link>
			<link rel="alternate" type="text/html" href="https://www.w3.org/XML/" />
			<title type="html"><![CDATA[You can learn more about XML at the W3C.]]></title>
		</link>
	</links>
	<edent>
		<title>About the author:</title>
		<link>
				<link rel="alternate" type="text/html" href="https://shkspr.mobi/blog/2023/08/lets-build-a-website-using-xml/" />
				<title type="html"><![CDATA[Visit my (HTML) website to learn more about this page]]></title>
		</link>
		<link>
				<link rel="alternate" type="text/html" href="https://edent.tel/" />
				<title type="html"><![CDATA[Contact @edent]]></title>
		</link>
	</edent>
	<footer>
		View the source of this page to find out more. Made with 💖 in London, by Open Ideas Ltd.
	</footer>
</website>
