<?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>Die Welt ist gar nicht so. &#187; html</title>
	<atom:link href="http://blog.dieweltistgarnichtso.net/tag/html/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.dieweltistgarnichtso.net</link>
	<description>Sie ist ganz anders.</description>
	<lastBuildDate>Mon, 23 Sep 2013 15:41:20 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.35</generator>
	<item>
		<title>Ogg Opus richtig verwenden im HTML-Audio-Element</title>
		<link>http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element</link>
		<comments>http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element#comments</comments>
		<pubDate>Sun, 07 Oct 2012 19:09:19 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[alternativlos]]></category>
		<category><![CDATA[fefe]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[opus]]></category>
		<category><![CDATA[vorbis]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=5473</guid>
		<description><![CDATA[Lacher des Tages: Den Podcast Alternativlos gibt es jetzt auch im Audioformat Opus und Fefe erzählt dazu Folgendes: Die Browser-Integration funktioniert im Moment nur in Firefox 15 und neuer, und die Selektion innerhalb des Audio-Tags funktioniert nicht, und außerdem haben &#8230; <a href="http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Lacher des Tages: Den Podcast <a href="http://www.alternativlos.org/"><i>Alternativlos</i></a> gibt es jetzt auch im Audioformat <a href="http://de.wikipedia.org/wiki/Opus_(Audioformat)"><i>Opus</i></a> und <a href="http://blog.fefe.de/?ts=ae8e92f9"><i>Fefe</i> erzählt dazu Folgendes</a>:
</p>
<blockquote cite="http://blog.fefe.de/?ts=ae8e92f9">
<p>
Die Browser-Integration funktioniert im Moment nur in Firefox 15 und neuer, und die Selektion innerhalb des Audio-Tags funktioniert nicht, und außerdem haben auch noch Ogg Vorbis und Ogg Opus den gleichen MIME-Type, daher sah ich mich gezwungen, eine stinkende Javascript-Browserweiche für Firefox 15 einzubauen.
</p>
</blockquote>
<p>
Da hat wohl jemand <del>das Memo</del> <ins>die Doku</ins> nicht gelesen! <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-source-type">Laut <abbr title="Hypertext Markup Language">HTML</abbr>-Standard</a> und <a href="http://tools.ietf.org/html/rfc4281"><abbr title="Request For Comments">RFC</abbr> 4281</a> kann man hier nämlich durchaus unterscheiden – in diesem Fall gehört ins <code>type</code>-Attribut der <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-source-element"><code>&lt;source&gt;</code>-Elemente</a> <code>audio/ogg; codecs=vorbis</code> (<a href="http://tools.ietf.org/html/rfc5334#page-4"><abbr title="Request For Comments">RFC</abbr> 5334</a>) oder <code>audio/ogg; codecs=opus</code> (<a href="http://tools.ietf.org/html/draft-terriberry-oggopus-01#section-8"><i>Opus</i>-<abbr title="Internet Engineering Task Force">IETF</abbr>-Draft</a>). <strong><a href="http://daten.dieweltistgarnichtso.net/src/audio-element-test/">Hier ist die Demo.</a></strong>
</p>
<span id="more-5473"></span>
<ins datetime="2012-10-08T09:39:39+00:00">
<p>
Nur fürs Protokoll, so geht das:
</p>
<code>&lt;audio&gt;
    &lt;source src=opus.opus type="audio/ogg; codecs=opus"&gt;
    &lt;source src=vorbis.oga type="audio/ogg; codecs=vorbis"&gt;
    &lt;source src=mp3.mp3 type="audio/mpeg"&gt;
&lt;/audio&gt;
</code>
</ins>
<p>
Bei <a href="http://alternativlos.org/27/"><i>Alternativlos</i> 27</a> sieht das übrigens so aus:
</p>
<blockquote cite="http://alternativlos.org/27/">
<code>&lt;script&gt;
var codec="ogg"
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent) &#038;&#038; RegExp.$1&gt;=15)
  codec="opus"
&lt;/script&gt;

&lt;audio controls preload=none style="padding-top:70px"&gt;
&lt;script&gt;
  document.write('&lt;source src="http://alternativlos.cdn.as250.net/alternativlos-27.',codec,'" type="audio/ogg"&gt;')
&lt;/script&gt;
&lt;noscript&gt;
  &lt;source src="http://alternativlos.cdn.as250.net/alternativlos-27.ogg" type="audio/ogg"&gt;
&lt;/noscript&gt;
  &lt;source src="http://alternativlos.cdn.as250.net/alternativlos-27.mp3" type="audio/mp3"&gt;
  [Browser zu antik]
&lt;/audio&gt;</code>
</blockquote>
<ins datetime="2012-10-08T09:39:39+00:00">
<p>
Warum das schlecht ist, liegt vor Allem an der <a href="http://de.wikipedia.org/wiki/Browserweiche">Browserweiche</a>: <i>Firefox</i> 15 ist nicht der einzige Browser mit <i>Opus</i>-Unterstützung, <a href="http://tech.velmont.net/supporting-audio-codec-opus-in-opera-12/"><i>Opera</i> 12 kann das auch</a>; wegen <a href="http://zipmeme.com/meme/86317/">solcher Fälle</a> sollte man Daten <a href="http://www.teialehrbuch.de/Kostenlose-Kurse/HTML/3262-Deklaratives-Markup.html">deklarativ</a> abliefern. Nebenbei: Für die Ermittlung unterstützter Formate existiert <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-navigator-canplaytype"><code>canPlayType()</code></a>.
</p>
</ins>
<p>
Mit den <a href="http://en.wikiquote.org/wiki/Jamie_Zawinski#Attributed">Worten von <i>Jamie Zawinski</i></a>:
</p>
<blockquote cite="http://en.wikiquote.org/wiki/Jamie_Zawinski#Attributed">
<p>
Some people, when confronted with a problem, think &#8220;I know, I&#8217;ll use regular expressions.&#8221; Now they have two problems. 
</p>
</blockquote>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://alternativlos.cdn.as250.net/alternativlos-27.ogg" length="59730046" type="audio/ogg" />
<enclosure url="http://alternativlos.cdn.as250.net/alternativlos-27.mp3" length="112305435" type="audio/mpeg" />
		</item>
		<item>
		<title>Textänderungen dekorieren mit CSS</title>
		<link>http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css</link>
		<comments>http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css#comments</comments>
		<pubDate>Sun, 11 Sep 2011 22:20:41 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[del]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ins]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3837</guid>
		<description><![CDATA[Änderungen in HTML-Dokumenten werden durch die Tags &#60;del&#62; und &#60;ins&#62; ausgezeichnet. Standardmäßig werden diese vom Browser durch- bzw. unterstrichen angezeigt. Problematisch ist Letzteres, da Unterstreichungen typischerweise auf Hyperlinks hinweisen. Bei komplett unterstrichene Absätzen leidet zudem die Lesbarkeit. Dabei geht es &#8230; <a href="http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Änderungen in <abbr title="Hypertext Markup Language">HTML</abbr>-Dokumenten werden durch die Tags <code>&lt;del&gt;</code> und <code>&lt;ins&gt;</code> ausgezeichnet. Standardmäßig werden diese vom Browser durch- bzw. unterstrichen angezeigt. Problematisch ist Letzteres, da Unterstreichungen typischerweise auf Hyperlinks hinweisen. Bei komplett unterstrichene Absätzen leidet zudem die Lesbarkeit. 
</p>
<p>
Dabei geht es optisch durchaus besser: <a href="http://de.wikipedia.org/wiki/Heise_online"><i>heise online</i></a> etwa umklammert Textänderungen und stellt längeren Hinzufügungen die Anmerkung „Update:“ voran – bei mehreren Überarbeitungen sogar durchnummeriert. Ein Beispiel hierfür ist die <a href="http://www.heise.de/newsticker/meldung/Facebook-beschwert-sich-ueber-datenschutzfreundlichen-2-Klick-Button-2-Update-1335658.html">Berichterstattung zum datenschutz<del>schonenden</del><ins>freundlichen</ins> Facebook-Button</a>.
</p>
<p>
<i>Heise online</i> erledigt dies serverseitig und gibt entsprechend verändertes <abbr title="Hypertext Markup Language">HTML</abbr> zurück. Machbar ist die Dekoration jedoch auch ohne zusätzliche Programmlogik — unter Nutzung der <abbr title="Cascading Style Sheets">CSS</abbr>-Pseudo-Elemente <a href="http://www.w3.org/TR/css3-content/#inserting"><code>::before</code> und <code>::after</code></a> sowie des <code>content</code>-Attributs. Mit diesen ist es nämlich möglich, dem Seitenlayout vollkommen neue Elemente hinzuzufügen.
</p>
<p>
Befinden sich etwa innerhalb eines <code>&lt;article&gt;</code>-Elements mehrere Absätze (<code>&lt;p&gt;</code>), fügt die <abbr title="Cascading Style Sheets">CSS</abbr>-Anweisung <code>article &gt; ins &gt; p:first-child::before { content: "Nachtrag: " }</code> vor dem ersten Absatz jeder eingefügten Textstelle einen entsprechender Hinweis ein. Auf ähnliche Weise lassen sich Änderungen innerhalb von Absätzen und mehrere Absätze umfassende Einfügungen mit <a href="http://en.wikipedia.org/wiki/Bracket#Angle_and_half_brackets_.EF.BD.A2.EF.BD.A3.2C_.E2.8C.8A_.E2.8C.8B">(halben) eckige Klammern</a> umgeben.
</p>
<p>
Die noch fehlende Nummerierung der Änderungen erfolgt mit <a href="http://www.w3.org/TR/css3-lists/#counter-style"><abbr title="Cascading Style Sheets">CSS</abbr>-Zählern</a>; Peter Kröner hat das schon einmal <a href="http://www.peterkroener.de/effektvolles-zahlen-mit-css-countern-und-absoluter-positionierung/">erklärt</a>. Am Ende steht eine wesentlich hübscheres und nützlicheres Dekoration für Änderungen in <abbr title="Hypertext Markup Language">HTML</abbr>-Dokumenten.
</p>
<p>
<strong><a href="http://daten.dieweltistgarnichtso.net/src/css-del-ins.html">Hier ist die Demo.</a></strong>
</p>
<p>
<small>
Ebenfalls interessant ist <a href="http://snook.ca/archives/html_and_css/an_experiment_w">diese Javascript-Technik</a> zum dynamischen Anzeigen von Textänderungen.
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Panel zu Webstandards auf der re:publica 2011</title>
		<link>http://blog.dieweltistgarnichtso.net/panel-zu-webstandards-auf-der-republica-2011</link>
		<comments>http://blog.dieweltistgarnichtso.net/panel-zu-webstandards-auf-der-republica-2011#comments</comments>
		<pubDate>Mon, 11 Apr 2011 23:39:22 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[rp11]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3248</guid>
		<description><![CDATA[„Quo vadis, Web?“ – Wie werden relevante Standards entwickelt, wie sollten sie entwickelt werden und welche Verantwortung hat man als Software-Entwickler? Diese Fragen werde ich auf der diesjährigen re:publica mit Peter Kröner, Max Winde und Regine Heidorn diskutieren. Da ich &#8230; <a href="http://blog.dieweltistgarnichtso.net/panel-zu-webstandards-auf-der-republica-2011">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
<a href="http://re-publica.de/11/blog/panel/quo-vadis-web/">„Quo vadis, Web?“</a> – Wie werden relevante Standards entwickelt, wie sollten sie entwickelt werden und welche Verantwortung hat man als Software-Entwickler? Diese Fragen werde ich auf der diesjährigen <a href="http://re-publica.de/11/"><i>re:publica</i></a> mit <a href="http://www.peterkroener.de/">Peter Kröner</a>, <a href="http://343max.de/">Max Winde</a> und <a href="http://bit-boutique.de/">Regine Heidorn</a> diskutieren.
</p>
<p>
Da ich als <span title="Moderator eines Panels"><i>Internet-Experte</i></span> freien Eintritt erhalte, möchte ich nun mein Ticket (Blogger, <i>early bird</i>, 55 <span title="Euro">Nazigold</span>) zeitnah verkaufen; Anfragen in den Kommentaren oder per Email (du solltest <a href="mailto:nils+rp11ticket@dieweltistgarnichtso.net">hier</a> klicken), ernstgemeinte Zuschriften bevorzugt.
</p>
<ins datetime="2011-04-12T21:39:20+00:00">
<p>
Verkauft.
</p>
</ins>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/panel-zu-webstandards-auf-der-republica-2011/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linkschleuder (4)</title>
		<link>http://blog.dieweltistgarnichtso.net/linkschleuder-4</link>
		<comments>http://blog.dieweltistgarnichtso.net/linkschleuder-4#comments</comments>
		<pubDate>Tue, 17 Nov 2009 18:58:29 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Linkschleuder]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[c-base]]></category>
		<category><![CDATA[canalplus]]></category>
		<category><![CDATA[har09]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[juden]]></category>
		<category><![CDATA[porn]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[sex]]></category>
		<category><![CDATA[theora]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=1382</guid>
		<description><![CDATA[Großartige Canal Plus-Werbung Electric Razors and Orthodox Judaism What if having sex made you lose your memory ? (via) The truth about regex-based HTML parsers Auf der HAR 2009 druckte man mit einem Reprap Plastikgeld und Handschellenschlüssel In Defense of &#8230; <a href="http://blog.dieweltistgarnichtso.net/linkschleuder-4">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<ul>
	<li><a href="http://www.youtube.com/watch?v=X7MVtgXMclI">Großartige <i>Canal Plus</i>-Werbung</a></li>

	<li><a href="http://en.wikipedia.org/wiki/Shaving_in_judaism#Electric_razors_and_Orthodox_Judaism">Electric Razors and Orthodox Judaism</a></li>

	<li><a href="http://edition.cnn.com/2009/HEALTH/11/04/transient.global.amnesia/index.html">What if having sex made you lose your memory ?</a> (<a href="http://www.thefrisky.com/post/246-what-if-having-sex-made-you-lose-your-memory/">via</a>)</li>

	<li><a href="http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454">The truth about regex-based <abbr title="Hypertext Markup Language">HTML</abbr> parsers</a></li>

	<li><a href="http://blog.erikdebruijn.nl/archives/114-With-great-3D-printing-power-comes-great-responsibility-Printing-keys-coins.html">Auf der <abbr title="Hacking at Random">HAR</abbr> 2009 druckte man mit einem Reprap Plastikgeld und Handschellenschlüssel</a></li>

	<li><a href="http://reason.com/archives/2009/10/27/in-defense-of-extreme-porn/singlepage">In Defense of Extreme Pornography</a> — Why Janet Romano and Rob Zicari have no business <a href="http://en.wikipedia.org/wiki/United_States_v._Extreme_Associates">being in federal prison</a>.
(<a href="http://twitter.com/maltewelding/status/5365994805">via</a>)</li>

	<li><a href="http://www.madore.org/~david/computers/quine.html">Wie man Quines programmiert</a></li>

	<li><a href="http://rossum.posterous.com/avr-homebrew-device-with-iphone-aspirations">AVR Homebrew Device with Iphone-Aspirations</a> (<a href="via http://hackaday.com/2009/11/03/8-bit-device-quenches-iphone-envy/">via</a>)</li>

	<li>Die von <i>trash</i> designte <a href="http://wiki.c-base.org/coredump/CeVa"><i>c-base</i>-Schriftart</a>
</li>

	<li><a href="http://www.0xdeadbeef.com/weblog/?p=1518">Bringing Theora to Youtube (the hard way)</a></li>

	<li>Eine Suchmaschine für <a href="http://de.wikipedia.org/wiki/Dia_(Software)">Dia</a>-Formen: <a href="http://diashapes.appspot.com/">Diashapes</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/linkschleuder-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linkschleuder (1)</title>
		<link>http://blog.dieweltistgarnichtso.net/linkschleuder-1</link>
		<comments>http://blog.dieweltistgarnichtso.net/linkschleuder-1#comments</comments>
		<pubDate>Mon, 19 Oct 2009 06:00:52 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Linkschleuder]]></category>
		<category><![CDATA[advancewars]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[vorbis]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=1286</guid>
		<description><![CDATA[Nach dem Vorbild anderer Blogs habe ich mich entschlossen, eine regelmäßige Linkliste mit interessanten Fundstücken zu erstellen, jeweils veröffentlicht am Montagmorgen. Hier die erste Ausgabe: Mit Vorbis enkodierte Android-Klingeltöne werden lag-frei abgespielt — im Gegensatz zu MP3-Dateien Advance Wars 2 &#8230; <a href="http://blog.dieweltistgarnichtso.net/linkschleuder-1">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Nach dem Vorbild anderer Blogs habe ich mich entschlossen, eine regelmäßige Linkliste mit interessanten Fundstücken zu erstellen, jeweils veröffentlicht am Montagmorgen. Hier die erste Ausgabe:
</p>
<ul>
	<li><a href="http://xanderx.com/2009/09/21/use-ogg-vorbis-for-lag-free-ringtones-on-android/">Mit Vorbis enkodierte Android-Klingeltöne werden lag-frei abgespielt</a> — im Gegensatz zu <abbr title="MPEG-1 Audio Layer 3">MP3</abbr>-Dateien</li>
	<li><a href="http://advancewars.net/multimedia/soundtracks/aw2/">Advance Wars 2 Soundtrack zum Download</a></li>
	<li>In einer Diskussion auf der <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>-Mailingliste erwähnt: <a href="http://disruptive-innovations.com/zoo/20040830/HTMLoverlays.html"><abbr title="Hypertext Markup Language">HTML</abbr> Overlays</a>, ein Analog zu <a href="https://developer.mozilla.org/en/XUL_Overlays"><abbr title="XML User Interface Language">XUL</abbr> Overlays</a></li>
	<li><a href="http://www.freie-radios.net/portal/content.php?id=26263"><i>Dämmerung des demokratischen Rechtsstaates ?</i></a> Eine Radiosendung über Carl Schmitt und Otto Depenheuer als Philosophen des konservativ-autoritären Staates und Franz Josef Jung und Wolfgang Schäuble als dessen Praktiker. Letzterer <a href="http://www.jura.fu-berlin.de/einrichtungen/we3/professoren/ls_heintzen/Ringvorlesung_Terrorismus/index.html">referiert</a> übrigens heute Abend an der <abbr title="Freie Universität">FU</abbr> Berlin zum Thema <i>Was ist Freiheit ohne Sicherheit ?</i>.</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/linkschleuder-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress-Plugin zum Ersetzen von Quo-Entities</title>
		<link>http://blog.dieweltistgarnichtso.net/wordpress-plugin-zum-ersetzen-von-quo-entities</link>
		<comments>http://blog.dieweltistgarnichtso.net/wordpress-plugin-zum-ersetzen-von-quo-entities#comments</comments>
		<pubDate>Sun, 09 Aug 2009 19:09:43 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=1118</guid>
		<description><![CDATA[In diesem Blog nutze ich XHTML 5, also die XML-Serialisierung des HTML-5-Standards; als XML-Dialekt ist das Markup somit den entsprechenden Parserregeln unterworfen. Da XML jedoch nur fünf benannte Zeichenreferenzen (named entities) definiert (&#38;lt;, &#38;gt;, &#38;amp;, &#38;apos; und &#38;quot;), ergibt sich &#8230; <a href="http://blog.dieweltistgarnichtso.net/wordpress-plugin-zum-ersetzen-von-quo-entities">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
In diesem Blog nutze ich <i><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5</i>, also die <abbr title="Extensible Markup Language">XML</abbr>-Serialisierung des <abbr title="Hypertext Markup Language">HTML</abbr>-5-Standards; als XML-Dialekt ist das Markup somit den entsprechenden Parserregeln unterworfen. Da XML jedoch nur fünf <a href="http://de.wikipedia.org/wiki/Zeichenreferenz#Benannte_Zeichenreferenzen">benannte Zeichenreferenzen</a> (<i xml:lang="en">named entities</i>) <a href="http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent">definiert</a> (<code>&amp;lt;</code>, <code>&amp;gt;</code>, <code>&amp;amp;</code>, <code>&amp;apos;</code> und <code>&amp;quot;</code>), ergibt sich ein Problem: Die in WordPress standardmäßig vorkommenden Referenzen <code>&amp;laquo;</code> und <code>&amp;raquo;</code> bringen den Parser aus dem Tritt und führen zum <a href="http://commons.wikimedia.org/wiki/File:Yellow_screen_of_death.png"><i xml:lang="en">Yellow Screen of Death</i></a>.
</p>
<p>
Bisher erforderte dies ein Patchen von WordPress nach dem Installieren jeder neuen Version. Um das Problem dauerhaft aus dem Weg zu bekommen, habe ich nun ein kleines WordPress-Plugin geschrieben, dass alle Vorkommen von <code>&amp;laquo;</code> und <code>&amp;raquo;</code> durch die ensprechenden Zeichen „«“ und „»“ ersetzt. Aus Gründen der Vollständigkeit kümmert es sich ebenfalls um <code>&amp;lsaquo;</code> und <code>&amp;rsaquo;</code> („‹“ und „›“) — an dieser Stelle ein Gruß an das <a href="http://www.raquo.net/">Quo-Netzwerk</a>.
</p>
<p>
<a href="http://daten.dieweltistgarnichtso.net/src/wpquo.php"><i>wpquo</i></a> ist freie Software unter der <a href="http://sam.zoy.org/wtfpl/"><abbr title="What The Fuck">WTF</abbr> Public License</a>. Zur Installation einfach die heruntergeladene Datei <i>wpquo.php</i> in das Verzeichnis <i>/wp-content/plugins/</i> hochladen und das Plugin im WordPress-Admin-Interface aktivieren.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/wordpress-plugin-zum-ersetzen-von-quo-entities/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nochmal genau erklärt: CC-Markup mit HTML 5</title>
		<link>http://blog.dieweltistgarnichtso.net/nochmal-genau-erklart-cc-markup-mit-html-5</link>
		<comments>http://blog.dieweltistgarnichtso.net/nochmal-genau-erklart-cc-markup-mit-html-5#comments</comments>
		<pubDate>Sat, 18 Jul 2009 06:53:19 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Originärer Inhalt]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[creativecommons]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[spreeblick]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=1023</guid>
		<description><![CDATA[Die hier vorgestellte Vorgehensweise ist aufgrund von Änderungen an der HTML5-Spezifikation nicht mehr aktuell; u.A. wurde &#60;legend&#62; als Kindelement von &#60;figure&#62; entfernt und die Mikrodatasyntax geändert. Bevor ihr also Ähnliches versucht, schaut auch die aktuellen Abschnitte zu den entsprechenden Markup-Techniken &#8230; <a href="http://blog.dieweltistgarnichtso.net/nochmal-genau-erklart-cc-markup-mit-html-5">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<ins datetime="2009-10-08T17:11:38+00:00">
<p>
<strong>Die hier vorgestellte Vorgehensweise ist aufgrund von Änderungen an der <abbr title="Hypertext Markup Language">HTML</abbr>5-Spezifikation nicht mehr aktuell</strong>; u.A. wurde <code>&lt;legend&gt;</code> als Kindelement von <code>&lt;figure&gt;</code> entfernt und die Mikrodatasyntax geändert. Bevor ihr also Ähnliches versucht, schaut auch die <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#the-figure-element">aktuellen</a> <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#microdata">Abschnitte</a> zu den entsprechenden Markup-Techniken an.
</p>
</ins>
<p>
In den letzten Tagen bastelte ich eine verbesserte Version des <abbr title="Creative Commons">CC</abbr>-<abbr title="Hypertext Markup Language">HTML</abbr>-5-Markup-Generators. Kurz gesagt handelt es sich hier um ein Webanwendung, die das Präsentieren von CC-Inhalten vereinfacht. Hierzu wird aus Eingaben etwa zu Urheber und Lizenz passendes (X)HTML generiert. Dieses kann dann einfach auf einer Webseite, etwa dem eigenen Blog eingefügt und mit ein bisschen <abbr title="Cascading Stylesheets">CSS</abbr> ansprechend präsentiert werden; ein Beispiel findet sich im <a href="http://blog.dieweltistgarnichtso.net/bre-pettis-als-south-park-figur">vorigen Blogeintrag</a>.
</p>
<p>
Nachdem der <a href="http://daten.dieweltistgarnichtso.net/src/cc-license-markup/generator2.xhtml">zugehörige <abbr title="Uniform Resource Locator">URL</abbr></a> bereits in der schnelllebigen Twitterwelt <a href="http://twitter.com/wetterfrosch/statuses/2693835599">verbreitet wird</a>, halte ich es für eine gute Idee, das Markup zu erklären. Denn während einige der verwendeten Elemente und Attribute sicherlich bekannt sind, stellt der Kern des Konstrukts ein Novum dar und wird erst durch die neuen Features von <a href="http://de.wikipedia.org/wiki/HTML_5">(X)HTML 5</a> ermöglicht. Zukunftsmusik ist es damit allerdings nicht: Das Markup wird in allen <a href="http://www.mozilla-europe.org/de/firefox/">einigermaßen</a> <a href="http://www.opera.com/browser/">aktuellen</a> <a href="http://www.apple.com/de/safari/">Browsern</a> korrekt geparst.
</p>
<p>
Wer sich für die technischen Details <em>nicht</em> interessiert, kann an dieser Stelle aufhören zu lesen und sich sofort <a href="http://daten.dieweltistgarnichtso.net/src/cc-license-markup/generator2.xhtml">passendes Markup generieren lassen</a>. Für alle anderen geht es gleich weiter, direkt nach dem Klick.
</p>
<span id="more-1023"></span>
<p>
Fangen wird mit dem Offensichtlichen an: Das generierte <a href="#xhtml-fragment-1">(X)HTML-Fragment</a> besteht aus einem <code>&lt;figure&gt;</code>-Element, welches als Kindelemente multimedialen Inhalt — Bild, Ton oder Video — und ein <code>&lt;legend&gt;</code>-Element enthält. <code>&lt;figure&gt;</code> ist ein mit HTML 5 neu eingeführtes Element zum Gruppieren von Inhalten, die die mit <code>&lt;legend&gt;</code> beschriftet werden. Hierbei ist es egal, ob die Beschriftung an erster oder letzter Stelle steht; genauer erklärt ist das Ganze natürlich <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-0.html#the-figure-element">in der Spezifikation</a>.
</p>
<figure id="xhtml-fragment-1">
<code>&lt;figure item="work"&gt;
    &lt;img src="http://example.org/kraut.png" itemprop="about"/&gt;
    &lt;legend&gt;
        &lt;span itemprop="title"&gt;Sauerkraut&lt;/span&gt;
        &lt;a itemprop="author" href="http://example.org/"&gt;Bernd Liefert&lt;/a&gt;
        &lt;small&gt;
            &lt;a itemprop="license" href="http://creativecommons.org/licenses/by/3.0/de/"&gt;
                &lt;abbr title="Creative Commons Namensnennung"&gt;CC-BY&lt;/abbr&gt;
            &lt;/a&gt;
        &lt;/small&gt;
    &lt;/legend&gt;
&lt;/figure&gt;</code>
<legend>Beispiel: Auszeichnung von Titel, Autor und Lizenz eines Bilddokuments</legend>
</figure>
<p>
Was innerhalb des <code>&lt;legend&gt;</code>-Elements statt findet, sieht zunächst reichlich konventionell aus: Kindelemente sind ein <code>&lt;span&gt;</code>, ein Link und ein <code>&lt;small&gt;</code>, die jeweils Titel, Autor, und Lizenzinformationen zum mit <code>&lt;legend&gt;</code> beschrifteten Werk angeben; in Letzterem wird der Name der Lizenz angeben und auf diese verlinkt. Wichtig und neu sind hier vor allem zwei Punkte: Einmal die Verwendung von <code>&lt;small&gt;</code>, das <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-small-element">laut Spezifikation</a> für rechtliche Informationen verwendet werden sollte, zweitens die Nutzung der <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#microdata"><i>Microdata</i>-Annotationsmöglichkeiten</a> von HTML 5, welche es einem Parser ermöglichen, die Semantik der präsentierten Informationen aufzuschlüsseln — die Vorteile <a href="http://de.wikipedia.org/wiki/Maschinenlesbarkeit">maschinenlesbaren</a> Markups müssen wohl kaum mehr erläutert werden in einer Welt, in der man bei Flickr, Google und Yahoo nach CC-lizenzierten Bildern suchen kann.
</p>
<p>
Abstrakt betrachtet funktionieren <i>Microdata</i>-Annotationen ähnlich wie das <a href="http://wiki.creativecommons.org/RDFa#Content_discovery">von Creative Commons genutzte</a> <a href="http://en.wikipedia.org/wiki/RDFa"><abbr title="Resource Description Framework in attributes">RDFa</abbr></a>: Objekten können maschinenlesbare Name-Wert-Paare zugewiesen werden, etwa „<b>Dieses Bild</b> hat den <b>Titel</b> ‚<b>Sauerkraut</b>‘.“. HTML5 stellt hierzu die beiden Attribute <code>item</code> und <code>itemprop</code> und ein <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#licensing-works">vordefiniertes Vokabular</a> für Urheber- und Lizenzinformationen bereit. Das beschriebene Objekt ist hier das mit <code>itemprop="about"</code> gekennzeichnete erste Kindelement der eingangs beschriebenen <code>&lt;figure&gt;</code>-Gruppierung, die ihrerseits mit <code>item="work"</code> die Kategorie der Metadaten konkretisiert.
</p>
<p>
Dass das so generierte Markup sich auf verschiedene Weisen dekorieren lässt, ist einfach zu zeigen: Der <a href="#stil-wetter">Wetter-Stil</a> (<a href="http://daten.dieweltistgarnichtso.net/src/cc-license-markup/wetter.css">Stylesheet</a>) demonstriert, wie anhand der verlinkten Lizenz unterschiedliche Icons präsentiert werden können. Einfacher gehalten ist der <a href="#stil-spreeblick">Spreeblick-Stil</a> (<a href="http://daten.dieweltistgarnichtso.net/src/cc-license-markup/spreeblick.css">Stylesheet</a>), der in der unteren linken Bildecke ein simples CC-Icon darstellt, bei dessen Überfahren mit der Maus der Urheber des Werkes angezeigt wird.
</p>
<figure id="stil-wetter">
    <img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/cc-license-markup/stil-wetter.png"/>
    <legend>CC-Bildunterschrift nach einer <a href="http://einmachglas.wordpress.com/2009/03/10/creative-commons-html-code/">Idee</a> von Matthias „Wetter“ Mehldau</legend>
</figure>
<figure id="stil-spreeblick">
    <img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/cc-license-markup/stil-spreeblick.png"/>
    <legend>CC-Notiz wie auf <a href="http://spreeblick.com">Spreeblick.com</a></legend>
</figure>
<p>
Apropos Spreeblick — <a href="#xhtml-fragment-spreeblick">deren Markup</a> sieht im direkten Vergleich eher arm aus: Nicht nur, dass vor Allem generische Elemente wie &lt;div&gt; und &lt;span&gt; verwendet werden — CSS wird hier genutzt, um Inhalte zu präsentieren. Und während ersteres durch die mangelnden Möglichkeiten von HTML 4 bedingt und somit verzeihlich ist, zeigt letzteres, dass der verantwortliche Webfrickler die Philosophie hinter der HTML und CSS zu Grunde liegenden Trennung von Inhalt und Präsentation ganz offensichtlich kaum verstanden hat. Schade eigentlich, semantisch ist derartiges Markup so nämlich garantiert nicht.
</p>
<figure id="xhtml-fragment-spreeblick">
    <code>&lt;div style="background-image: url(/wp-content/imagemagic/bad361f52671c79d858591b22df789f3.jpg); width: 499px; height: 273px;" class="imageWorks2_divBox imgfull cc"&gt;
    &lt;a href="http://www.flickr.com/photos/hamburgerjung/119336525/" class="license cc"&gt;
        &lt;span class="icon"&gt;cc&lt;/span&gt;
        &lt;span class="text"&gt;HamburgerJung&lt;/span&gt;
    &lt;/a&gt;
&lt;/div&gt;</code>
    <legend>Markup zur Präsentation eines Bildes in einem <a href="http://www.spreeblick.com/2009/07/17/sommerloch/">aktuellen Artikel</a>auf Spreeblick</legend>
</figure>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/nochmal-genau-erklart-cc-markup-mit-html-5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demo: Audio-Linkliste mit HTML 5</title>
		<link>http://blog.dieweltistgarnichtso.net/demo-audio-linkliste-mit-html-5</link>
		<comments>http://blog.dieweltistgarnichtso.net/demo-audio-linkliste-mit-html-5#comments</comments>
		<pubDate>Sat, 11 Jul 2009 01:45:55 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Originärer Inhalt]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[linklist]]></category>
		<category><![CDATA[trb]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=985</guid>
		<description><![CDATA[Gestern Nacht hab ich mal eben so eine Linkliste zusammengehackt, in denen der jeweils aktuell zur Tonspur passende Link hervorgehoben wird — einfach so, mit dem &#60;audio&#62;-Element aus HTML 5 und ein bisschen Javascript. Eine überaus nützliche Doku zum Thema &#8230; <a href="http://blog.dieweltistgarnichtso.net/demo-audio-linkliste-mit-html-5">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Gestern Nacht hab ich mal eben so eine Linkliste zusammengehackt, in denen der jeweils aktuell zur Tonspur passende Link hervorgehoben wird — einfach so, mit dem <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#audio"><code>&lt;audio&gt;</code>-Element</a> aus <abbr title="Hypertext Markup Language">HTML</abbr> 5 und ein bisschen Javascript. Eine überaus nützliche Doku zum Thema fand ich <a href="https://developer.mozilla.org/en/Using_audio_and_video_in_Firefox">bei Mozilla im Wiki</a>. Also los, zieht sie euch rein, die <a href="http://daten.dieweltistgarnichtso.net/src/audio-linkliste.xhtml">Hyperaudio-Demo</a> !
</p>
<ins datetime="2009-07-12T10:52:00+00:00">
<p>
So, ich hab das jetzt noch ein bisschen überarbeitet und für die <a href="http://trackback.fritz.de/2009/07/11/trb-136-myspace-piratenpartei-wechselwahler-annalist/">aktuelle Trackback-Folge</a> umgesetzt: <a href="http://daten.dieweltistgarnichtso.net/src/audio-linkliste/audio-linkliste-trackback.xhtml">Direkthyperfritz</a>. Und falls <i>rein zufällig</i> mal jemand vom Sender reinschauen sollte, möchte ich bei dieser Gelegenheit kurz anmerken, dass das nur mit dem freien Format Ogg <a href="http://de.wikipedia.org/wiki/Vorbis">Vorbis</a> funktioniert und sie das bitteschön anbieten könnten, schließlich können es Firefox und bald auch Opera und Chrome <i>out of the Box</i>, d.h. ohne nerviges Plugin abspielen.
</p>
</ins>
<p>
<small>
Browser, die zwar <code>&lt;audio&gt;</code> unterstützen, aber kein Vorbis, sind doof. Aber echt.
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/demo-audio-linkliste-mit-html-5/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CC-Markup mit HTML5</title>
		<link>http://blog.dieweltistgarnichtso.net/cc-markup-mit-html5</link>
		<comments>http://blog.dieweltistgarnichtso.net/cc-markup-mit-html5#comments</comments>
		<pubDate>Wed, 27 May 2009 04:00:53 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Originärer Inhalt]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[creativecommons]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=840</guid>
		<description><![CDATA[Dieser Artikel ist obsolet. Neue und bessere Informationen gibt es in einem aktuelleren Beitrag auf diesem Blog. Basierend auf der bereits erwähnten Anregung von wetter, einer Mail auf der WHATWG-Mailingliste und einigen Stunden Arbeit, präsentiert Die Welt ist gar nicht &#8230; <a href="http://blog.dieweltistgarnichtso.net/cc-markup-mit-html5">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<ins datetime="2009-07-18T07:28:23+00:00">
<p>
Dieser Artikel ist obsolet. Neue und bessere Informationen gibt es in <a href="http://blog.dieweltistgarnichtso.net/nochmal-genau-erklart-cc-markup-mit-html-5">einem aktuelleren Beitrag</a> auf diesem Blog.
</p>
</ins>
<p>
Basierend auf der bereits erwähnten <a href="http://einmachglas.wordpress.com/2009/03/10/creative-commons-html-code/">Anregung von <i>wetter</i></a>, einer <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-May/019668.html">Mail auf der <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>-Mailingliste</a> und einigen Stunden Arbeit, präsentiert <i>Die Welt ist gar nicht so</i>, Deutschlands <em>flauschigstes</em> Weblog, nun eine Möglichkeit, einzelne Inhalte auf Webseiten mit Creative-Commons-Lizenzen auszuzeichnen. Und das funktioniert so:
</p>
<p>
In <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/"><abbr title="Hypertext Markup Language">HTML</abbr>5 / <abbr title="Etensible Hypertext Markup Language">XHTML</abbr>5</a> ist eine Kombination der Elemente <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-0.html#the-figure-element"><code>&lt;figure&gt;</code></a> und <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-legend-element"><code>&lt;legend&gt;</code></a> vorgesehen, um Inhalten eine Beschriftung zuzuordnen. Zudem ist die Semantik des <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-small-element"><code>&lt;small&gt;</code></a>-Elementes derart umdefiniert worden, dass es guten Gewissens für Urheberrechtshinweise genutzt werden kann. Das daraus abgeleitete Gerüst zur Anheftung einer Creative-Commons-Lizenz an bestimmte Inhalte (hier: ein Bild) hat also in etwa folgende Struktur:
</p>
<p>
<code>&lt;figure&gt;

    &lt;img src="http://images.example.org/lavalampe.png"&gt;

    &lt;legend&gt;
        &lt;span class="title"&gt;
            Shaky und seine Lavalampe
        &lt;/span&gt;
        &lt;a href="http://example.org/quelle"&gt;
            Bernd Lieferts
        &lt;/a&gt;
        &lt;small&gt;
            &lt;a href="http://creativecommons.org/licenses/by/3.0/de/"&gt;
                &lt;abbr title="Creative Commons Namensnennung"&gt;
                    CC-BY
                &lt;/abbr&gt;
            &lt;/a&gt;
        &lt;/small&gt;
    &lt;/legend&gt;

&lt;/figure&gt;</code>
</p>
<p>
Mit <a href="http://blog.dieweltistgarnichtso.net/uploads/src/cc-license-markup/style.css">ein bisschen <abbr title="Cascading Stylesheets">CSS</abbr></a> sieht das Ganze eigentlich ganz nett aus (<a href="http://blog.dieweltistgarnichtso.net/uploads/src/cc-license-markup/markup.xhtml">Beweis</a>). Alle, die zu faul zum selber Tippen sind, können sich per Javascript <a href="http://blog.dieweltistgarnichtso.net/uploads/src/cc-license-markup/generator.xhtml">entsprechendes Markup generieren</a> lassen — wobei sie natürlich entsprechende Stylesheets in der Hinterhand halten sollten (schaut doch einfach mal, wie <a href="http://twitter.com/343max">Max Winde</a> das bei <a href="http://spreeblick.com/">Spreeblick</a> gelöst hat).
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/cc-markup-mit-html5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(X)HTML: Updates dekorieren mit CSS</title>
		<link>http://blog.dieweltistgarnichtso.net/xhtml-updates-dekorieren-mit-css</link>
		<comments>http://blog.dieweltistgarnichtso.net/xhtml-updates-dekorieren-mit-css#comments</comments>
		<pubDate>Fri, 13 Feb 2009 18:41:04 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[del]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ins]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=439</guid>
		<description><![CDATA[Von Zeit zu Zeit ergibt sich bei einer Webseite die Notwendigkeit, neue Informationen einzupflegen. HTML enthält hierfür die Elemente &#60;del&#62; und &#60;ins&#62;, die im Browser üblicherweise als durchge- bzw. unter-strichen dargestellt werden. Vorteil hierbei: Die Informationen werden semantisch markiert und &#8230; <a href="http://blog.dieweltistgarnichtso.net/xhtml-updates-dekorieren-mit-css">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Von Zeit zu Zeit ergibt sich bei einer Webseite die Notwendigkeit, neue Informationen einzupflegen. <abbr title="Hypertext Markup Language">HTML</abbr> enthält hierfür die Elemente <code>&lt;del&gt;</code> und <code>&lt;ins&gt;</code>, die im Browser üblicherweise als durchge- bzw. unter-strichen dargestellt werden. Vorteil hierbei: Die Informationen werden semantisch markiert und sind so z.B. auch für Suchmaschinen als Veränderungen erkennbar.
</p>
<p>
Doch obwohl aktuelle Blog- bzw. Content-Management-Systeme das Einfügen entsprechender Tags recht einfach machen, scheint sich zumindest in Bezug auf das <code>&lt;ins&gt;</code>-Element ein anderer präsentationaler Ansatz etabliert zu haben. Oft werden <i>Updates</i> nämlich einfach in einem neuen Absatz eingefügt, der mit entsprechendem, oft fett formatierten, Präfix präsentiert vorkommt. (Beispiele: <a href="http://www.heise.de/newsticker/Apple-schliesst-kritische-Sicherheitsluecke-in-Safari-Update--/meldung/132487">Heise</a>, <a href="http://netzpolitik.org/2009/bericht-der-deutschen-bahn-zur-mitarbeiterueberwachung/">Netzpolitik</a>, <a href="http://www.spreeblick.com/2009/02/05/the-sound-of-spreeblick-bei-motorfm/">Spreeblick</a>).
</p>
<p>
Ich vermute, dass dieses <em>unsemantische</em> Markup hauptsächlich verwendet wird, um Änderungen deutlicher kenntlich zu machen – ganz nebenbei bemerkt sehen unterstrichene Absätze auch nicht gerade gut aus. Es liegt also nahe, zu versuchen, beide Lösungen mittels CSS zu vereinen.
</p>
<p>
Wichtig ist hierbei die, <a href="http://de.selfhtml.org/html/text/logisch.htm#aenderungsmarkierung">Sonderstellung</a> der beiden Elemente <code>&lt;del&gt;</code> und <code>&lt;ins&gt;</code> zu beachten: Kommen diese innerhalb von Block-Elementen vor, fungieren sie als Inline-Elemente, andererseits können sie als Block-Elemente selber Block-Elemente enthalten. Inline-Änderungsmarkierungen bestehen meistens nur aus wenigen Wörtern, deswegen kann bei ihnen auf eine prominente Auszeichnung verzichtet werden.
</p>
<p>
Zunächst entledigt man sich also des Standard-Stils für das <code>&lt;ins&gt;</code>-Element, um ihn gleich danach für Elemente, die innerhalb eines Absatzes vorkommen, wieder einzuführen:
<code>
ins {text-decoration:none;}
p ins {text-decoration:underline;}
</code>
</p>
<p>
Nun erhält das erste (Selektor <code>:first-child</code>) unmittelbare (Selektor <code>&gt;</code>) Kindelement eines <code>&lt;ins&gt;</code>-Elements das Update-Präfix. Für <i>inline</i> (d.h. innerhalb eines Absatzes) vorkommende Elemente wird diese Regel dann aufgehoben:
<code>
ins &gt; :first-child:before {content:"Update: ";font-weight:bold;}
p ins &gt; :first-child:before {content:none;}
</code>
</p>
<p>
Die hier vorgestellte, semantisch saubere Lösung setze ich übrigens auch auf diesem Blog ein. Verbesserungsvorschläge in den Kommentaren sind natürlich immer erwünscht.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/xhtml-updates-dekorieren-mit-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Vortrag vom CSS-Erfinder</title>
		<link>http://blog.dieweltistgarnichtso.net/ein-vortrag-vom-css-erfinder</link>
		<comments>http://blog.dieweltistgarnichtso.net/ein-vortrag-vom-css-erfinder#comments</comments>
		<pubDate>Fri, 21 Nov 2008 17:31:47 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=86</guid>
		<description><![CDATA[Heute war Håkon Wium Lie im Rahmen der Opera University Tours an der Technischen Universität Berlin und hielt einen Vortrag zum Thema Webstandards, hierbei ging er u. A. auf neue Entwicklungen im Bereich Web (z. B. CSS 3, sowie die &#8230; <a href="http://blog.dieweltistgarnichtso.net/ein-vortrag-vom-css-erfinder">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Heute war <a href="http://de.wikipedia.org/wiki/H%C3%A5kon_Wium_Lie">Håkon Wium Lie</a> im Rahmen der <a href="http://www.opera.com/company/education/tours/#germany">Opera University Tours</a> an der Technischen Universität Berlin und hielt einen Vortrag zum Thema Webstandards, hierbei ging er u. A. auf neue Entwicklungen im Bereich Web (z. B. CSS 3, sowie die <abbr>HTML</abbr>-Elemente <code>&lt;video&gt;</code> und <code>&lt;audio&gt;</code>) ein und rief die Zuhörer dazu auf, als Webentwickler selber für die Verbreitung von offenen Standards und patentfreien Formaten wie <a href="http://de.wikipedia.org/wiki/Ogg_Theora">Ogg Theora</a> einzutreten. Weiterhin bemängelte er das Fehlen einer ordentlichen Musiknotationssprache. Witzig: Er hat sein <a href="urn:isbn:0321193121">Buch über CSS</a> fast ganz mit CSS formatiert – <q>to prove a point</q>.</p>
<p>Die Opera University Tour wird in den nächsten Tagen noch in München, Lübeck und Hannover Halt machen; ich kann jedem am Web Interessierten empfehlen, die Chance zu nutzen. Seid ihr jedoch in einer anderen Stadt oder habt keine Zeit, ist das auch nicht schlimm – der mitreisende Praktikant versicherte mir nämlich, dass eine Videoaufnahme des Vortrags bald auf dem <a href="http://my.opera.com/universitytours/blog/">zugehörigen Blog</a> erscheinen würde.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/ein-vortrag-vom-css-erfinder/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neu: hCard mit Hackergotchi</title>
		<link>http://blog.dieweltistgarnichtso.net/neu-hcard-mit-hackergotchi</link>
		<comments>http://blog.dieweltistgarnichtso.net/neu-hcard-mit-hackergotchi#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:21:17 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=43</guid>
		<description><![CDATA[Julia Seeliger nutzt in ihrem Blog ein neues Theme, das auch Unterstützung für Avatare von Gravatar mitbringt. Auch Webdesigner Peter Kroener ist mit von der Partie. Super denkt sich der unbedarfte Nutzer, noch ein zu allen anderen Systemen inkompatibler Anbieter, &#8230; <a href="http://blog.dieweltistgarnichtso.net/neu-hcard-mit-hackergotchi">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Julia Seeliger nutzt in <a href="http://julia-seeliger.de/">ihrem Blog</a> ein neues Theme, das auch Unterstützung für Avatare von <a href="http://en.gravatar.com/">Gravatar</a> mitbringt. Auch Webdesigner <a href="http://www.peterkroener.de/">Peter Kroener</a> ist mit von der Partie. <q>Super</q> denkt sich der unbedarfte Nutzer, <q>noch ein zu allen anderen Systemen inkompatibler Anbieter, bei dem ich mich anmelden muss, um <em>Feature X</em> zu nutzen !</q>. Doch Rettung naht – in Form des <a href="http://microformats.org/wiki/hcard">hcard</a>-<a href="https://secure.wikimedia.org/wikipedia/de/wiki/Mikroformat">Mikroformats</a>.
</p>

<p>
Mikroformate bieten eine Einbettungsmöglichkeit <em>semantischer</em> Inhalte in (X)HTML; über die Attribute <code>class</code>, <code>rel</code> und <code>ref</code> werden die entsprechenden Informationen maschinenlesbar markiert. Die Nutzung von XML-Namensräumen wäre wohl der <em>sauberere</em> Ansatz, verträgt sich jedoch nicht mit <a href="http://en.wikipedia.org/wiki/Tag_soup">Tagsoup</a>-Apologeten wie <a href="http://garv.in/serendipity/index.php">Garvin Hicking</a>, der leider <a href="http://board.s9y.org/viewtopic.php?t=13202&#038;highlight=xhtml">nicht viel von validem Markup hält</a>.
</p>

<p>
Die hCard-Spezifikation basiert auf dem bekannten und verbreiteten Standard <a href="https://secure.wikimedia.org/wikipedia/de/wiki/Vcard">vCard</a> (<a href="http://www.ietf.org/rfc/rfc2426.txt">RFC 2426</a>) und besteht aus einem Stück (X)HTML-Code, das man einfach nur in das eigene Blog einfügen muss. Und diesen muss man natürlich auch nicht unbedingt selbst schreiben, sondern kann ihn sich vom <a href="http://microformats.org/code/hcard/creator">hCard Creator</a> generieren lassen.
</p>

<p>
Und nun zum Nutzen des Ganzen: Mit der Firefox-Erweiterung <a href="https://addons.mozilla.org/en-US/firefox/addon/4106">Operator</a> lassen sich hCards (und weitere Mikroformate) einfach exportieren oder als Mini-Mashup (Kontakt / Ort / Tag in Google Maps / bei Amazon / Flickr finden) nutzen – eine <a href="http://blog.mozilla.com/faaborg/2006/12/16/microformats-part-3-introducing-operator/">ausführliche Erklärung</a> findet sich im Blog von Alex Faaborg. Und für den Blogosphärenkrebs WordPress existiert ein <a href="http://fourstarters.com/2008/01/20/havatar-wordpress-plugin/">Plugin</a>, das die Avatare aus hCards ausliest und <a href="http://julia-seeliger.de/schalalala-schalalala/#comment-39749">wider Erwarten</a> offenbar <a href="http://wordpresstest.aardverschuiving.com/2_3_1/?p=1#comment-39">funktioniert</a>.
</p>

<p>
Mein Avatar ist übrigens ein <a href="http://en.wikipedia.org/wiki/Hackergotchi">Hackergotchi</a> und <a href="http://wouterverhelst.livejournal.com/21322.html">das macht man so</a>.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/neu-hcard-mit-hackergotchi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Videos einbetten &#8211; standardkonform und ohne Flash</title>
		<link>http://blog.dieweltistgarnichtso.net/videos-einbetten-standardkonform-und-ohne-flash</link>
		<comments>http://blog.dieweltistgarnichtso.net/videos-einbetten-standardkonform-und-ohne-flash#comments</comments>
		<pubDate>Fri, 04 Jul 2008 00:34:00 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Originärer Inhalt]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=33</guid>
		<description><![CDATA[Für Videos wird im Web meistens Adobe Flash verwendet &#8211; Gerrit van Aaken berichtete (via Peter Kröner), dabei ergeben sich allerdings einige Problematiken, die sowohl technischer, als auch ideologischer Natur sind. Mit (X)HTML5 soll zwar eine Lösung &#8211; in Form &#8230; <a href="http://blog.dieweltistgarnichtso.net/videos-einbetten-standardkonform-und-ohne-flash">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Für Videos wird im Web meistens <a href="http://de.wikipedia.org/wiki/Adobe_Flash">Adobe Flash</a> verwendet  &#8211; <a href="http://praegnanz.de/essays/der-heilige-gral-des-webvideo">Gerrit van Aaken berichtete</a> (via <a href="http://www.peterkroener.de/links-5/">Peter Kröner</a>), dabei ergeben sich allerdings einige <a href="http://de.wikipedia.org/wiki/Adobe_Flash#Nachteile">Problematiken</a>, die sowohl technischer, als auch ideologischer Natur sind. Mit <a href="http://de.wikipedia.org/wiki/HTML 5">(X)HTML5</a> soll zwar eine Lösung &#8211; in Form des <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#video">Video-Elements</a> &#8211; erscheinen, da die Spezifikation jedoch noch nicht fertiggestellt ist, wird diese Möglichkeit zur Zeit im besten Fall nur von Entwicklerversionen der Browser unterstützt.
</p>
<p>
Bis HTML 5 spezifiziert und implementiert ist, kann man für standardkonformes Einbetten von Videos das in (X)HTML enthaltene <a href="http://de.selfhtml.org/html/multimedia/objekte.htm">Object-Element</a> verwenden. Bei dieser Vorgehensweise wird das Video allerdings üblicherweise sofort abgespielt; dies ist nicht immer erwünscht. Durch den Einsatz von Javascript lässt sich dieser Mangel beheben.
</p><p>
Zunächst wird innerhalb des Body-Elementes der Website ein Object-Element erstellt. Dieses erhält ein Id-Attribut, um es identifizierbar zu machen. Zudem erhält es Fallback-Inhalt, der auf das Fehlen eines passenden Mediaplayer-Plugins hinweist. <del>Als Film wird hier die 480p-Version von <em><a href="http://www.bigbuckbunny.org">Big Buck Bunny</a></em> verwendet.</del>
</p>
<p>
<code>
&lt;object
    id="video"
    type="application/ogg"
    width="720"
    height="400"
    data="movie.ogg"
&gt;
    &lt;p&gt;
        &lt;strong&gt;Dein Browser unterstützt das Abspielen von &lt;em&gt;Ogg-Theora&lt;/em&gt;-Videos nicht.&lt;/strong&gt;
    &lt;/p&gt;
    &lt;p&gt;
        Um dieses Video anzuschauen, installiere
        &lt;a href="http://www.videolan.org/vlc/"&gt;VLC&lt;/a&gt;,
        &lt;a href="http://www.mplayerhq.hu/design7/dload.html"&gt;mplayer&lt;/a&gt; or
        &lt;a href="http://wiki.xiph.org/index.php/TheoraSoftwarePlayers"&gt;einen anderen Mmediaplayer&lt;/a&gt;, der
        &lt;a href="http://theora.org/faq/#what"&gt;Ogg-Theora&lt;/a&gt;-Videos abspielen kann.
    &lt;/p&gt;
    &lt;p&gt;
        For installation instructions, see the &lt;a href="http://en.wikipedia.org/wiki/Wikipedia:Media_help_(Ogg)"&gt;Wikipedia Media Help&lt;/a&gt;.
    &lt;/p&gt;
&lt;/object&gt;
</code>
</p>

<p>
Damit das Object-Element nicht sofort angezeigt wird, fügt man zwei Javascript-Funktionen hinzu: Eine, die das Video versteckt, und eine zweite, die es für die Dauer des Filmchens anzeigt und dann die &#8220;Versteck-Funktion&#8221; aufruft:
</p>
<p>
<code>
&lt;script type="text/javascript"&gt;&lt;![CDATA[
    function hide_movie()
        {
        document.getElementById('video').style.display      = 'none';
        document.getElementById('preview').style.display    = 'block';
        }

    function show_movie()
        {
        document.getElementById('video').style.display      = 'block';
        document.getElementById('preview').style.display    = 'none';
        window.setTimeout("hide_movie()",36000);
        }
]]&gt;&lt;/script&gt;
</code>
</p>

<p>
Vorschaubild und Button &#8211; zum Aufrufen des Javascripts &#8211; sind auch fein ! Zugterletzt bekommt das <del>Body</del> <ins>Object</ins>-Element ein Attribut <code><del>onload="hide_movie()"</del> <ins>style="display:none;"</ins></code>, um das Video zu verstecken; zu beachten ist, dass <del>dieses &#8211; zumindest im Firefox 3.0 &#8211; nur ausgelöst wird, sofern das im Object-Element referenzierte Video pufferfrei ladbar ist</del> <ins>Nutzer ohne Javascript das Nachsehen haben</ins>.
</p>
<p>
<code>
&lt;div id="preview"&gt;
    &lt;img src="preview.jpg" alt="Vorschaubild" height="400" width="720"/&gt;
    &lt;button name="playback" type="button" onclick="show_movie()" value="Plackback"&gt;
        &lt;img src="media-playback-start.png" alt="Plackback" height="128" width="128" /&gt;
    &lt;/button&gt;
&lt;/div&gt;
</code>
</p>

<p>
Wer Spaß daran hat, darf gerne den Playback-Button per CSS auf das Vorschaubild legen und einen Download-Button hinzufügen. Die vorliegende Methode ist übrigens XHTML-konform, funktioniert auch ohne Javascript, und wurde ursprünglich als Teil des (noch unfertigen) Video-CMS <a href="http://yolanda.mister-muffin.de/">Yolanda</a> entwickelt. In diesem Sinne: <strong>Friede den Webstandards, Krieg den proprietären Palästen !</strong>
</p>

<p>
<strong>Update:</strong> <a href="http://dieweltistgarnichtso.net/uploads/video-object.xhtml">Demo</a>; blöderweise wird <code>onload="hide_movie()"</code> zumindest im Firefox 3 erst nach vollständigem Puffern des Videos ausgelöst. Ideen ?
</p>

<p>
<strong>Update:</strong> <a href="http://dieweltistgarnichtso.net/uploads/video-object-2.xhtml">Neue Demo</a>. Aber ohne Javascript ist der Button funktionslos.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/videos-einbetten-standardkonform-und-ohne-flash/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
