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 |