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 |
