|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 3.1 Пространства имен XMLПространства имен XML (XML namespaces), префиксы пространств имен, проверка документов XML Подготовка:Создайте на диске каталог Lab3-1 и скопируйте в него созданные вами на лабораторной работе 2.1 файлы pbml.dtd и Phonebook.xml. Ситуация:При применении созданных вами XML-совместимых документов для хранения информации телефонной книги возникли проблемы. Эти проблемы связаны с тем, что имена некоторых элементов и атрибутов (например, Record и Number) конфликтуют с именами элементов и атрибутов в других XML-совместимых документах. Задание:Устраните возможность возникновения конфликтов путем включения информации о префиксе пространства имен в документы pbml.dtd и Phonebook.xml в каталоге Lab3-1. При этом: · используйте префикс пространства имен "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).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||