C# для профессионалов. Том II - [5]
>listbox.Проверка
Если нужно проверить документ XML, используйте класс >XmlValidatingReader. Он обладает всей функциональностью класса >XmlTextReader (оба реализуют >XmlReader, но >XmlValidatingReader добавляет свойство >ValidationType, свойство >Schemes и свойство >SchemaType). Свойство >ValidationType задается как тип проверки, которую желательно выполнить. Допустимые значения этого свойства следующие:
| Значение свойства | Описание |
|---|---|
>Auto | Если в > объявлен DTD, он и будет загружаться и обрабатываться. Атрибуты по умолчанию и общие сущности, определенные в DTD, станут доступными. Если найден атрибут XSD >schemalocation, то загружается и обрабатывается XSD, при этом все атрибуты по умолчанию, определенные в схеме, будут возвращены. Если найдено пространство имен с префиксом MSXML >x-schema:, загрузится и обработается схема XDR, все атрибуты, определенные по умолчанию, возвратятся. |
>DTD | Проверка согласно правилам DTD. |
>Schema | Проверка согласно правилам XSD. |
>XDR | Проверка согласно правилам XDR. |
>None | Проверка не выполняется. |
Если свойство задано, то должен быть назначен обработчик событий >ValidationEventHandler. Событие инициируется, когда случается ошибка проверки. На ошибку можно отреагировать любым подходящим образом. Рассмотрим пример. Добавим пространство имен схемы XDR (XML Data Reduced — приведенные данные XML) к файлу >books.xml и назовем этот файл >booksVal.xml. Теперь он выглядит так:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Отметим, что элемент >bookstore имеет теперь атрибут >xmlns="x-schema:books.xdr". Это будет указывать на следующую схему XDR:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ЕlementType>
>
>
>
>
Отметим, что имеются два атрибута в файле XML, которые не определены в схеме. Если посмотреть внимательно, то можно увидеть что в схеме нет атрибутов >publication-date и ISBN из элемента >book. Мы сделали это, чтобы показать, что проверка действительно выполняется. Можно использовать для подтверждения этого следующий код. Необходимо будет добавить в класс >using System.Xml.Schema. Весь код доступен в >XMLReaderSample5:
>protected void button1_Click (object sender, System.EventArgs e) {
> //измените это в соответствии с используемой структурой путей доступа.
> string filename = "..\\..\\..\\booksVal.xml";
> XmlTextReader tr = new XmlTextReader(filename);
> XmlValidatingReader trv=new XmlValidatingReader(tr);
> // Задать тип проверки
> trv.ValidationType=ValidationType.xdr;
> // Добавить обработчик события проверки
> trv.ValidationEventHandler += new ValidationEventHandler(this.ValidationEvent);
> // Считываем узел за раз
> while(trv.Read()) {
> if (trv.NodeType == XmlNodeType.Text) listBox1.Items.Add(trv.Value);
> }
>}
>public void ValidationEvent(object sender, ValidationEventArgs args) {
> MessageBox.Show(args.Message);
>}
Мы создаем >XmlTextReader для передачи в >XmlValidationReader. Когда >XmlValidationReader trv создан, можно использовать его по большей части так же, как >XmlTextReader в предыдущих примерах. Различия состоят в том что в данном случае определен атрибут >ValidationType и добавлен >ValidationEventHandler. Каждый раз при возникновении ошибки проверки инициируется >ValidationEvent. Затем можно будет обработать ошибку проверки любым приемлемым способом. В данном примере выводится >MessageBox с описанием ошибки. Вот как выглядит >MessageBox, когда инициируется >ValdationEvent.
В отличие от некоторых синтаксических анализаторов >XmlValidationReader
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИИнформационная технологияРУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯInformation technology. Guidelines for the management of software documentationИздание официальноеДата введения 1994-07-01ГОССТАНДАРТ РОССИИ Москва© Издательство стандартов, 1994.
Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.