Есть ли определенная схема синдикации синдикации атома?
Есть ли определенная схема синдикации синдикации атома?
RFC 4287 содержит только компактную схему Relax NG в приложении B.
2 ответа
https://web.archive.org/web/20150307045002/http://www.kbcafe.com/rss/atom.xsd.xml (версия веб-архива, поскольку оригинал больше недоступен)
Что не работает
https://web.archive.org/web/20150307045002/http://www.kbcafe.com/rss/atom.xsd.xml не должен использоваться, так как он даже не обнаруживает пропажу <id>
теги.
https://tools.oasis-open.org/version-control/browse/wsvn/cmis/trunk/SchemaProject/schema/ATOM.xsd работает, xmllint
сообщает об ошибке при его использовании:
сложный тип 'atomPersonConstruct': модель содержимого не является детерминированной.
Что работает
RFC содержит упрощенную компактную спецификацию: https://validator.w3.org/feed/docs/rfc4287.html
С помощью trang
тот .rnc
файл может быть преобразован из компактного формата в XML .rng
файл. Это в свою очередь может быть использовано с xmllint
:
$ xmllint --noout --relaxng atom.rng feed.atom
feed.atom:4: element feed: Relax-NG validity error : Expecting an element updated, got nothing
feed.atom:16: element entry: Relax-NG validity error : Invalid sequence in interleave
feed.atom:16: element entry: Relax-NG validity error : Element feed failed to validate content
feed.atom fails to validate