49
|
1 package IMPL::Text::Schema;
|
|
2 use strict;
|
|
3 use warnings;
|
|
4
|
166
|
5 use parent qw(IMPL::DOM::Schema);
|
49
|
6
|
|
7 __PACKAGE__->PassThroughArgs;
|
|
8
|
|
9 1;
|
|
10
|
|
11 __END__
|
|
12
|
|
13 =pod
|
|
14
|
|
15 =head1 SINOPSYS
|
|
16
|
|
17 <schema>
|
|
18 <ComplexNode name="syntax">
|
|
19 <Node name="Define" type="Statement" minOccur="1" maxOccur="unbounded">
|
|
20 <Property name="name" type="Word"/>
|
|
21 </Node>
|
|
22 </ComplexNode>
|
|
23 <ComplexType type="Statement" nativeType="IMPL::Text::Schema::Statement">
|
|
24 <NodeList>
|
|
25 <SwitchNode minOccur="1" maxOccur="unbounded">
|
|
26 <Node name="Word" type="Word"/>
|
|
27 <Node name="Statement" type="Word"/>
|
|
28 <Node name="Regexp" type="Regexp"/>
|
|
29 <Node name="Switch" type="Switch"/>
|
|
30 <Node name="Repeat" type="List"/>
|
|
31 </SwitchNode>
|
|
32 </NodeList>
|
|
33 </ComplexType>
|
|
34 <SimpleType type="Word" nativeType="IMPL::Text::Schema::Word"/>
|
|
35 <SimpleType type="Regexp" nativeType="IMPL::Text::Schema::Regexp"/>
|
|
36 <ComplexType type="Switch" nativeType="IMPL::Text::Schema::Switch">
|
|
37 <NodeList>
|
|
38 <SwitchNode minOccur="1" maxOccur="unbounded">
|
|
39 <Node name="Word" type="Word"/>
|
|
40 <Node name="Statement" type="Word"/>
|
|
41 <Node name="Regexp" type="Regexp"/>
|
|
42 <Node name="Switch" type="Switch"/>
|
|
43 <Node name="Repeat" type="List"/>
|
|
44 </SwitchNode>
|
|
45 </NodeList>
|
|
46 </ComplexType>
|
|
47 <ComplexType type="Repeat" nativeType="IMPL::Text::Schema::Repeat">
|
|
48 <NodeList>
|
|
49 <SwitchNode minOccur="1" maxOccur="unbounded">
|
|
50 <Node name="Word" type="Word"/>
|
|
51 <Node name="Statement" type="Word"/>
|
|
52 <Node name="Regexp" type="Regexp"/>
|
|
53 <Node name="Switch" type="Switch"/>
|
|
54 <Node name="Repeat" type="List"/>
|
|
55 </SwitchNode>
|
|
56 </NodeList>
|
|
57 </CoomplexType>
|
|
58 </schema>
|
|
59
|
|
60 =head1 DESCRIPTION
|
|
61
|
180
|
62 Схема текстового файла, которую можно использовать для разбора содержимого
|
|
63 текстового файла.
|
49
|
64
|
180
|
65 Схема текстового файла состоит из выражений.
|
|
66 1. Регулярное выражение является выражением
|
|
67 2. Строковое значение является выражением.
|
|
68 3. Выражения объединенные логическими операторами также выражение.
|
49
|
69
|
180
|
70 Допускаются следующие операторы
|
|
71 1. Повтор
|
|
72 2. Ветвление
|
49
|
73
|
|
74 =head1 METHODS
|
|
75
|
|
76 =over
|
|
77
|
|
78 =item C<<$schema->compile()>>
|
|
79
|
180
|
80 Возвращает объект для разбора текста.
|
49
|
81
|
|
82 =back
|
|
83
|
|
84 =head1 INTERNALS
|
|
85
|
|
86
|
|
87 =cut
|