Mercurial > pub > Impl
comparison Lib/IMPL/DOM/Schema/ValidationError.pm @ 180:d1676be8afcc
Перекодировка в utf-8
| author | sourcer |
|---|---|
| date | Fri, 30 Dec 2011 23:40:00 +0300 |
| parents | 76515373dac0 |
| children | 4d0e1962161c |
comparison
equal
deleted
inserted
replaced
| 179:b3d91ff7aea9 | 180:d1676be8afcc |
|---|---|
| 46 | 46 |
| 47 =pod | 47 =pod |
| 48 | 48 |
| 49 =head1 NAME | 49 =head1 NAME |
| 50 | 50 |
| 51 C<IMPL::DOM::Schema::ValidationError> - . | 51 C<IMPL::DOM::Schema::ValidationError> - Описывает ошибку в документе. |
| 52 | 52 |
| 53 =head1 DESCRIPTION | 53 =head1 DESCRIPTION |
| 54 | 54 |
| 55 | 55 При проверке документа на ошибки формирования возвращается массив с объектами |
| 56 C<IMPL::DOM::Schema::ValidationError>, | 56 C<IMPL::DOM::Schema::ValidationError>, каждая из которых описывает одну ошибку |
| 57 . | 57 в документе. |
| 58 | 58 |
| 59 , | 59 С помощью данного объекта осущетсвляется привязка элемента схемы, элемента документа |
| 60 . | 60 и сообщения о причине возникновения ошибки. |
| 61 | 61 |
| 62 =head1 MEMBERS | 62 =head1 MEMBERS |
| 63 | 63 |
| 64 =over | 64 =over |
| 65 =item C<[get] Node> | 65 =item C<[get] Node> |
| 66 | 66 |
| 67 | 67 |
| 68 . , | 68 Узел в документе который привел к ошибке. Как правило это либо простые узлы, либо |
| 69 , . | 69 узлы, которые не могут присутствоать в данном месте по схеме. |
| 70 | 70 |
| 71 C<undef>. | 71 Данное свойство может быть C<undef>. |
| 72 | 72 |
| 73 =item C<[get] Parent> | 73 =item C<[get] Parent> |
| 74 | 74 |
| 75 . , C<Node> | 75 Родительский узел в котором произошла ошибка. Используется в случаях, когда C<Node> |
| 76 , , | 76 не указан, например, если по схеме должен существовать дочерний узел с определенным |
| 77 , . | 77 именем, а в реальном документе его нет. |
| 78 | 78 |
| 79 . | 79 Также это свойство может использоваться при формировании сообщения. |
| 80 | 80 |
| 81 =item C<[get] Schema> | 81 =item C<[get] Schema> |
| 82 | 82 |
| 83 C<Node> C<Node> . | 83 Схема для C<Node> или узла который должен присутсвовать если C<Node> не задан. |
| 84 | 84 |
| 85 =item C<[get] Source> | 85 =item C<[get] Source> |
| 86 | 86 |
| 87 , . | 87 Схема, проверка которой привела к возникновению ошибки. Поскольку схемы могут |
| 88 , , | 88 использовать ссылки, то данное свойство нужно для получения схемы узла, а не |
| 89 . | 89 схемы его типа. |
| 90 | 90 |
| 91 C<IMPL::DOM::Schema::Node> | 91 Тоесть проверка схемы узла C<IMPL::DOM::Schema::Node> приводит к проверке схемы |
| 92 , , C<IMPL::DOM::Schema::ComplexType>, C<Source> | 92 типа, например, C<IMPL::DOM::Schema::ComplexType>, а свойство C<Source> будет |
| 93 C<IMPL::DOM::Schema::Node>. | 93 указывать именно на C<IMPL::DOM::Schema::Node>. |
| 94 | 94 |
| 95 =item C<[get] Message> | 95 =item C<[get] Message> |
| 96 | 96 |
| 97 . | 97 Возвращает форматированное сообщение об ошибке. |
| 98 | 98 |
| 99 =item C<toString()> | 99 =item C<toString()> |
| 100 | 100 |
| 101 , C<Message> | 101 Преобразует ошибку к строке, возвращает значение свойства C<Message> |
| 102 | 102 |
| 103 =back | 103 =back |
| 104 | 104 |
| 105 =head1 REMARKS | 105 =head1 REMARKS |
| 106 | 106 |
| 111 | 111 |
| 112 my @errors = $schema->Validate($doc); | 112 my @errors = $schema->Validate($doc); |
| 113 | 113 |
| 114 my $node = $doc->selectSingleNode('user','name'); | 114 my $node = $doc->selectSingleNode('user','name'); |
| 115 | 115 |
| 116 # | 116 # Получаем все ошибки относящиеся к данному узлу |
| 117 my @nodeErrors = grep { ($_->Node || $_->Parent) == $node } @errors; | 117 my @nodeErrors = grep { ($_->Node || $_->Parent) == $node } @errors; |
| 118 | 118 |
| 119 =end code | 119 =end code |
| 120 | 120 |
| 121 =cut | 121 =cut |
