Навигация
Главная »  Xml 

Организация контента с помощью категорий Atom (исходники)


Источник: IBM developerWorks Россия
Николас Чейз

Допустимые категории

Если вы решаете добавить категории к записям Atom, рассмотрите, какие из них вам доступны. Это можно узнать из сервисного документа Atom, который определяет существующие для определенной коллекции категории. Рассмотрим, например, сервисный документ по умолчанию для сервера Blogapps (смотри Листинг 1).

Листинг 1. Сервисный документ
    AdminBlog  Weblog Entries         entry   Media Files image/*    main  Weblog Entries        entry   Media Files image/*    

В этом случае в обеих коллекциях - adminblog и main - определены наборы категорий, однако на самом деле в этих данных гораздо больше информации, чем может показаться на первый взгляд.

Во-первых, обратите внимание на то, что у элементов category есть два важных атрибута. Атрибут term является фактическим представлением категории. Обратите внимание, что в этом случае каждый термин начинается с косой черты (/). Спецификация формата синдикации Atom не оговаривает вопрос формы представления термина, поэтому ничто не мешает вам создать иерархическую структуру категорий.

Вторым важным атрибутом является label, который представляет удобочитаемую версию категории.

На первый взгляд, оба набора категорий содержат одни и те же записи, но это не так. Если вы обратите внимание на элементы categories, вы заметите, что у них указывается атрибут схемы. Можно сказать, что схема категории предоставляет способ классификации ваших категорий. Например категория General в коллекции adminblog может обозначать нечто совершенно иное, нежели категория General коллекции main.

Вы можете даже совмещать схемы в одной коллекции, добавляя элемент scheme к конкретным элементам category.

Использование категорий

Добавление категорий к контенту - это просто добавление к вашей записи элемента category. Например, вы добавляете на сервер новую запись (см. Листинг 2).

Листинг 2. Добавление категории
 POST /roller/app/main/entries HTTP/1.1 Host: localhost Authorization: Basic YWRtaW46YWRtaW4= Content-Type: application/atom+xml Content-Length: 760   Blogapps supports Atom (Java) 2007-12-13T12:30:02Z The spec's not actually out yet, but fortunately, you can still use it. 2007-05-25T08:29:29-04:00   Nick Chase http://www.chaosmagnet.com atomexample@nicholaschase.com   
The Blogapps server supports the upcoming Atom spec, so if you install it ...


Вы указали типовую категорию Java, поэтому результат покажет, что запись была добавлена к ней (смотри Листинг 3).

Листинг 3. Ответ
 HTTP/1.1 201 Created Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=7818CFD9D1A9A53F5EA3B0A203ABBBCD; Path=/roller Location: http://localhost:8080/roller/app/main/entry/40288182103d1af401103d6196 9a0068 Content-Type: application/atom+xml;charset=utf-8 Transfer-Encoding: chunked Date: Sat, 20 Jan 2007 02:41:51 GMT  3fb  Blogapps supports Atom (Java)     admin ... 

Однако если вы попробуете добавить новую категорию, результат будет зависеть от того, как настроен сервер. Например, вы можете попробовать добавить запись с несуществующей категорией (Листинг 4).

Листинг 4. Использование несуществующей категории
 ... The spec's not actually out yet, but fortunately, you can still use it. 2007-05-25T08:29:29-04:00   Nick Chase http://www.chaosmagnet.com ... 

Если вы попробуете отправить этот запрос серверу, результат может быть не таким, каким вы его ожидаете увидеть (см. Листинг 5).

Листинг 5. Результат
 ...    admin ... 

Обратите внимание, что система, вместо того чтобы добавить новую категорию, использовала одну из существующих категорий. Если вы посмотрите назад, на сервисный документ, представленный в Листинге 1, вы увидите, что элементы категорий определяют их как fixed . Это означает, что перечисленные категории - единственно возможные.

Документы категорий

Кроме того, категории могут быть перечислены в отдельных документах. В этом случае в сервисном документе приводится указатель на этот документ. Пример приведен в Листинге 6.

Листинг 6. Указатель на документ категории
    AdminBlog  Weblog Entries  entry   Media Files image/*   ...  

В этом случае атрибуты fixed и scheme можно не указывать, однако ничто не мешает вам указать их непосредственно в документе категорий.

Заключение

Главная проблема использования категорий в Atom заключается в знании того, где их искать (сервисный документ), и какие из них допустимы. Когда вы узнаете, какие категории доступны, вы можете просто добавить к записям элементcategory.



 

 Организация контента с помощью категорий Atom (исходники).
 XML и Java: Возвращение к основам (исходники).
 Введение в WML (исходники, документация).
 ABBYY FineReader 10 Corporate Edition.
 Новая модификация троянца Android.Spy превращает смартфон в "зомби".


Главная »  Xml 

© 2017 Team.Furia.Ru.
Частичное копирование материалов разрешено.