49
+ − 1 package IMPL::DOM::Schema::AnyNode;
+ − 2 use strict;
+ − 3 use warnings;
+ − 4
165
+ − 5 use parent qw(IMPL::DOM::Schema::Node);
49
+ − 6
+ − 7 our %CTOR = (
+ − 8 'IMPL::DOM::Schema::Node' => sub {
+ − 9 my %args = @_;
+ − 10 $args{nodeName} ||= 'AnyNode';
+ − 11 $args{name} = '::any';
+ − 12
+ − 13 %args;
+ − 14 }
+ − 15 );
+ − 16
+ − 17 1;
+ − 18
+ − 19 __END__
+ − 20
+ − 21 =pod
+ − 22
+ − 23 =head1 DESCRIPTION
+ − 24
180
+ − 25 Узел с произвольным именем, для этого узла предусмотрена специальная проверка
+ − 26 в контейнерах.
49
+ − 27
180
+ − 28 В контейнерах типа C<IMPL::DOM::Schema::NodeSet> этот узел можно использовать только один раз
+ − 29 причем его использование исключает использование узла C<IMPL::DOM::Schema::SwitchNode>.
49
+ − 30
180
+ − 31 В контейнерах типа С<IMPL::DOM::Schema::NodeList> данный узел может применяться несколько раз
236
+ − 32 для решения таких задач как последовательности разноименных узлов с одним типом.
49
+ − 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