2011-12-05 44 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

相关问题