Mercurial > pub > Impl
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 |