Есть ли определенная схема синдикации синдикации атома?

Есть ли определенная схема синдикации синдикации атома?

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
Другие вопросы по тегам