Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
xml.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
50.95 Кб
Скачать

2. Сцепление html элементов с xml-элементами. При сцеп-лении html-элементов с xml-элементом, html-элемент автоматически отображает содержимое xml-элемента.

Табличное сцепление данных

Если данные XML-документа организованы в виде простого набора записей, т.е. если корневой элемент содержит множество элементов ("записей"), каждый из которых содержит одинаковый набор элементов ("полей"), а каждое "поле" содержит уже только символьные данные, вы можете использовать один единственный HTML-элемент TABLE для отображения XML-документа. В нашем случае такой документ и получиться.

<Cars>

<Car><Brand>VAZ</Brand>

<Model>2107</Model>

<Photo>vaz2107.jpg</Photo> </Car>

<Car><Brand>Subaru</Brand>

<Model>Impreza</Model>

<Photo>subaruImpreza.jpg</Photo>

</Car>

<Car><Brand>YAZ</Brand>

<Model>Hunter</Model>

<Photo>yazHunter.jpg</Photo>

</Car>

</Cars>

<html><body>

<xml id="dsoCars" src="Cars.xml"></xml>

<SPAN STYLE="font-style:italic">Марка:</SPAN>

<INPUT TYPE="ТEXT" datasrc="#dsoCars" datafld="Brand"><BR>

<SPAN STYLE="font-style:italic">Модель:</SPAN>

<INPUT TYPE="ТEXT" datasrc="#dsoCars" datafld="Model"><BR>

<SPAN STYLE="font-style:italic">Фото:</SPAN>

<IMG datasrc="#dsoCars" datafld="Photo"><BR>

<BUTTON ONCLICK="dsoCars.recordset.moveFirst()">|< Первая</BUTTON>

<BUTTON ONCLICK="dsoCars.recordset.movePrevious();

if (dsoCars.recordset.BOF)

dsoCars.recordset.moveNext()">< Предудущая</BUTTON>

<BUTTON ONCLICK="dsoCars.recordset.moveNext();

if (dsoCars.recordset.EOF)

dsoCars.recordset.movePrevious()">Следующая ></BUTTON>

<BUTTON ONCLICK="dsoCars.recordset.moveLast()">Последняя >|</BUTTON>

<BUTTON ONCLICK="dsoCars.recordset.addNew()">Добавить</BUTTON>

<BUTTON ONCLICK="dsoCars.recordset.Delete()">Удалить</BUTTON>

<BUTTON ONCLICK="dsoCars.recordset.cancelUpdate()">Отмена</BUTTON>

</body></html>

75. Связывание данных. Создание корректно-сформированного XML-документа, в котором корневой элемент (Biblioteka) содержит набор из трёх элементов-записей (Kniga) и каждый из элементов-записей имеет одинаковый набор элементов-полей (Nazvanie, Izdatel, Cena), содержащие символьные данные. Причём элемент (Nazvanie) содержит ещё и вложенный элемент (God_izdaniya), значением которого является дата. Создание HTML-страницы, отображающей символьные данные всех элементов.

При связывании данных сначала XML-документ соединяется с HTML-страницей, а затем встраиваются стандартные HTML-элементы, такие как SPAN или TABLE, в отдельные XML-элементы.

Основные шаги при связывании данных

1. Установка связи XML-документа с HTML-страницей, на которой необходимо отобразить данные XML. Этот шаг обычно реализуется включением HTML-элемента с именем XML в HTML-страницу. Напр., следующий элемент на HTML-странице связывает XML-документ Student.xml со страницей:

<XML ID="dsoStudent " SRС=" Student.xml"></XML>

2. Сцепление html элементов с xml-элементами. При сцеп-лении html-элементов с xml-элементом, html-элемент автоматически отображает содержимое xml-элемента.

Табличное сцепление данных

Если данные XML-документа организованы в виде простого набора записей, т.е. если корневой элемент содержит множество элементов ("записей"), каждый из которых содержит одинаковый набор элементов ("полей"), а каждое "поле" содержит уже только символьные данные, вы можете использовать один единственный HTML-элемент TABLE для отображения XML-документа.

<BIBLIOTEKA>

<KNIGA>

<NAZVANIE>

<NAME>ASD</NAME>

<GOD_IZD> 1990 </GOD_IZD>

</NAZVANIE>

<IZDATEL>Mark</IZDATEL>

