Mercurial > pub > Impl
annotate Lib/IMPL/DOM/Schema.pm @ 16:75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
author | Sergey |
---|---|
date | Tue, 08 Sep 2009 17:29:07 +0400 |
parents | 16795016e70b |
children | 7f88e01b58f8 |
rev | line source |
---|---|
15 | 1 package IMPL::DOM::Schema; |
2 use strict; | |
3 use warnings; | |
4 | |
5 use base qw(IMPL::DOM::Document); | |
6 use IMPL::Class::Property; | |
7 use IMPL::Class::Property::Direct; | |
8 | |
9 __PACKAGE__->PassThroughArgs; | |
10 | |
11 BEGIN { | |
12 private _direct property _TypesMap => prop_all; | |
13 } | |
14 | |
16
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
15 sub ResoveType { |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
16 $_[0]->{$_TypesMap}->{$_[1]}; |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
17 } |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
18 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
19 sub MetaSchema { |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
20 my $schema = new IMPL::DOM::Schema(nodeName => 'schema'); |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
21 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
22 $schema->appendRange( |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
23 IMPL::DOM::Schema::ComplexNode->new(nodeName => 'schema')->appendRange( |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
24 IMPL::DOM::Schema::NodeSet->new()->appendRange( |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
25 IMPL::DOM::Schema::Node->new(nodeName => 'ComplexNode', type => 'ComplexNode', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
26 IMPL::DOM::Schema::Node->new(nodeName => 'ComplexType', type => 'ComplexType', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
27 IMPL::DOM::Schema::Node->new(nodeName => 'SimpleNode', type => 'SimpleNode', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
28 IMPL::DOM::Schema::Node->new(nodeName => 'SimpleType', type => 'SimpleType', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
29 IMPL::DOM::Schema::SimpleNode->new(nodeName => 'Node', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
30 IMPL::DOM::Schema::SimpleNode->new(nodeName => 'Include', minOccur => 0, maxOccur=>'unbounded') |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
31 ) |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
32 ), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
33 IMPL::DOM::Schema::ComplexType->new(type => 'NodeSet', native => 'IMPL::DOM::Schema::NodeSet')->appendRange( |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
34 IMPL::DOM::Schema::NodeSet->new()->appendRange( |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
35 IMPL::DOM::Schema::Node->new(nodeName => 'ComplexNode', type => 'ComplexNode', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
36 IMPL::DOM::Schema::Node->new(nodeName => 'SimpleNode', type => 'SimpleNode', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
37 IMPL::DOM::Schema::SimpleNode->new(nodeName => 'Node', minOccur => 0, maxOccur=>'unbounded'), |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
38 ) |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
39 ) |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
40 ) |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
41 } |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
42 |
15 | 43 1; |
16
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
44 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
45 __END__ |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
46 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
47 =pod |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
48 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
49 =head1 META SCHEMA |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
50 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
51 , |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
52 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
53 <schema> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
54 <ComplexNode nodeName="schema"> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
55 <NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
56 <Node minOcuur="0" maxOccur="unbounded" nodeName="ComplexNode" type="ComplexNode"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
57 <Node minOcuur="0" maxOccur="unbounded" nodeName="SimpleNode" type="SimpleNode"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
58 <Node minOcuur="0" maxOccur="unbounded" nodeName="ComplexType" type="ComplexType"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
59 <Node minOcuur="0" maxOccur="unbounded" nodeName="SimpleType" type="SimpleType"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
60 <SimpleNode minOcuur="0" maxOccur="unbounded" nodeName="Node"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
61 <SimpleNode minOcuur="0" maxOccur="unbounded" nodeName="Include"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
62 </NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
63 </ComplexNode> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
64 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
65 <ComplexType type="NodeContainer"> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
66 <NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
67 <Node minOcuur="0" maxOccur="unbounded" nodeName="ComplexNode" type="ComplexNode"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
68 <Node minOcuur="0" maxOccur="unbounded" nodeName="SimpleNode" type="SimpleNode"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
69 <SimpleNode minOcuur="0" maxOccur="unbounded" nodeName="Node"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
70 </NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
71 </ComplexType> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
72 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
73 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
74 <ComplexType type="ComplexType"> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
75 <NodeList> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
76 <Node nodeName="NodeSet" type="NodeContainer" minOcuur=0/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
77 <Node nodeName="NodeList" type="NodeContainer" minOccur=0/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
78 <AnyNode minOccur="0" maxOccur="unbounded"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
79 </NodeList> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
80 </ComplexType> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
81 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
82 <ComplexType type="ComplexNode"> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
83 <NodeList> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
84 <Node nodeName="NodeSet" type="NodeContainer" minOcuur=0/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
85 <Node nodeName="NodeList" type="NodeContainer" minOccur=0/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
86 <AnyNode minOccur="0" maxOccur="unbounded"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
87 </NodeList> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
88 </ComplexType> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
89 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
90 <ComplexType type="SimpleNode"> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
91 <NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
92 <AnyNode minOccur=0 maxOccur="unbounded"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
93 </NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
94 </ComplexType> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
95 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
96 <ComplexType type="SimpleType"> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
97 <NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
98 <AnyNode minOccur=0 maxOccur="unbounded"/> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
99 </NodeSet> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
100 </ComplexType> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
101 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
102 </schema> |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
103 |
75d55f4ee263
Окончательная концепция описания схем и построения DOM документов
Sergey
parents:
15
diff
changeset
|
104 =cut |