49
|
1 package IMPL::DOM::Schema::AnyNode;
|
|
2 use strict;
|
|
3 use warnings;
|
|
4
|
|
5 use base qw(IMPL::DOM::Schema::Node);
|
|
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
|
|
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
|