<CENA>199</CENA>

</KNIGA >

<KNIGA>

<NAZVANIE>

<NAME>ASD</NAME>

<GOD_IZD> 1990 </GOD_IZD>

</NAZVANIE>

<IZDATEL>Mark</IZDATEL>

<CENA>199</CENA>

</KNIGA >

<KNIGA>

<NAZVANIE>

<NAME>ASD</NAME>

<GOD_IZD> 1990 </GOD_IZD>

</NAZVANIE>

<IZDATEL>Mark</IZDATEL>

<CENA>199</CENA>

</KNIGA >

</ BIBLIOTEKA>

76. Создание на примере библиотеки книг корректно-сформированного неавтономного XML-документа. В данном документе корневой элемент содержит набор из пяти элементов-записей и каждый из элементов-записей имеет одинаковый набор из четырёх элементов-полей, одно из которых должно быть пустым, а другие должны содержать как символьные данные, так и вложенные элементы. В пустом элементе-поле предусмотреть использование одного или нескольких атрибутов. Кроме того, в данном XML-документе необходимо предусмотреть инструкцию по обработке, строки комментариев и в один из элементов записей вставить раздел CDATA.

Не знаю как сделать!

79. Валидный XML-документ с внутренним и внешним DTD. Пример игнорирования и включения разделов внешнего DTD. Создание на примере библиотеки книг валидного XML-документа, в котором корневой элемент содержит набор не менее трёх элементов-записей и каждый из элементов-записей имеет одинаковый набор не менее трёх элементов-полей.

Чтобы использовать и внешнее, и внутреннее подмножество DTD, следует использовать ключевое слово SYSTEM вместе с системным литералом, задающим местонахождение файла с внешним подмножеством DTD, после чего внутри квадратных скобок ([]) следует объявление разметки внутреннего подмножества DTD.

При использовании внешнего и внутреннего подмножества DTD, XML-процессор объединяет их содержимое следующим образом:

  • в общем случае он осуществляет слияние двух подмножеств, чтобы сформировать полный DTD.

  • в случае, если атрибут с одним и тем же именем и типом элемента объявляется более одного раза, XML-процессор использует первое объявление и игнорирует все последующие. Это правило применимо и для повторных объявлений примитивов.

  • внутреннее подмножество DTD имеет приоритет перед внешним подмножеством DTD (даже если ссылка на внешнее подмножество идет первой в объявлении типа документа).

Хотя XML-процессор просто игнорирует повторные объявления атрибутов и примитивов, повторное объявление элемента (даже если он объявлен тем же самым образом) является допустимым.

Способ объединения внутреннего и внешнего подмножеств DTD XML-процессором дает вам возможность использовать общий DTD (например такой, который используется для XML-приложений) в качестве внешнего подмножества DTD, а затем адаптировать DTD для конкретного документа путем включения внутреннего подмножества.

<?xml version="1.0" encoding="Windows-1251" ?>

