<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learning the World &#187; XML</title>
	<atom:link href="http://learningtheworld.eu/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://learningtheworld.eu</link>
	<description></description>
	<lastBuildDate>Tue, 06 Nov 2012 00:17:33 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Amazon Plugin Authorization</title>
		<link>http://learningtheworld.eu/2009/amazon-authorization/</link>
		<comments>http://learningtheworld.eu/2009/amazon-authorization/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 21:00:04 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[downloads]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[machine tags]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[triple tags]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=693</guid>
		<description><![CDATA[Starting August 15th, the <acronym title="Amazon Web Services">AWS</acronym> Product Advertising <acronym title="Application Programming Interface">API</acronym>, as the former E-Commerce Service is now called, will only accept signed requests. <strong>The plugin will stop working if you don&#8217;t update.</strong> Thus I needed to re-engineer a few functions of my WordPress Amazon Machine Tags Plugin.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="alert">Oh, it&#8217;s confusing how often Amazon changes it&#8217;s product names and API. In my plugin the Help response group is used for <strong>key validation</strong>, alas <a href="http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/CHAP_WhatsNew.html">recently it&rsquo;s been deprecated</a>. I need more time to look for an alternative. In the meantime you can hack it by adding a file <a href="http://learningtheworld.eu/wp-content/cache/amtap-aws-key-verification.txt"><code>amtap-aws-key-verification.txt</code></a> in the wp-content/cache folder where the content is <code>true</code>.</p>

<p>Starting August 15th, the <acronym title="Amazon Web Services">AWS</acronym> Product Advertising <acronym title="Application Programming Interface">API</acronym>, as the former E-Commerce Service is now called, will only accept signed requests. <strong>The plugin will stop working if you don&rsquo;t update.</strong> Thus I needed to re-engineer a few functions of my <a href="/2007/amazon-machine-tags/">WordPress Amazon Machine Tags Plugin</a>.</p>

<p>What you need to do is:</p>

<ul>
<li><a href="http://wordpress.org/extend/plugins/amazon-machine-tags/">Update to version 3.0</a> of the plugin.</li>
<li>If you didn&rsquo;t adapt any files just overwrite them. If you customized the <acronym title="Cascading Style Sheets">CSS</acronym> or <acronym title="Extensible Stylesheet Language">XSL</acronym> files, take care that you don&rsquo;t overwrite yours. Also the <acronym>XSL</acronym> namespace must reflect the <acronym>API</acronym> version used in the plugin (2009-07-01), i.e. <code>xmlns:aws=<span class="codeSpace">&nbsp;</span>&quot;http://webservices.amazon.com/<span class="codeSpace">&nbsp;</span>AWSECommerceService/<span class="codeSpace">&nbsp;</span>2009-07-01&quot;</code></li>
<li><a href="http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key">Get your Secret Access Key</a> in addition to your existing Access Key ID. Your future requests will be signed using the secret key.</li>
<li>Go to the plugin&rsquo;s admin interface and <strong>enter the secret key</strong>.</li>
<li>Some people experienced a few minutes where the items didn&rsquo;t show up, instead they got the untransformed <acronym title="Extensible Markup Language">XML</acronym> code. After a few minutes the problem resolved itself. My guess is that Amazon cached the <acronym>XSL</acronym> files, the versions mismatched, therefore the <acronym>XML</acronym> wasn&rsquo;t transformed. That&rsquo;s why I renamed the <acronym>XSL</acronym> files so that the new ones will be used. If you want to be sure, also delete the cached files <code>amtap-aws-items-for-post-*.html</code> in your <code>wp-content/cache</code> directory.</li>
</ul>

<p>If you encounter any problems with the update, re-install the <a href="http://downloads.wordpress.org/plugin/amazon-machine-tags.2.0.zip">old version</a> and let me know what went wrong so that we can fix it together until August 15th.</p>

<p>You can also support the plugin by <strong>translating it</strong>. There&rsquo;s an empty PO file in the package. With a tool such as <a href="http://www.poedit.net/">Poedit</a> it&rsquo;s fairly easy to translate everything. Thanks. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2009/amazon-authorization/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>Farewell, XML declaration</title>
		<link>http://learningtheworld.eu/2008/farewell-xml-declaration/</link>
		<comments>http://learningtheworld.eu/2008/farewell-xml-declaration/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 16:00:04 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[2014]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[declaration]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[quirks-mode]]></category>
		<category><![CDATA[Richard Ishida]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=102</guid>
		<description><![CDATA[The <acronym title="Extensible Markup Language">XML</acronym> declaration is <em>not required</em> as long as you encode in UTF-8 or UTF-16, you are only strongly encouraged to use it. So as long we are stuck with <acronym>IE6</acronym> I will refrain from using it.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>For years I have been using an <strong><acronym title="Extensible Markup Language">XML</acronym> declaration</strong> prior to my DOCTYPE declaration:</p>

<ol class="code">
<li><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;&nbsp;?&gt;</code></li>
<li><code>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/<span class="codeSpace">&nbsp;</span>TR/xhtml1/DTD/<span class="codeSpace">&nbsp;</span>xhtml1-strict.dtd&quot;&gt;</code></li>
</ol>

<p>It was obvious for me that such a declaration would be a good thing to have since <strong><acronym title="Extensible Hypertext Markup Language">XHTML</acronym> is <acronym>XML</acronym></strong> after all. Only later I learned that it triggers a bug in <acronym title="Internet Explorer 6">IE6</acronym> to render pages in <strong>quirks mode</strong> with a <strong>broken box model</strong>. But I was used to build workarounds for Internet Explorer bugs since <acronym>IE</acronym> 3.0 and never knew anything but the broken box model in <acronym>IE</acronym>, so I continued to use the declaration.</p>

<p>Until recently my colleague Thomas Junghans took the trouble to research, and found this phrase in the <a href="http://www.w3.org/TR/xhtml1/#strict"><acronym>XHTML</acronym> specification</a>:</p>

<blockquote cite="http://www.w3.org/TR/xhtml1/#strict"><p>An <acronym>XML</acronym> declaration is not required in all <acronym>XML</acronym> documents; however <acronym>XHTML</acronym> document authors are strongly encouraged to use <acronym>XML</acronym> declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16 and no encoding was determined by a higher-level protocol.</p></blockquote>

<p>The declaration is <strong>not required</strong> as long as you encode in UTF-8 or UTF-16, you are only strongly encouraged to use it. Gasp!</p>

<p>Richard Ishida lists some <a href="http://www.w3.org/International/tutorials/tutorial-char-enc/#Slide0330">advantages of using the declaration</a> when serving the pages with an <acronym>XML</acronym> <acronym>MIME</acronym> type or viewing them offline, however I&rsquo;m convinced the disadvantages prevail.</p>

<p>So as long we are stuck with <acronym>IE6</acronym> &mdash; and people say that could be as long as 2014 when <a href="http://support.microsoft.com/lifecycle/?LN=en-gb&#038;x=16&#038;y=12&#038;C2=1173">support for Windows <acronym>XP</acronym></a> ends (reminder to self: throw a party on 8 April, 2014)&nbsp;&mdash; I&nbsp;will refrain from using the <acronym>XML</acronym> declaration. Amen.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/farewell-xml-declaration/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Extend the Searchbar with OpenSearch</title>
		<link>http://learningtheworld.eu/2008/opensearch/</link>
		<comments>http://learningtheworld.eu/2008/opensearch/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 20:00:14 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[a9]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[customize]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[opensearch]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[searchbar]]></category>
		<category><![CDATA[suggestion]]></category>
		<category><![CDATA[type ahead]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=98</guid>
		<description><![CDATA[<strong>OpenSearch</strong> is known as an open source format to syndicate and aggregate search results. It was developed by Amazon&#160;/ A9 and quickly gained support from the big search engines. Their involvement is somewhat intimidating&#160;&#8212; your site&#8217;s not Google, so who wants to syndicate your search results anyway? But if your blog or a client has a loyal readership, it would be convenient if they could just <strong>use their browser&#8217;s searchbar</strong> as a shortcut.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2008/04/screenshot-searchbar.png" class="floatleft" alt="Screenshot of the searchbar in Firefox with the option &quot;Add Wikipedia (English)&quot;" width="203" height="163" /> <strong>OpenSearch</strong> is known as an open source format to syndicate and aggregate search results. It was developed by Amazon&nbsp;/ A9 and quickly gained support from the big search engines. Their involvement is somewhat intimidating&nbsp;&mdash; your site&rsquo;s not Google, so who wants to syndicate your search results anyway?</p>

<p>But if your blog or a client has a loyal readership, it would be convenient if they could just <strong>use their browser&rsquo;s searchbar</strong> as a shortcut. For example currently we work on a website relaunch for a big German city, and it&rsquo;s easily conceivable that citizens want to search this site more often.</p>

<p>Here comes a side effect of OpenSearch: the OpenSearch descriptions are machine readable <acronym title="Extensible Hypertext Markup Language">XML</acronym> files. <strong>Firefox and Internet Explorer&nbsp;7</strong> are two of those &ldquo;machines&rdquo; if you let them know the file exists:</p>

<ol class="code">
<li><code>&lt;link <strong>rel=&quot;search&quot;</strong> type=&quot;application/<span class="codeSpace">&nbsp;</span><strong>opensearchdescription+xml</strong>&quot; title=&quot;Your website&rsquo;s title&quot; href=&quot;/opensearch.xml&quot;&nbsp;/&gt;</code></li>
</ol>

<p>Of course that belongs in the <code>head</code>. Now all you need are a few more lines of code in the <code>opensearch.xml</code> file:</p>

<ol class="code">
<li><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</code></li>
<li><code>&lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/<span class="codeSpace">&nbsp;</span>opensearch/1.1/&quot;&gt;</code></li>
<li class="indent"><code>&lt;ShortName&gt;<strong>Your website&rsquo;s title</strong>&lt;/ShortName&gt;</code></li>
<li class="indent"><code>&lt;Description&gt;A short description of the search&lt;/Description&gt;</code></li>
<li class="indent"><code>&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;</code></li>
<li class="indent"><code>&lt;Image height=&quot;16&quot; width=&quot;16&quot; type=&quot;image/x-icon&quot;><span class="codeSpace">&nbsp;</span>http://yourdomain.com/<strong>favicon.ico</strong>&lt;/Image&gt;</code></li>
<li class="indent"><code>&lt;Url type=&quot;text/html&quot; template=&quot;http://yourdomain.com/<span class="codeSpace">&nbsp;</span>search/<span class="codeSpace">&nbsp;</span><strong>?q={searchTerms}</strong>&quot;/&gt;</code></li>
<li><code>&lt;/OpenSearchDescription&gt;</code></li>
</ol>

<p>Just change the <code>shortname</code> property, the favorite icon path, the search <acronym title="Uniform Resource Identifier">URI</acronym> and parameters. Don&rsquo;t change <code>{searchTerms}</code>. And that&rsquo;s all, it&rsquo;s a five minute no-brainer&hellip;</p>

<h3>Further Reading</h3>

<ul><li><a href="http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox">OpenSearch documentation</a> (Mozilla Developer Center)</li>
<li><acronym title="JavaScript Object Notation">JSON</acronym> <a href="http://developer.mozilla.org/en/docs/Supporting_search_suggestions_in_search_plugins">type-ahead suggestion</a> functionality for OpenSearch</li>
</ul>

<p class="alert"><ins datetime="20090415T165100"><strong>Update:</strong> Internet Explorer&nbsp;8 now <a href="http://msdn.microsoft.com/en-us/library/cc848862(VS.85).aspx">supports type ahead suggestions</a>, too.</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/opensearch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crowdsourcing YouTube Video Captioning</title>
		<link>http://learningtheworld.eu/2008/captioning-youtube-with-dfxp/</link>
		<comments>http://learningtheworld.eu/2008/captioning-youtube-with-dfxp/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 20:34:45 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[captioning]]></category>
		<category><![CDATA[Chris Heilmann]]></category>
		<category><![CDATA[Christian Heilmann]]></category>
		<category><![CDATA[deafness]]></category>
		<category><![CDATA[dfxp]]></category>
		<category><![CDATA[Ed Eliot]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MAGpie]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Yahoo! Video]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=97</guid>
		<description><![CDATA[When Chris Heilmann had the splendid idea to add <strong>captioning to YouTube videos</strong> with Google&#8217;s JavaScript <acronym title="Application Programming Interface">API</acronym>, I asked myself if there wasn&#8217;t a better way. There is, but to my surprise neither <em>YouTube</em> nor <em>Yahoo! Video</em> take advantage of that capability.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Oh, I just <em>love</em> <a href="http://www.wait-till-i.com/">Christian Heilmann&rsquo;s blog</a>! He&rsquo;s one of the most skilled JavaScript developers I know, so I can still learn tricks from him and his colleagues at Yahoo! But he also <strong>does everything with JavaScript</strong>, and every time when this happens, it inspires me to mull over how it could be done <strong>without</strong>! You know, because restrictive company proxies filter JavaScript, or just to provide a graceful alternative, or because I&rsquo;m so old-fashioned. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<p>So when Chris mentions JavaScript badges for del.icio.us, I think of Ed Eliot&rsquo;s <a href="http://www.ejeliot.com/projects/php-delicious">PhpDelicious</a> or how to get <a href="http://learningtheworld.eu/2008/wordpress-goodies-with-inlinerss/">similar results</a> in WordPress. Naturally when he had the splendid idea to add <strong>captioning to YouTube videos</strong> with <a href="http://www.wait-till-i.com/2008/03/12/video-captioning-made-easy-with-the-youtube-javascript-api/">Google&rsquo;s JavaScript <acronym title="Application Programming Interface">API</acronym></a>, I asked myself if there wasn&rsquo;t a better way. There is, but to my surprise neither <em>YouTube</em> nor <em>Yahoo! Video</em> take advantage of that capability:</p>

<ol><li>It&rsquo;s common practice to implement <strong>text content in Flash via <acronym title="Extensible Markup Language">XML</acronym></strong>.</li>
<li><a href="http://www.w3.org/TR/ttaf1-dfxp/"><strong><acronym title="Distribution Format Exchange Profile">DFXP</acronym></strong></a> is a <acronym title="World Wide Web Consortium">W3C</acronym> <strong><acronym>XML</acronym> standard</strong> for captioning videos.</li>
<li>There are <a href="http://www.adobe.com/accessibility/products/flash/captioning_tools.html">free tools</a> like <a href="http://ncam.wgbh.org/webaccess/magpie/">MAGpie</a> for creating captions, and they all support <strong><acronym>DFXP</acronym></strong>.</li>
<li>If <em>YouTube</em> or <em>Yahoo! Video</em> would allow users to <strong>upload and attach a <acronym>DFXP</acronym> file</strong> to a video, it would become dead easy for anybody to caption it. Not only for the filmmaker, captioning could be <strong>crowdsourced</strong>!</li></ol>

<p>Just anticipating <a href="http://joeclark.org">Joe Clark&rsquo;s</a> inevitable (and justifiable) objection: of course captioning is not an easy thing that anybody can do, to do it right it requires people with special training. But considering the number of videos on those platforms the only affordable and practical solution to provide any captioning at all is crowdsourcing. That can also be applied to the control of quality, accuracy, or reporting abuse.</p>

<p>Of course this would enhance primarily accessibility, but the <acronym>XML</acronym> files would further help search engines to <strong>index video content</strong>. And their marketing people would love such a feature for the positive <acronym>PR</acronym>!</p>

<p>Well, I submitted the suggestion both to Google and Yahoo!, you can <a href="http://suggestions.yahoo.com/detail/?prop=ydn&#038;fid=80528">vote on the Yahoo! Developer Network</a> for it (Google is more closed-lipped). I&rsquo;m curious who will be the first to offer that feature&nbsp;&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/captioning-youtube-with-dfxp/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Oh, won&#8217;t somebody please think of the children!</title>
		<link>http://learningtheworld.eu/2008/somebody-please-think-of-the-children/</link>
		<comments>http://learningtheworld.eu/2008/somebody-please-think-of-the-children/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 21:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[censorship]]></category>
		<category><![CDATA[children]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[cybersitter]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[ICRA]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[PICS]]></category>
		<category><![CDATA[protection]]></category>
		<category><![CDATA[rating]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[search engines]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Tor]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2008/somebody-please-think-of-the-children/</guid>
		<description><![CDATA[A little known <acronym title="World Wide Web Consortium">W3C</acronym> standard is the <strong>Platform of Internet Content Selection (<acronym>PICS</acronym>)</strong>. <acronym>PICS</acronym> is a system for self-labeling. Think of an early predecessor of the Semantic Web. Or in microformats it would be <em>hPorn</em>.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="alert">Please note that the <acronym title="Platform of Internet Content Selection">PICS</acronym> standard has been superseded by <acronym title="Protocol for Web Description Resources">POWDER</acronym> in 2009. The old <acronym title="Resource Description Framework">RDF</acronym> code can be <a href="http://www.w3.org/TR/2009/NOTE-powder-primer-20090901/#ICRA1">included in a <acronym>POWDER</acronym> document</a>, though.</p>

<p>A little known <acronym title="World Wide Web Consortium">W3C</acronym> standard is the <strong><a href="http://www.w3.org/PICS/">Platform of Internet Content Selection</a> (<acronym>PICS</acronym>)</strong>. You can tell from the poor layout that it&rsquo;s a very old standard&nbsp;&mdash; in fact all of its parts are from 1996 and 1997. <acronym title="Oh my God">OMG</acronym>, that&rsquo;s <em>ancient!</em> That&rsquo;s even older than <acronym title="Hypertext Markup Language">HTML</acronym>&nbsp;4, <acronym title="Cascading Style Sheets">CSS</acronym>, or the Web Content Accessibility Guidelines!</p>

<p><strong><acronym>PICS</acronym> is a system for self-labeling.</strong> That raised some concerns about censorship in 1998, but governments who really want to censor their population&rsquo;s internet access have found more effective ways to block content (I, for one, can recommend <a href="https://www.torproject.org">Tor</a> as a countermeasure, also available as a Firefox extension, though I cannot guarantee your government approves it). So what remains is a meta element with information about your website, accompanied by a machine readable <acronym title="Resource Description Framework">RDF</acronym>/<acronym title="Extensible Markup Language">XML</acronym> file.</p>

<ol class="code">
<li><code>&lt;link rel=&quot;meta&quot; href=&quot;/<a href="/pics-label.rdf" type="application/rdf+xml">pics-label.rdf</a>&quot; type=&quot;application/rdf+xml&quot; title=&quot;ICRA PICS label&quot; /&gt;</code></li>
<li><code>&lt;meta <strong>http-equiv=&quot;pics-label&quot;</strong> content=&#39;(pics-1.1 &quot;http://www.icra.org/pics/vocabularyv03/&quot; l gen true for &quot;http://learningtheworld.eu&quot; r (n 0 s 0 v 0 l 1 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 1))&#39; /&gt;</code></li></ol>

<p>Since in the nineties internet progress was driven by porn, <acronym>PICS</acronym> is mostly about <strong>child protection</strong>, although it can be used to describe a machine readable privacy statement and other things as well. Think of an early predecessor of the Semantic Web. Or in microformats it would be <em>hPorn</em>. Well, I assume very few of you run xxx sites, so why am I wasting your time with this post?</p>

<p>Because the <acronym>PICS</acronym> standard is most convenient when your website is <em>not</em> pornographic. The standard provides a way to label your website and distinguish between pictures of naked people as Greek ancient sculptures, in an educational or journalistic context, or as mere porn. But despite the name it&rsquo;s not only suitable for rating pictures, it&rsquo;s for text content or user-generated content as well, among other criteria. Plus the <acronym>PICS</acronym> label is <strong>recognized by Google</strong>, so it&rsquo;s not about rushing ahead and self-censoring to please our overlords, it&rsquo;s a measure to maximize the target audience and avoid mislead traffic. I believe a few of your clients may appreciate that. For example although this post uses quite a few trigger words, <acronym>PICS</acronym> provides a way to tell search engines and cybersitting software about the true nature of this article. I love that ability!</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/somebody-please-think-of-the-children/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
