2011-12-05 41 views
12

Apple網站上的podcast howto顯示了一個示例XML文件,其中引用了播客DTD:podcast-1.0.dtd。不幸的是,DTD在這個地址不可用。我聽說您可以使用feedvalidator.org驗證Feed,但它只是一項服務。有沒有其他地方提供官方播客DTD?官方播客DTD在哪裏?

DTD的編號爲xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"。該網址實際上並未解析爲DTD。

+0

如果你看看[凌規範(http://www.ietf.org/rfc/rfc4287.txt),你會看到「這個規範沒有定義Atom文檔一個DTD 」。我懷疑iTunes規範也是如此。 – TRiG

+0

這可能很有用:http://www.apple.com/DTDs/PropertyList-1.0.dtd這也是我找到的最好的itunes文檔:http://www.apple.com/itunes/podcasts/specs .html#summary – Mason240

回答

3

沒有dtd被您引用的xml屬性引用。相反,它只是一個(抽象)名稱空間聲明 - 語法上它可以是任何有效的URI,因爲本地名稱(itunes)可以是任何id(正式定義見here)。在語義上它代表一個特定的標記詞彙。通過uri不需要具體的資源。

dtd引用必須作爲xml文檔開頭的doctype聲明的一部分,請參閱formal specgentler explanation

請注意,儘管示例的討論僅限於(x)與html相關的文檔,但任何xml文檔都可能定義了dtd。

問候

+9

這解釋了爲什麼我們不必期望通過'xmlns:itunes'中指定的URL爲Apple的RSS 2.0風格找到DTD。但它並沒有回答原來的問題:官方播客DTD在哪裏?或者相關問題:我在哪裏可以找到指定Apple RSS 2.0格式的XML語法(DTD,XSD,...)以及哪些可用於驗證這些提要? – maxschlepzig

+0

事實上,雖然這個答案沒有任何技術上的錯誤,但它並沒有回答OP所提出的任何問題,比如在哪裏可以找到DTD,或者文檔說爲什麼DTD應該在該URL上可用,但它不是' t(引用「名稱空間聲明指向定義iTunes商店標籤的文檔」) – thomasrutter

相關問題