Электронный магазин на Java и XML

       

Элементы текстов сообщений


Хотя в области искусственного интеллекта и понимания компьютером естественных языков сделаны большие успехи, никто не рассчитывает, что компьютер напишет хороший заголовок, проанализировав текст сообщения. Поэтому приходится согласиться с тем, что нужен человек, который для каждого способа представления новостей создаст отдельный заголовок. В сообщении обычно указывается дата, а иногда рядом еще и место, где произошло то событие, о котором идет речь, например: «Остин, Техас, 1 января 2000». Эта задача тоже должна выполняться человеком.

Некоторые сообщения очень выигрывают, когда сопровождаются графикой, звуковыми клипами или ссылками на другие сайты, поэтому продумайте, как сконструировать документ XML, чтобы его можно было дополнить различными элементами, способствующими увеличению привлекательности страницы новостей. Мы решили, что было бы слишком сложно и неудобно снабжать систему показа новостей в нашем примере всеми возможными «украшениями». Поэтому мы будем хранить тексты сообщений для второго и третьего способов (краткое и полное сообщение), используя тег XML <[[CDATA...]]>.

Поскольку анализаторы XML не пытаются анализировать текст, содержащийся внутри раздела СВАТА, в этот раздел вы можете поместить любую разметку HTML, не сбивая с толку анализатор.

Элементы, содержащие дату, заголовок, краткое сообщение и полный текст, показаны в листинге 8.1.

Листинг 8.1. Дата, заголовок, короткое и полное сообщения (thenews.xml)

<date>Austin, TX, Jun 14 2000</date>

<head>Best Seller at a Great Price</head>

<short>

<![CDATA[Due to a special deal with the publisher, we can now offer

<i>Dryer Lint Art</i>

at 50% off the retail price.]]>

</short>



<long>

<![CDATA[This books starts with simple Dryer Lint projects

suitable for the novice and advances through easy

stages tothe (literally)

<b>monumental</b>

recreation of famous monuments in that most flexible of craft


materials, dryer lint. Even though you may never attempt major

constructions like the Statue of Liberty project documented in

the final chapter, your projects will benefit by a study of this

famous creation. Includes DHL diagrams.]]>

</long>

Другим аспектом гибкости является способность выборочно представлять сообщения в соответствии с темой, интересующей посетителя. Предполагая, что спектр возможных интересов посетителей сайта XMLGifts.com очень широк, мы хотим показать каждому посетителю те новости, которые связаны с его излюбленной темой, и в том месте сайта, куда он с наибольшей вероятностью заглянет. В такой структуре неизбежны перекрывающиеся области; например, книга о музыкальной группе может оказаться интересной как для покупателей книг, так и для покупателей музыкальных компакт-дисков. Следовательно, каждое сообщение должно быть снабжено одной или несколькими пометками, которые указывают, к каким тематическим категориям можно его отнести; а формат представления новостей должен допускать переключения между различными темами сообщений.

Для того чтобы пометить сообщение и отнести его тем самым к определенной категории, мы можем использовать элемент или атрибут. Следуя советам, приведенным в разделе «Элементы или атрибуты?» главы 2, можно заключить, что в данном случае лучше использовать атрибуты, так как тема сообщения — это данные о содержимом элемента, и мы предполагаем, что количество тем сообщений будет ограниченным.

 




Содержание раздела