Die Welt ist gar nicht so.

Sie ist ganz anders.

Archiv für Tag „xml“

Kein Kommentar

Wordpress-Plugin zum Ersetzen von Quo-Entities

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 (<, >, &, ' und "), ergibt sich ein Problem: Die in Wordpress standardmäßig vorkommenden Referenzen « und » bringen den Parser aus dem Tritt und führen zum Yellow Screen of Death.

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 « und » durch die ensprechenden Zeichen „«“ und „»“ ersetzt. Aus Gründen der Vollständigkeit kümmert es sich ebenfalls um ‹ und › („‹“ und „›“) — an dieser Stelle ein Gruß an das Quo-Netzwerk.

wpquo ist freie Software unter der WTF Public License. Zur Installation einfach die heruntergeladene Datei wpquo.php in das Verzeichnis /wp-content/plugins/ hochladen und das Plugin im Wordpress-Admin-Interface aktivieren.

erlehmann
Kein Kommentar

Spaß mit XML: OpenSearch für Piraten

OpenSearch ist ein maschinenlesbares Format u. A. zur Beschreibung von Suchanfragen, das von aktuellen Browsern verarbeitet wird. Da die Spezifikation recht simpel ist, habe ich schnell mal eine OpenSearch Description für den Torrent-Tracker The Pirate Bay erstellt.

Aktuelle Browser unterstützen OpenSearch; die Abbildung zeigt das Menü zum Hinzufügen einer Suchanfrage bei Iceweasel 3. Um es zu aktivieren, klickt man auf das Suchmaschinen-Icon. Ausprobieren kann man die von mir erstellte Suchbeschreibung hier.

Eingebunden wird eine derartige Suchmöglichkeit übrigens im <head>-Element einer (X)HTML-Datei: Das Grundgerüst <link rel="search" type="application/opensearchdescription+xml" /> wird hierbei mit den Attributen title und href ausgestattet, wobei Letzteres auf die entsprechende OpenSearch Description verweist.

erlehmann
Kein Kommentar

Scripts’R'Us: Remote Crashing Gajim

Gajim-Quitter is a little tool that registers a Jabber account, and sends well-formed, but invalid messages to the Gajim lead developer and the Gajim groupchat. Due to a bug, the jabber client Gajim crashes on receiving invalid (yet well-formed) namespace-malformed XML – namely tags with an undefined namespace.

Gajim-Quitter was coded in expect(1); programming it was quite interesting, these two articles (and the relevant RFCs and XEPs) helped me a lot. It would probably be a fun exercise for beginner-level programming courses to build a simple Jabber client.

If you want to be safe, use another Jabber client until the issue is fixed.

Update: Shortly after publishing this program it has come to my attention that the problem cannot be fixed in the client. Thus, the specification will probably be changed to require that servers check the transmitted XML for validity, which would in turn mean that everyone sending malformed XML will be disconnected.

admin