comparison lib/IMPL/DOM/Schema/AnyNode.pm @ 407:c6e90e02dd17 ref20150831

renamed Lib->lib
author cin
date Fri, 04 Sep 2015 19:40:23 +0300
parents
children
comparison
equal deleted inserted replaced
406:f23fcb19d3c1 407:c6e90e02dd17
1 package IMPL::DOM::Schema::AnyNode;
2 use strict;
3 use warnings;
4
5 use IMPL::declare {
6 base => [
7 'IMPL::DOM::Schema::Node' => sub {
8 my %args = @_;
9 $args{nodeName} ||= 'AnyNode';
10 $args{name} = '::any';
11
12 %args;
13 }
14 ]
15 };
16
17 1;
18
19 __END__
20
21 =pod
22
23 =head1 DESCRIPTION
24
25 Узел с произвольным именем, для этого узла предусмотрена специальная проверка
26 в контейнерах.
27
28 В контейнерах типа C<IMPL::DOM::Schema::NodeSet> этот узел можно использовать только один раз
29 причем его использование исключает использование узла C<IMPL::DOM::Schema::SwitchNode>.
30
31 В контейнерах типа С<IMPL::DOM::Schema::NodeList> данный узел может применяться несколько раз
32 для решения таких задач как последовательности разноименных узлов с одним типом.
33
34 <NodeList>
35 <SimpleNode name="firstName"/>
36 <SimpleNode name="age"/>
37 <AnyNode type="Notes" minOccur="0" maxOccur="unbounded"/>
38 <Node name="primaryAddress" type="Address"/>
39 <AnyNode/>
40 </NodeList>
41
42 =cut