· Удалите схему, но оставьте данные XML-документа. Постарайтесь не нарушить синтаксис, выделите и удалите блок тегов, начиная с <xs:schema id="StudsExams" . . .> и до </xs:schema>. Сохраните файл.
· Повторите опыт по добавлению студента и убедитесь, что IntelliSense потерял способность помогать при вводе данных, так как в документе нет схемы.
Какой выигрыш мы получаем, записывая данные в формате XML? Опыт показал нам возможности класса DataSet записывать и читать данные XML. Редактор студии с помощью IntelliSense значительно упрощает ввод данных. Существует множество инструментов, разработанных другими компаниями. Среди них есть дорогие (payware), такие как Adobe FrameMaker, и бесплатные (freeware), такие как Python или Perl. Важно то, что все они используют один и тот же формат данных.
Стандарт SGML (подмножеством которого является XML) разрабатывался в надежде на то, что никогда в будущем не придется решать проблем типа: «Как преобразовать файл pdf в файл doc?», «Как выудить (импортировать) данные из файла в формате Lotus Jazz?», «Как прочесть документ Microsoft Word 97 в приложении Word 98 for Mac?» или «Как прочесть файл с неизвестным бинарным форматом данных, если в нем испорчен один байт?». Главными преимуществами использования технологии XML являются:
· Данные сами себя описывают, благодаря осмысленным тегам.
· Избыточность информации (повторяющиеся пары тегов) повышает надежность, поэтому потеря байта(ов) не приводит к краху всего набора данных.
· Данные управляются стандартными инструментами.
· Облик или представление данных легко изменить, применяя стили (style sheets) в соответствии со стандартами технологий: CSS, XSL, XSLT.
· Автоматизация процессов обработки значительно упрощается, так как данные имеют регулярную, довольно строгую и повторяющуюся структуру.
В качестве примера, демонстрирующего удобство использования формата XML, мне понравился тот, в котором обсуждается простота выделения реплик Гамлета из XML-изированной версии пьесы Шекспира. Такие версии уже существуют, наряду с XML-форматированными версиями Библии, Корана и других шедевров человеческой мысли. Недостатком XML-формата является большой объем избыточной информации. Он слегка компенсируется тем, что XML-файлы великолепно сжимаются при архивации (до 90%).
Последнее, что мы сделали с документом Students.xml, это удалили его схему. Цель операции — показать, что студия может создать схему документа, опираясь на его данные.
· В меню XML выберите команду Create Schema и просмотрите результат.
Файл Student.xsd создан студией, он не входит в состав проекта, он просто открыт в студии. Рассмотрим схему, которая создана на основе данных XML-файла (то есть, данных таблиц студентов и экзаменов).
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="StudsExams">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Studs">
<xs:complexType>
<xs:attribute name="StudID" type="xs:unsignedByte" use="required" />
<xs:attribute name="Name" type="xs:string" use="required" />
<xs:attribute name="Phone" type="xs:string" use="required" />
<xs:attribute name="Addr" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" name="Exams">
<xs:complexType>
<xs:sequence>
<xs:element name="ExamID" type="xs:unsignedByte" />
<xs:element name="StudID" type="xs:unsignedByte" />
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.