Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Электронная коммерция. Учебное пособие по выполнению практических работ

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
1 Мб
Скачать

в Веб-сервисах реализация возможностей языка XML осуществляется при помощи протоколов UDDI, WSDL, SOAP.

UDDI (Universal Description and Discovery Protocol) — универсальный протокол описания и обнаружения местонахождения бизнесов (компаний или частных лиц, осуществляющих электронную коммерцию) и интеграции бизнес-услуг.

WSDL (Web Services Description Protocol) — протокол описания Веб-сервисов. При помощи WSDL описываются интерфейсы, параметры и требования к объединению.

SOAP (Simple Object Access Protocol) — простой протокол доступа к объектам. Используется поверх HTTP (протокол, который используется между Веб-серверами и Веб-браузерами), а также может быть использован через ТСР, SMTP (Simple Mail Transfer Protocol) или IBM MQSeries.

Синтаксис языка подобен синтаксису языка HTML. Каждому открывающему флагу (тегу, дескриптору) <тег> в программе должен соответствовать закрывающий тег </тег>, или <тег/>. В последнем случае, при помощи тега <тег/> задается элемент без содержания. Тег задает элемент, содержит тип элемента, его имя и уникальный идентификатор, внутри тега могут размещаться атрибуты. Атрибуты указывают на дополнительные свойства элемента. Язык XML позволяет пользователю создавать собственные флаги. Например, для создания элемента Petrov в имени заказчика используется флаг (тэг) <CustomerName>.

При записи кода программы это выглядит так: <CustomerName> Петров</CustomerName>.

Для определения более полных реквизитов заказчика может использоваться флаг <Customer>, включающий, кроме фамилии, телефон и название фирмы:

<Customer>

<CustomerName> Петров</CustomerName> <phone > 123-45-67 </phone >

<Company > CompTek</Company> </Customer>

Флаг <Customers> используется для ввода данных группы пользователей.

Особенностью языка XML является его зависимость от регистра. Все флаги, атрибуты и содержание зависят от регистра, на котором вводятся символы.

81

Часть 5. «Использование языка XML»

Синтаксис языка XML поддерживается обозревателем Internet Explorer версий 4, 5 и 6.

Пример кода программы HTML-документа, использующего синтаксис XML и вид документа, соответствующего этой программе, показан на приведенном Листинге 3.9. Программа предназна- чена для составления списка заказчиков и их характеристик.

Листинг 3.9. Код программы простейшего HTML-документа, использующего синтаксис XML

<HTML>

<HEAD>

<TITLE> XML </TITLE> </HEAD> <BODY>

<CUSTOMERS>

<HR SIZE=5 WIDTH=80% ALIGN=CENTER COLOR="Green"> <CUSTOMER> <CUSTOMERName>Петров</CUSTOMERName> <phone>123-45-67</phone>

<Company>CompTek</Company>

</CUSTOMER>

<HR SIZE=5 WIDTH=80% ALIGN=CENTER COLOR="Blue"> <CUSTOMER> <CUSTOMERName>Сидоров</CUSTOMERName> <phone>321-654-987</phone> <Company>ВымпелКом</Company>

</CUSTOMER>

</CUSTOMERS>

</BODY>

</HTML>

Вид документа

Петров 123-45-67 CompTek

Сидоров 321-654-987 ВымпелКом

82

Задание 3.13. «Создание простейшего HTML-документа, использующего синтаксис XML»

Цель задания: Научиться создавать простейший HTML-документ, использующий синтаксис XML

Задание: Создать HTML-документ, использующий синтаксис XML, со списком заказчиков и их характеристик.

Выполнение:

1.Открыть Блокнот, выполняя команды Пуск Программы Стандартные Блокнот.

2.Набрать код программы в соответствии с листингом 3.9.

3.Изменить фамилии заказчиков, названия фирм и телефонов по своему усмотрению.

4.Сохранить программу в своей папке с расширением .txt, присвоив файлу имя JS6.

5.Сохранить программу в своей папке с расширением .htm, присвоив файлу имя JS6.

6.Вызвать программу на выполнение, дважды щелкнув левой клавишей мыши на значке с именем JS6.htm.

7.Сохранить программу в своей папке.

Структура и составляющие XML-документов. Документы XML могут быть двух типов — правильно построенные документы и действительные документы.

Правильно построенные документы удовлетворяют специфике XML, но не имеют определения типа документа DTD. DTD (Document Type Definition) определение типа документа, описание типа (шаблона) документа.

Пример правильного документа

<?xml version="1.0"?>

<body > Здесь записывается тело (содержание) правильного документа

</body >

Действительные документы XML — документы состоят из двух частей: из определения используемого языка DTD и собственно документа. DTD — это преамбула документа, где определяются его компоненты и структура.

Пример действительного документа

<?xml version="1.0"?>

83

Часть 5. «Использование языка XML»

<!DOCTYPE body [ <!ELEMENT body (#PCDATA)> ]>

<body > Здесь записывается тело (содержание) правильного и действительного документа

</body >

Определение типа документа DTD. Определение типа документа DTD (Document Type Definition) определяет части документа и указывает, каким образом они могут использоваться, что может быть в них размещено, требуются ли фрагменты документа.

DTD может включать в себя набор объявлений элементов и атрибутов, сущности (entities), условные обозначения и комментарии. Различные объявления компонентов определяют, как документ будет структурирован и эта информация передается анализатору. Анализатор отправляет результаты в приложение, обеспечивающее просмотр данных.

Определение типа документа DTD следует сразу после строки объявления XML:

<?xml version="1.0" encoding= "UTF=8"> Оно начинается со второй строки <!DOCTYPE имя документа

[.......

.........]>

Вторая строка служит для связывания XML-документа с соответствующим DTD. В квадратные скобки помещается объявление элементов документа, их атрибутов и сущностей.

Элемент. Объявления элементов записываются по следующему формату <!ELEMENT имя содержание>. Например, ниже приведено описание элемента DOC и составляющих его элементов SUBJECT, DATE, ADDRESS, MEMO. Для элементов SUBJECT, DATE, ADDRESS, MEMO указан тип (#PCDATA), указывающий на то, что содержимым элементов являются обычные текстовые данные.

<!ELEMENT DOC (SUBJECT, DATE, ADDRESS, MEMO)> <!ELEMENT SUBJECT (#PCDATA)

<!ELEMENT DATE (#PCDATA) <!ELEMENT ADDRESS (#PCDATA)

84

<!ELEMENT MEMO (#PCDATA)

В DTD кроме элементов могут использоваться атрибуты и сущности.

Атрибут. Атрибуты используются для:

определения отдельных свойств элементов (размер, высота, вес, цвет и т. д.);

указания местоположения объекта (сноски, графики, ссылки);

определения сведений о форматировании отображаемых объектов, их виде.

Формат представления атрибута имеет вид:

<ATLIST имя_элемента имя_атрибута тип использовать_по_умол- чанию>

После указания имени элемента указывается присваиваемое атрибуту имя, его тип и возможность использовать атрибут по умол- чанию.

В указанном выше примере может быть продолжение: <!ELEMENT DOC (SUBJECT, DATE, ADDRESS, MEMO)> <!ELEMENT SUBJECT (#PCDATA)

<!ELEMENT DATE (#PCDATA) <!ELEMENT ADDRESS (#PCDATA) <!ELEMENT MEMO (#PCDATA) <!ATTLIST SUBJECT

sex CDATA #REQUIRED number CDATA #REQUIRED>

Здесь указано, что элемент SUBJECT имеет атрибуты sex и number, которые имеют тип CDATA. Это значит, что их содержимым может быть строки из любых символов, кроме <, >, &, ". Слово #REQUIRED означает, что атрибуты sex и number являются обязательными для элемента SUBJECT.

Сущность. Сущности представляют собой текст или данные, которые могут быть заменены в документе на основании их объявления в сущности. Например, пусть в DTD имеется сущность вида:

<!ENTITY Юпитер "Программное обеспечение фирмы ИВК для интеграции приложений"

85

Часть 5. «Использование языка XML»

Если процессор XML встретит в тексте сущность & Юпитер , то он заменит его на текст Программное обеспечение фирмы ИВК для интеграции приложений.

DTD может помещаться внутри и вне документа и может вообще отсутствовать, т. е. оно не является обязательным.

В случае внешнего DTD оно может быть общедоступным и в этом случае используется ключевое слово PUBLIC. Например:

<!DOCTYPE book PUBLIC "–//Company XYZ//DTD book//EN" http://www.site.com/dtds/book.dtd>

Начинается такое объявление со знака минус, далее следуют две косые черты, затем указывается владелец DTD. Это объявление не является стандартным, его владельцем является фирма XYZ.book — это имя DTD и оно расположено по адресу http://www.site.com/dtds/book.dtd>.

Если же DTD собственное и оно расположено на локальной машине, то ставится ключевое слово SYSTEM. Так, DTD расположенное на локальной машине будет иметь вид:

<!DOCTYPE book SYSTEM "http://www.site.com/dtds/book.dtd">.

Âэтом объявлении за ключевым словом SYSTEM следует адрес

èимя файла, в котором хранится DTD. Двойные наклонные линии не ставятся и имя владельца не указывается.

Факторы, влияющие на выбор типа DTD:

1)Большие документы требуют применения внешних DTD. В этом случае при помощи DTD создается приближение к стандартизации.

2)Малые документы не требуют использования внешних DTD.

3)В некоторых документах, предназначенных для интернет применение внешних DTD не целесообразно.

4)XML-процессоры, не проверяющие действительности XML-документов, не требуют DTD.

Задание 3.14. Создание XML-документ без DTD.

Цель задания: Научиться создавать простейший XML-документ без DTD

Задание: Создать XML-документ без DTD

Выполнение:

1) Наберите код программы в соответствии с приведенным ниже Листингом 3.10.

86

Листинг 3.10. Код программы XML-документа без DTD.

<?xml version="1.0"?> <documents> <books>

<book id="Book1"> <title> Contest </title>

<author>Ivan Petrov </author> <date>21.08.05</date> </book>

<book id="Book2"> <title> Floriculture</title>

<author>P. Ivanov </author> <date>10.10.04</date> </book>

</books>

<articles>

<article id="Article1"> <author>Nic. Sidorov </author> <title> Electricity</title> <date>12.09.05</date> </article>

</articles>

</documents>

2)Сохраните документ в своей папке дважды. Один раз с расширением .txt и второй раз с расширением .xml, указав при этом кодировку Юникод, тип документа — все файлы.

3)Выполните программу с расширением .xml.

Cоздание XML-документ с внутренним DTD

Приведем пример внутреннего DTD:

<?xml version="1.0"> <!DOCTYPE DOC [

<!ELEMENT DOC (SUBJECT, DATE, ADDRESS, MEMO)> <!ELEMENT SUBJECT (#PCDATA)

<!ELEMENT DATE (#PCDATA) <!ELEMENT ADDRESS (#PCDATA) <!ELEMENT MEMO (#PCDATA)

87

Часть 5. «Использование языка XML»

<! ENTITY PUBLISHER "Solon"> ]>

<DOC>

<SUBJECT> Today's Memo </SUBJECT>

<DATE> 01.10.05 </DATE> <ADDRESS> MOSCOW</ADDRESS> <MEMO> It is best Publisher </MEMO> </DOC>

Âэтом коде программы запись <!ELEMENT DOC (SUBBJECT, DATE, ADDRESS, MEMO)> определяет список элементов для корневого элемента DOC. Оно сообщает анализатору, что корневой элемент DOC содержит элементы потомки SUBJECT, DATE, ADDRESS, MEMO и что эти элементы должны появиться в документе в этом же порядке. Если порядок будет нарушен, то будет сообщение об ошибке.

<!ELEMENT SUBJECT (#PCDATA) — определяет элемент SUBJECT и указывает, что этот элемент будет содержать символьные данные, которые подлежит обрабатывать анализатором. Аналогично записываются другие элементы.

<! ENTITY PUBLISHER "Solon">определяет простую сущность и указывает, что значением этой сущности является издательство Solon.

Пример 5.1

Пусть фирма осуществляет перевозки товаров автомашинами с прицепом (trailers). На каждую автомашину может быть помещен 20или 30-футовый контейнер (container). В каждом контейнере находятся коробки (box) c товарами (contents). Для сопровождения товаров создается XML-документ с именем trailer. Описание типа документа помещается сразу после строки с описанием версии языка XML и может иметь вид:

<!DOCTYPE trailers [

<!ELEMENT trailer(container, box+)> <! ELEMENT container(#PCDATA)> <! ELEMENT box( Type, content)> <! ELEMENT Type(#PCDATA)>

<! ELEMENT content (#PCDATA)>

]

88

В приведенном примере конструкция <!DOCTYPE trailers [..] задает описание элементов и структуру документа trailers. После этой строки следует строка <!ELEMENT trailer(container, box+)>. В этой строке описан элемент trailer документа trailers. Он содержит элементы container и box+. Знак + после элемента box указывает на то, что таких элементов может быть более одного. Запись <! ELEMENT container(#PCDATA)> описывает элемент с именем container, а атрибут #PCDATA указывает на то, содержимое элемента могут составлять символьные данные. Код программы xml-документа с использованием внутреннего DTD приведен на Листинге 3.11.

Листинг 3.11. Код программы простейшего XML-документа c использованием внутреннего DTD

<?xml version="1.0"?> <!DOCTYPE trailers[

<!ELEMENT trailer (identification,box+,content)> <!ELEMENT identification (trailer_type,container,customer)> <!ELEMENT trailer_type (#PCDATA)>

<!ELEMENT container (#PCDATA)> <!ELEMENT customer(#PCDATA)> <!ELEMENT box(#PCDATA)> <!ELEMENT content(#PCDATA)> ]>

<trailer>

<identification> <trailer_type>KPAZ_77-95-03</trailer_type> <container Type="20f">5674321</container> <customer> <CustomerName>Ivanov</CustomerName> <phone>432-76-51</phone> <Company>IBMM</Company> </customer>

</identification>

<box Type="Super Empire"> 100_box </box> <content> video </content>

</trailer>

После работы программы создается XML-документ, показанный на рисунке 3.9.

89

Часть 5. «Использование языка XML»

<?xml version="1.0" ?>

<!DOCTYPE trailers (View Source for full doctype...)> <trailer>

<identification> <trailer_type>KÐÀZ_77-95-03</trailer_type> <container Type="20f">5674321</container> <customer> <CustomerName>Ivanov</CustomerName> <phone>432-76-51</phone> <Company>IBMM</Company> </customer>

</identification>

<box Type="Super Empire">100_box</box> <content>video</content>

</trailer>

Рис. 3.9 XML-документ

Задание 3.15. Cоздание XML-документ с внутренним DTD

Цель задания: Научиться создавать простейший XML-документ с внутренним DTD

Выполнение:

1)К коду программы, записанному в Листинге 3.10, допишите внутреннее объявление типа документа DTD. Примите document в качестве корневого элемента, а входящими в него элементами book1, book2, article.

2)Дважды сохраните документ в своей папке. Один раз с расширением .txt и второй раз с расширением .xml, задав при этом кодировку Юникод.

3)Выполните программу с расширением .xml.

Преимуществом XML-документов по сравнению с HTML-до- кументами является их структурированность и наглядность, что следует из приведенных примеров. Для подтверждения этого на Листинге 3.12 приведен код программы для создания XML-доку- мента. Создается прайс-лист в соответствии с заданием 3.4. В программе описаны только две первые строки прайс-листа с названием Компьютеры.

Листинг 3.12. Код программы прайс-листа на языке ХML

<?xml version="1.0"?>

90

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]