Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания для Лабораторных работ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.54 Mб
Скачать

Подготовка:

Создайте на диске каталог Lab2 и скопируйте в него созданные вами на лабораторной работе 1 файлы pbml.dtd и Phonebook.xml.

Ситуация:

При применении созданных вами XML-совместимых документов для хранения информации телефонной книги возникли проблемы. Эти проблемы связаны с тем, что имена некоторых элементов и атрибутов (например, Record и Number) конфликтуют с именами элементов и атрибутов в других XML-совместимых документах.

Задание:

Устраните возможность возникновения конфликтов путем включения информации о префиксе пространства имен в документы pbml.dtd и Phonebook.xml в каталоге Lab 2. При этом:

        используйте префикс пространства имен "pbml"

        в качестве URI для пространства имен используйте значение "http://www.askit.ru/pbml"

        данный префикс должен быть использован для всех элементов и атрибутов ваших документов.

Проверьте правильность измененных вами документов pbml.dtd и Phonebook.xml средствами Open XML Editor и сохраните их.

Примечание:

Для экономии времени можно воспользоваться средствами автоматического поиска и замены (например, Replace в Notepad).

Решение:

Итоговый код файла pbml.dtd может быть таким:

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

<!ELEMENT pbml:Phonebook (pbml:Record+)>

<!ATTLIST pbml:Phonebook xmlns:pbml CDATA #FIXED "http://www.askit.ru/pbml" >

<!ELEMENT pbml:Record (pbml:LastName, pbml:FirstName, pbml:Initials?, pbml:Phonenumber*)>

<!ATTLIST pbml:Record

          pbml:Number CDATA #REQUIRED>

<!ELEMENT pbml:LastName (#PCDATA)>

<!ELEMENT pbml:FirstName (#PCDATA)>

<!ELEMENT pbml:Initials (#PCDATA)>

<!ELEMENT pbml:Phonenumber (#PCDATA) >

<!ATTLIST pbml:Phonenumber

          pbml:PhoneType (L|M) #REQUIRED>

Итоговый код файла PhoneBook.xml может быть таким:

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

<!DOCTYPE pbml:Phonebook SYSTEM "pbml.dtd">

<pbml:Phonebook  xmlns:pbml="http://www.askit.ru/pbml">

<pbml:Record pbml:Number="1">

<pbml:LastName>Иванов</pbml:LastName>

<pbml:FirstName>Иван</pbml:FirstName>

<pbml:Initials>Иванович</pbml:Initials>

<pbml:Phonenumber pbml:PhoneType="L">1111111</pbml:Phonenumber>

<pbml:Phonenumber pbml:PhoneType="M">8-911-1111111</pbml:Phonenumber>

</pbml:Record>

<pbml:Record pbml:Number="2">

<pbml:LastName>Петров</pbml:LastName>

<pbml:FirstName>Петр</pbml:FirstName>

<pbml:Initials>Петрович</pbml:Initials>

<pbml:Phonenumber pbml:PhoneType="L">2222222</pbml:Phonenumber>

<pbml:Phonenumber pbml:PhoneType="M">8-911-2222222</pbml:Phonenumber>

</pbml:Record>

<pbml:Record pbml:Number="3">

<pbml:LastName>Сидорова</pbml:LastName>

<pbml:FirstName>Светлана</pbml:FirstName>

<pbml:Initials>Степановна</pbml:Initials>

<pbml:Phonenumber pbml:PhoneType="L">3333333</pbml:Phonenumber>

<pbml:Phonenumber pbml:PhoneType="M">8-911-3333333</pbml:Phonenumber>

</pbml:Record>

</pbml:Phonebook>

Проверка измененных вами файлов проводится точно так же, как в предыдущей лабораторной работе (см. ответ к п. 2).

Лабораторная работа 3 Пространства имен XML

Пространства имен XML (XML namespaces), префиксы пространств имен, проверка документов XML