Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / XML для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Лабораторная работа 4.1 Работа с XML Schema

Создание XML Schema, тег xs:schema, утилита Stylus Studio, XML Writer

Подготовка:

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

Ситуация:

Для целей совместимости с корпоративными приложениями вам предписано перейти на использование XML Schema вместо DTD.

Задание:

1) Создайте XML Schema для вашего документа Phonebook.xml и сохраните ее в файле pbml.xsd. Перенастройте ваш документ на использование данной XML Schema.

2) Установите из соответствующих каталогов на компакт-диске:

·        Java RunTime Environment версии 1.4.2

·        Stylus Studio XML Enterprise Edition версии 6

·        XML Writer

3) проверьте созданную вами XML Schema средствами Stylus Studio на соответствие документу Phonebook.xml.

4) Сделайте копию файла Phonebook.xml и переименуйте ее в StylusPhonebook.xml. Затем средствами Stylus Studio сгенерируйте файл XML Schema для документа Phonebook.xml (он должен называться StylusPbml.xsd).

5) Средствами XML Writer создайте на основе имеющегося у вас файла pbml.dtd файл XML Schema (он должен называться WriterPbml.xsd).

6) Cравните созданные разными способами файлы схемы pbml.xsd, StylusPbml.xsd и WriterPbml.xsd.

Решение:

К пункту 1:

Созданный вручную файл XML Schema (pbml.xsd) может выглядеть, например, так:

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.askit.ru/pbml" xmlns:pbml="http://www.askit.ru/pbml">

  <xs:element name="Phonebook">

    <xs:complexType>

      <xs:sequence>

        <xs:element maxOccurs="unbounded" ref="pbml:Record"/>

      </xs:sequence>

    </xs:complexType>

  </xs:element>

  <xs:element name="Record">

    <xs:complexType>

      <xs:sequence>

        <xs:element ref="pbml:LastName"/>

        <xs:element ref="pbml:FirstName"/>

        <xs:element ref="pbml:Initials"/>

        <xs:element maxOccurs="unbounded" ref="pbml:Phonenumber"/>

      </xs:sequence>

      <xs:attribute name="Number" use="required" form="qualified" type="xs:integer"/>

    </xs:complexType>

  </xs:element>

  <xs:element name="LastName" type="xs:Name"/>

  <xs:element name="FirstName" type="xs:Name"/>

  <xs:element name="Initials" type="xs:Name"/>

  <xs:element name="Phonenumber">

    <xs:complexType>

      <xs:simpleContent>

        <xs:extension base="xs:NMTOKEN">

          <xs:attribute name="PhoneType" use="required" form="qualified" type="xs:Name"/>

        </xs:extension>

      </xs:simpleContent>

    </xs:complexType>

  </xs:element>

</xs:schema>

Необходимо также внести изменения в файл Phonebook.xml. Для этого нужно убрать тег <!DOCTYPE...> и добавить дополнительные атрибуты в тег для элемента Phonebook. Например, при использовании DTD начало вашего документа Phonebook.xml может выглядеть так:

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

<!DOCTYPE Phonebook SYSTEM "pbml.dtd">

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

Для использования XML Schema из файла pbml.xsd можно изменить этот код на такой:

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

<pbml:Phonebook xmlns:pbml="http://www.askit.ru/pbml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.askit.ru/pbml pbml.xsd">

Ответа к пункту 2 (установка программного обеспечения) нет. Если возникают какие-либо вопросы, можно обратиться к преподавателю.

К пункту 3 - проверка созданного вами вручную файла pbml.xsd средствами Stylus Studio:

1) Запустите Stylus Studio и в меню Window выберите Close All, чтобы закрыть учебный проект.

2) При помощи меню File -> Open откройте измененный вами файл Phonebook.xml.

3) В меню XML выберите команду Validate Document. Должно вернуться сообщение "The XML document Phonebook.xml is valid". Если возникла ошибка, постарайтесь самостоятельно ее исправить.

К пункту 4 - генерация XML Schema средствами Stylus Studio на основе существующего файла XML:

1) Закройте в окне Stylus Studio проверенный вами документ Phonebook.xml и откройте его копию с названием StylusPhonebook.xml.

2) Удалите в нем атрибут SchemaLocation для элемента Phonebook ("xsi:schemaLocation="http://www.askit.ru/pbml pbml.xsd").

3) В меню XML выберите команду Generate Schema from XML Content. В открывшемся окне убедитесь, что переключатель установлен в положение "Generate XML Schema" и введите имя создаваемого файла StylusPbml.xsd с указанием полного пути к нему в файловой системе и нажмите на кнопку OK.

4) При помощи меню File -> Open откройте созданный вами файл схемы StylusPbml.xsd и посмотрите возможности работы с ним на вкладках Diagram, Tree и Documentation.

К пункту 5 - генерация XML Schema на основе существующего файла DTD.

1) Запустите программное обеспечение XML Writer и закройте окно мастера, появляющееся при его открытии.

2) В меню File выберите Open и откройте файл pbml.dtd. Затем в меню DTD/Schema выберите команду Convert DTD to Schema. Откроется новое окно, в которое будет помещено сгенерированная схема.

3) В меню File выберите Save As и сохраните схему как WriterPbml.xsd.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru