Pravidelný občasník originálního humoru

Určení znakové sady XML dokumentu...

Autor chlívek (Webdesign, Internet) - vydáno 17.3.2003

... aneb malé upozornění hlavně pro Filipa Rožánka. Stručně řečeno, pokud váš XML dokument (a tím je i RSS) není v UTF-8 nebo UTF-16, musíte povinně uvést v jakém kódován se vlastně vyskytuje. XML není holubník a má velmi přísná pravidla


Filip Rožánek ve svém bloku již poněkolikáté pravil:

FeedReader (1,18 MB) nepřečte můj RSS zdroj. To proto, že v něm hledá informaci o kódování. Ta však není povinnou součástí RSS a i bez ní zdroj projde validací. Chyba je tedy na straně FeedReaderu, který tuto informaci neumí přeskočit a je na ní vyloženě závislý.

Nenechte se mýlit, Filip bohužel neví o čem mluví. Přečetl si totiž specifikaci RSS aniž by mu došlo, že ve skutečnosti musí ještě nastudovat desítky stránek specifikace pro XML - tam by totiž zjistil podstatné.

Jak můžete zjistit na adrese http://www.w3.org/TR/REC-xml#NT-document, konkrétně kdesi v odstavci "4.3.3 Character Encoding in Entities", je určení typu kódování povinnost v okamžiku, kdy XML dokument není formován v UTF-8 či UFT-16.

In the absence of external character encoding information (such as MIME headers), parsed entities which are stored in an encoding other than UTF-8 or UTF-16 must begin with a text declaration (see 4.3.1 The Text Declaration) containing an encoding declaration:

Encoding Declaration

[80]    EncodingDecl    ::=    S 'encoding' Eq ('"' EncName '"' | "'" EncName "'" )
[81]    EncName    ::=    [A-Za-z] ([A-Za-z0-9._] | '-')* /* Encoding name contains only Latin characters */

 

Shrnuto a podtrženo - Rožánkův blok samozřejmě není možné správně parsovat:

The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


An invalid character was found in text content. Error processing resource 'http://blok.rozanek.cz/b2rss.php'. Line 5, Position 24

  <title>Blok Filipa Ro

Chybí mu právě to podstatné, schopnost rozpoznat české znaky v XML uvedené s pomocí Windows-1250

<?xml version="1.0"?>

má totiž správně znít

<?xml version="1.0" encoding="Windows-1250" ?>

Ale chybějícím věcem není konec, ve Filipově RSS chybí i další podstatná informace:

<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

Chyba v HeadLine ViewerNepříliš pochopitelně také Filip svůj RSS označuje jako <rss version="0.92"> v okamžiku kdy ve skutečnosti generuje RSS verze 0.91 - znamená to, že většina RSS readerů (viz například Headline Viewer) nedokáží toto RSS vůbec zpracovat. Rozdíl mezi 0.91 a 0.92 je poměrně "katastrofální".

XML prostě není holubník a vyžaduje dodržování velmi přísných pravidel....

 



|
Poslední změna : neuvedeno, Vytvořen : neuvedeno, Vydán : 17.3.2003, 16483x

Komentáře pro ty z Facebooku

Aktuální články autora



REKLAMA

Články e-mailem

Stačí zadat e-mail

a Feedio se už o vše postará

POOH.CZ na sociálních sítích