<!DOCTYPE GROUPS SYSTEM "lib.dtd" [

<!ELEMENT LIBRARY (CAPTION,HEADERS,BOOK+)>

<!ELEMENT CAPTION (#PCDATA)>

<!ELEMENT HEADERS (HEADER+)>

<!ELEMENT HEADER (#PCDATA)>

<!ELEMENT BOOK(NAME,AUTHOR,YEAR)>

<!ELEMENT NAME (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT YEAR (#PCDATA)>

]>

<LIBRARY>

<!-- Заголовок таблицы -->

<CAPTION>БИБЛИОТЕКА</CAPTION>

<!-- Названия столбцов -->

<HEADERS>

<HEADER>НАЗВАНИЕ</HEADER>

<HEADER>АВТОР</HEADER>

<HEADER>ГОД</HEADER>

</HEADERS>

<!-- КНИГИ -->

<BOOK>

<NAME>НАЗВАНИЕ</NAME>

<AUTHOR>АВТОР</AUTHOR>

<YEAR>ГОД</YEAR>

</BOOK>

<BOOK>

<NAME>НАЗВАНИЕ</NAME>

<AUTHOR>АВТОР</AUTHOR>

<YEAR>ГОД</YEAR>

</BOOK>

</LIBRARY>

DTD<!ELEMENT LOCATION (#PCDATA)>

<![IGNORE[<!ATTLIST LOCATION PostCode CDATA #IMPLIED>

]]>

81. Типы атрибутов элементов в валидном XML-документе. Объявление значений атрибутов. Создание на примере библиотеки книг валидного XML-документа, в котором корневой элемент содержит набор не менее трёх элементов-записей и каждый из элементов-записей имеет одинаковый набор не менее трёх элементов-полей. Для одного из элементов объявите атрибут, которому можно присвоить только одно значение маркерного типа ID даже если атрибут не указан.

В валидном XML-документе вы также должны исчерпывающе объявить все атрибуты, которые вы предполагаете использовать для элементов документа. Вы определяете все атрибуты, ассоциированные с определенным элементом, с помощью специального типа DTD-разметки, называемого объявлением списка атрибутов. Это объявление:

  • определяет имена атрибутов, ассоциированных с элементом. В валидном документе вы можете включить в начальный тег элемента только те атрибуты, которые определены для элемента;

  • устанавливает тип данных каждого атрибута;

  • задает обязательность для каждого атрибута. Если атрибут необязателен, в объявлении списка атрибутов указывается, что должен делать процессор, если атрибут опущен. (В объявлении должно, например, содержаться значение атрибута по умолчанию, которое будет использовать процессор.)

Форма записи объявления списка атрибутов

Объявление списка атрибутов имеет следующую общую форму:

<!ATTLIST Имя ОпрАтр>

Здесь Имя представляет собой имя элемента, ассоциированного с атрибутом или атрибутами. ОпрАтр – это одно или несколько определений атрибутов, каждое из которых определяет один атрибут.

Определение атрибута имеет следующую форму записи:

Имя ТипАтр ОбъявУмолч

Здесь Имя представляет собой имя атрибута.

ТипАтр представляет собой тип атрибута, т.е. виды значений, которые могут быть присвоены атрибуту. ОбъявУмолч – это объявление по умолчанию, которое указывает на обязательность атрибута и содержит другую информацию. (Об этом будет рассказано далее в этой лекции.)

<?xml version="1.0" encoding="windows-1251" ?>

<!DOCTYPE LIB

[

<!ELEMENT BOOK (ITEM,TITLE, AUTHOR, YEAR)>

<!ATTLIST ITEM StockCode ID #REQUIRED>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT YEAR (#PCDATA)>

]

>

<LIB>

<BOOK StockCode ="1948">

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK StockCode ="1948">

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK StockCode ="1948">

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

</LIB>

83. Типы атрибутов элементов в валидном XML-документе. Объявление значений атрибутов. Создание на примере библиотеки книг валидного XML-документа, в котором корневой элемент содержит набор не менее трёх элементов-записей и каждый из элементов-записей имеет одинаковый набор не менее трёх элементов-полей. Для одного из элементов объявите не обязательный атрибут строкового типа.

В валидном XML-документе вы также должны исчерпывающе объявить все атрибуты, которые вы предполагаете использовать для элементов документа. Вы определяете все атрибуты, ассоциированные с определенным элементом, с помощью специального типа DTD-разметки, называемого объявлением списка атрибутов. Это объявление:

  • определяет имена атрибутов, ассоциированных с элементом. В валидном документе вы можете включить в начальный тег элемента только те атрибуты, которые определены для элемента;

  • устанавливает тип данных каждого атрибута;

  • задает обязательность для каждого атрибута. Если атрибут необязателен, в объявлении списка атрибутов указывается, что должен делать процессор, если атрибут опущен. (В объявлении должно, например, содержаться значение атрибута по умолчанию, которое будет использовать процессор.)

Форма записи объявления списка атрибутов

Объявление списка атрибутов имеет следующую общую форму:

<!ATTLIST Имя ОпрАтр>

Здесь Имя представляет собой имя элемента, ассоциированного с атрибутом или атрибутами. ОпрАтр – это одно или несколько определений атрибутов, каждое из которых определяет один атрибут.

Определение атрибута имеет следующую форму записи:

Имя ТипАтр ОбъявУмолч

Здесь Имя представляет собой имя атрибута.

ТипАтр представляет собой тип атрибута, т.е. виды значений, которые могут быть присвоены атрибуту. ОбъявУмолч – это объявление по умолчанию, которое указывает на обязательность атрибута и содержит другую информацию. (Об этом будет рассказано далее в этой лекции.)

<?xml version="1.0" encoding="windows-1251" ?>

<!DOCTYPE LIB

[

<!ELEMENT BOOK (ITEM?, TITLE, AUTHOR, YEAR)>

<!ATTLIST ITEM TAG CDATA "TAG" > 

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT YEAR (#PCDATA)>

]

>

<LIB>

<BOOK TAG =”str”>

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK>

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK TAG =”str”>

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

</LIB>

84. Типы атрибутов элементов в валидном XML-документе. Объявление значений атрибутов. Создание на примере библиотеки книг валидного XML-документа, в котором корневой элемент содержит набор не менее трёх элементов-записей и каждый из элементов-записей имеет одинаковый набор не менее трёх элементов-полей. Для одного из элементов объявите обязательный атрибут нумерованного типа.

В валидном XML-документе вы также должны исчерпывающе объявить все атрибуты, которые вы предполагаете использовать для элементов документа. Вы определяете все атрибуты, ассоциированные с определенным элементом, с помощью специального типа DTD-разметки, называемого объявлением списка атрибутов. Это объявление:

  • определяет имена атрибутов, ассоциированных с элементом. В валидном документе вы можете включить в начальный тег элемента только те атрибуты, которые определены для элемента;

  • устанавливает тип данных каждого атрибута;

  • задает обязательность для каждого атрибута. Если атрибут необязателен, в объявлении списка атрибутов указывается, что должен делать процессор, если атрибут опущен. (В объявлении должно, например, содержаться значение атрибута по умолчанию, которое будет использовать процессор.)

Форма записи объявления списка атрибутов

Объявление списка атрибутов имеет следующую общую форму:

<!ATTLIST Имя ОпрАтр>

Здесь Имя представляет собой имя элемента, ассоциированного с атрибутом или атрибутами. ОпрАтр – это одно или несколько определений атрибутов, каждое из которых определяет один атрибут.

Определение атрибута имеет следующую форму записи:

Имя ТипАтр ОбъявУмолч

Здесь Имя представляет собой имя атрибута.

ТипАтр представляет собой тип атрибута, т.е. виды значений, которые могут быть присвоены атрибуту. ОбъявУмолч – это объявление по умолчанию, которое указывает на обязательность атрибута и содержит другую информацию. (Об этом будет рассказано далее в этой лекции.)

<?xml version="1.0" encoding="windows-1251" ?>

<!DOCTYPE LIB

[

<!ELEMENT BOOK (ITEM, TITLE, AUTHOR, YEAR)>

<!ATTLIST BOOK

Format NOTATION (HTML | SGML | RTF) #REQUIRED> 

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT YEAR (#PCDATA)>

]

>

<LIB>

<BOOK Format="HTML" >

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK Format="HTML" >

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK Format="HTML" >

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

</LIB>

85. Типы примитивов в валидном XML-документе. Создание на примере склада товаров бытовой техники валидного XML-документа, в котором корневой элемент содержит набор не менее трёх элементов-записей и каждый из элементов-записей имеет одинаковый набор не менее трёх элементов-полей. Объявите и используйте в данном XML-документе общий внутренний разбираемый примитив.

Примитивы классифицируются по трем признакам:

  • общие и параметрические. Общий примитив включает содержимое документа - т.е. XML-текст или другие текстовые или не текстовые данные, которые можно использовать внутри элемента Документ. Параметрический примитив содержит XML-текст, который может быть помещен в DTD. В спецификации XML термин примитив относится к общим примитивам;

  • внутренние и внешние. Внутренний примитив содержится внутри строки в кавычках. Внешний примитив содержится в отдельном файле;

  • разбираемый или не разбираемый. Разбираемый примитив содержит XML-текст (символьные данные, разметка или то и другое).

<?xml version="1.0" encoding="windows-1251" ?>

<!DOCTYPE LIB

[

<!ELEMENT BOOK (ITEM?, TITLE, AUTHOR, YEAR)>

<!ATTLIST ITEM TAG CDATA "TAG" > 

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT YEAR (#PCDATA)>

]

>

<LIB>

<BOOK TAG =”str”>

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK>

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

<BOOK TAG =”str”>

<TITLE>fgbz</TITLE>

<AUTHOR>gf</AUTHOR>

<YEAR>3424</YEAR>

</BOOK>

</LIB>

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