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




Глава 2. Каталог товаров на XML


    Глава 2. Каталог товаров на XML
    Глава 2. Каталог товаров на ХМL Из первой главы вы узнали, что представляет собой XML и как с помощью XML создаются языки разметки. Теперь вы располагаете инструментальными средствами для создания...
    Назначение web-сайта
    Назначение web-сайта Наша гипотетическая компания Xtreme Mega-Large Gifts (XMLGifts) занимается продажей редких музыкальных записей, книг и других предметов. Рынок сбыта очень ограничен, так как м...
    Требования
    Требования Бизнес-требования (business requirements), или требования верхнего уровня (high- level requirements), определяют глобальные цели, которые стоят перед компанией, проектирующей свой web-с...
    Ограничения
    Ограничения Ограничения, которые приходится учитывать при создании web-сайта, возможно, оказывают более значительное влияние на конечный результат, чем приведенные выше требования. Мы имеем в виду...
    Покупка готового пакета — это быстрее и дешевле
    Покупка готового пакета — это быстрее и дешевле Покупка готового пакета приложений для электронной коммерции, который затем настраивается соответственно конкретным требованиям, иногда может сэконо...
    Сборка приложения из стандартных...
    Сборка приложения из стандартных частей — это лучше и дешевле Другой способ создания сайта заключается в том, чтобы начать с нуля и сконструировать его именно так, как вам нужно. Хотя этот способ...
    Разработка сервера web-приложений — это быстрее и лучше
    Разработка сервера web-приложений — это быстрее и лучше Чтобы ускорить создание сайта и сохранить все преимущества индивидуальной разработки, можно воспользоваться сервером web-приложений Такой се...
    Достоинства XML
    Достоинства XML Разработчики часто сталкиваются с такой дилеммой: заказчик не оступается от своих требований сделать сайт быстрее и дешевле, но в то же время ему необходима персональная настройка,...
    Доступность инструментальных средств
    Доступность инструментальных средств И XML, и Java обязаны своей популярностью и количеством пользователей тому, что они были основаны на открытых и находящихся в свободном доступе стандартах. Мож...
    SOAP
    SOAP SOAP — это протокол, предназначенный для удаленного вызова процедур, основанный на стандартах XML и HTTP. В декабре 1999 года протокол SOAP был предложен компаниями DevelopMentor Inc., Micros...
    Гибкость инструментальных средств
    Гибкость инструментальных средств Хотя данные для нашего электронного магазина хранятся в виде документов XML, для повышения производительности сайта они могли бы храниться в двоичных реляционных...
    Совместимость инструментальных средств
    Совместимость инструментальных средств Если при разработке сайта вы использовали Java и XML, вам будет легко создавать взаимосвязи с другими web-сайтами и электронными магазинами. При организации...
    Поддержка Unicode
    Поддержка Unicode Допустим, что компания XMLGifts решила, помимо всего прочего, распечатать свой каталог на нескольких языках. Встроенная в Java и XML поддержка символов Unicode упрощает эту задач...
    Каталог товаров и DTD
    Каталог товаров и DTD Когда все требования к web-сайту сформулированы и принято решение использовать XML, следующим шагом в создании XML-каталога товаров является изучение имеющихся данных и преоб...
    Таблица 2.1. Образец каталога XMLGifts.com
    Таблица 2.1. Образец каталога XMLGifts.com Шифр Название товара Описание Категория Цена Количество на складе Автор

    Организация данных

    Организация данных Таблицы представляют собой, вероятно, наиболее распространенный способ организации данных. Хранение данных в строках и столбцах обеспечивает гибкость при создании представлений...
    Рис. 2.1. Схема отношений между таблицами
    Рис. 2.1. Схема отношений между таблицами На рис. 2.2 показан более подробно фрагмент приведенной выше схемы, в которую добавлены некоторые поля из таблицы Авторы....
    Рис. 2.2. Отношения между таблицами и полями
    Рис. 2.2. Отношения между таблицами и полями На рис 2.3 мы добавили некоторые фактические значения и организовали данные в виде древовидной схемы....
    Рис. 2.3. Отношения между таблицами, полями и данными
    Рис. 2.3. Отношения между таблицами, полями и данными Что напоминают три приведенные схемы? Эти схемы фактически показывают фрагмент реляционной базы данных в виде иерархической структуры. Иерархи...
    Таблица 2.2. Представление Books
    Таблица 2.2. Представление Books Название книги Имя автора По ком звонит колокол Электронный магазин на Java и XML Преступление и наказание Эрнест Хемингуэй Вильям Брогден, Крис Минник Федор Досто...
    Листинг 2.1. Документ XML, получившийся...
    Листинг 2.1. Документ XML, получившийся в результате преобразования реляционной базы данных (BookView.xml) [Все представленные в книге тексты программ можно найти на сайте .издательства по адресу...
    Написание DTD
    Написание DTD Независимо от того как вы преобразуете данные в XML, в процессе написания определения типа документа вы непременно получите представление о потенциальных проблемах, связанных с орган...
    Доработка DTD
    Доработка DTD После внимательного изучения этого определения DTD его недостатки становятся очевидными, и мы начинаем понимать, что требуется внести ряд исправлений. Первый недостаток заключается в...
    Листинг 2.2. Исправленное определение...
    Листинг 2.2. Исправленное определение DTD для записок (memo.dtd) !ELEMENT memo (from, to, cc?, body) !ATTLIST memo id ID REQUIRED date CDATA REQUIRED subject CDATA #IMPLIED !ELEMENT from (name.dep...
    Листинг 2.3. Правильно оформленная...
    Листинг 2.3. Правильно оформленная и допустимая служебная записка (memoexamplel.xml) ?xml version=l.0 standalone=no? !DOCTYPE memo SYSTEM memo.dtd memo id = cm0001 date = 8/2/2000 subject = ваша з...
    Листинг 2.4. Первая черновая попытка описания товаров
    Листинг 2.4. Первая черновая попытка описания товаров ?xml version=1.0? catalog product_line name=Books product id=bk0022 nameGuide to Plants/name descriptionEverything you've ever wanted to know...
    Создание первого чернового варианта DID
    Создание первого чернового варианта DID Для создания первого чернового варианта DTD, чтобы определить класс данных, которому принадлежит приведенный выше документ XML, мы использовали редактор XML...
    Листинг 2.5. Первый черновой вариант DID
    Листинг 2.5. Первый черновой вариант DID !ELEMENT catalog (product_line)* !ELEMENT product_line (product)* !ATTLIST product_line name CDATA #IMPLIED !ELEMENT product(name]description|price| quanti...
    Уточнение чернового варианта
    Уточнение чернового варианта Приведенное выше определение DTD правильно описывает документ XML, но все же является весьма расплывчатым. Чтобы определение DTD точнее определяло реальный каталог тов...
    Элементы catalog, productline и product
    Элементы catalog, productline и product В первой строке содержится объявление корневого элемента catalog: !ELEMENT catalog (product_line)* Это объявление достаточно очевидное: в нем указывается, ч...
    Элементы description, paragraph и general
    Элементы description, paragraph и general Следующая часть DTD определяет элементы, дочерние по отношению к product. Дочерний элемент name в настоящий момент может содержать любую разновидность про...
    Элементы price, quantity_in_stock и image
    Элементы price, quantity_in_stock и image Следующий элемент, объявленный в DTD, — элемент price. Было бы замечательно, если бы сведения о ценах действительно имели такой простой формат, как указан...
    Элементы onsale_date, time, clip и title
    Элементы onsale_date, time, clip и title Следующий объявленный в DTD элемент — onsa!e_date. Исходным назначением этого элемента было обеспечение возможности внесения товаров в каталог заранее, еще...
    Элемент shipping
    Элемент shipping Наконец, нам нужен элемент, описывающий требования по доставке товаров покупателю. Хотя исходно каталог был рассчитан на товары, которые доставляются покупателю посылкой, но на сл...
    Финальная версия
    Финальная версия После того как мы внесли все указанные выше исправления в первую черновую версию, мы можем скомпоновать окончательную версию определения catalog.dtd и создать пример каталога cata...
    Листинг 2.6. Исправленный файл catalog .dtd
    Листинг 2.6. Исправленный файл catalog .dtd !ENTITY % running_text (#PCDATA | bold | italics | quote | link | general)* !ENTITY % date_time (day_of_week?, month?, day_of_month?, year?,(hour, minut...
    Листинг 2.7. Пример каталога из файла catalog.xml
    Листинг 2.7. Пример каталога из файла catalog.xml ?xml version=1.0 standalone=no? !DOCTYPE catalog SYSTEM catalog.dtd !-- modified 10/12/2000 -- catalog product_line name=Books product id=bk0022 k...
    Принципы разработки DTD
    Принципы разработки DTD Если вы взяли на себя труд внимательно проследить весь процесс создания DTD для каталога товаров, описанный нами в этой главе, возможно, вы отчаялись и решили никогда больш...
    Репрезентативный образец данных
    Репрезентативный образец данных При создании DTD общего назначения главная задача заключается в том, чтобы проанализировать достаточно большую подборку данных. При этом вы, с одной стороны, не дол...
    Избегайте субтрактивного уточнения
    Избегайте субтрактивного уточнения Авторам, пишущим на HTML, хорошо известно, что субтрактивное уточнение гораздо сложнее, чем аддитивное. Создатели браузеров за годы существования HTML сделали мн...
    Упрощайте DTD
    Упрощайте DTD Не делайте определение DTD настолько сложным, чтобы его нельзя было легко и просто прочитать. Чем легче для чтения и понимания будет ваше DTD, тем оно окажется полезнее. Если вы разр...
    Листинг 2.8. Два возможных DTD...
    Листинг 2.8. Два возможных DTD для описания телефонного звонка. !—DTD для элемента phone_call-- !ENTITY % valid jihone_ch gits ' (1|2|A|B|C|3|D|E|F|4|G|H|I|5|J|K|L|6|M|N| 0|7|P|R|S|8|T|U|V|9|W|X|Y...
    Элементы или атрибуты?
    Элементы или атрибуты? Вероятно, при разработке DTD наиболее часто задается и наиболее горячо обсуждается вопрос о том, в каких случаях следует использовать элементы, а в каких — атрибуты. Наприме...
    Рассуждайте в терминах реальных процессов
    Рассуждайте в терминах реальных процессов При разработке DTD лучше рассуждать в терминах реальных бизнесс-процес- сов, а не в терминах конкретного приложения. Если вы не делаете никаких предположе...
    Шаблоны XML
    Шаблоны XML Шаблоны XML — это готовые решения распространенных проблем, возникающих в определенных ситуациях. В последнее время шаблоны все больше привлекают внимание как способ совершенствования...
    Краткое описание
    Краткое описание Для обеспечения максимальной гибкости был сконструирован универсальный элемент. Область применения этого элемента не фиксируется жестко, поэтому авторы могут использовать его по с...
    Задача
    Задача Основная задача, стоявшая перед создателями шаблона, — обеспечить гибкость конструкции, так как не известно в точности, каким образом авторы документов будут использовать универсальный элем...
    Контекст
    Контекст Этот элемент можно использовать в документах общего назначения, в которых важным требованием является гибкость....
    Причины
    Причины Более гибкие типы документов могут оказаться более удобными. Универсальный элемент облегчает обработку документа....
    Решение
    Решение Шаблон универсального элемента создает новый элемент, не имеющий специфического назначения....
    Пример
    Пример Ниже приводится пример кода шаблона: Paragraph Повесть Алберта Камю General type=bookПосторонний/General служит примером выражения идей экзистенциализма в литературе /Paragraph...
    Обсуждение
    Обсуждение Недостаток гибкости может послужить причиной использования авторами документа неподходящего элемента для разметки. Это может привести к тому, что документы будут трудны для восприятия и...
    Близкие по назначению шаблоны
    Близкие по назначению шаблоны Вместе с универсальным элементом часто используется шаблон Role Attribute (атрибут role)....
    Известные примеры применения
    Известные примеры применения Элементы div и span в XHTML являются распространенными примерами применения данного шаблона....
    Стандартизация DTD
    Стандартизация DTD В настоящее время во многих приложениях, которые используют XML, DTD отсутствует. Это в основном относится к тем приложениям, которые связаны с передачей сообщений, а не с хране...









Начало