blob: b359e1440227ade372294111e59fe4c68196834c [file] [log] [blame]
Akron8fa76bc2016-01-28 15:10:50 +01001package KorAP::XML::Tokenizer::Span;
Nils Diewald2db9ad02013-10-29 19:26:43 +00002use strict;
3use warnings;
4use Mojo::DOM;
5
6sub new {
7 bless [], shift;
8};
9
Akrona7d9adf2016-02-01 14:38:40 +010010sub type {
11 'span';
12};
13
Nils Diewald2db9ad02013-10-29 19:26:43 +000014sub o_start {
15 if (defined $_[1]) {
16 $_[0]->[0] = $_[1];
17 };
18 $_[0]->[0];
19};
20
21sub o_end {
22 if (defined $_[1]) {
23 $_[0]->[1] = $_[1];
24 };
25 $_[0]->[1];
26};
27
28sub p_start {
29 if (defined $_[1]) {
30 $_[0]->[2] = $_[1];
31 };
32 $_[0]->[2];
33};
34
35sub p_end {
36 if (defined $_[1]) {
37 $_[0]->[3] = $_[1];
38 };
39 $_[0]->[3];
40};
41
42sub id {
43 if (defined $_[1]) {
44 $_[0]->[4] = $_[1];
45 };
46 $_[0]->[4];
47};
48
Nils Diewald2db9ad02013-10-29 19:26:43 +000049sub content {
50 if (defined $_[1]) {
51 $_[0]->[5] = $_[1];
52 }
53 else {
Nils Diewald7364d1f2013-11-05 19:26:35 +000054 return $_[0]->[5];
Nils Diewald2db9ad02013-10-29 19:26:43 +000055 };
56};
57
Nils Diewald7364d1f2013-11-05 19:26:35 +000058sub dom {
59 if ($_[0]->[6]) {
60 return $_[0]->[6];
61 }
62 else {
63 my $c = Mojo::DOM->new($_[0]->[5]);
64 $c->xml(1);
65 return $_[0]->[6] = $c;
Nils Diewald2db9ad02013-10-29 19:26:43 +000066 };
Nils Diewald7364d1f2013-11-05 19:26:35 +000067};
68
69sub hash {
70 if (defined $_[1]) {
71 $_[0]->[7] = $_[1];
72 }
73 else {
74 return $_[0]->[7];
75 };
Nils Diewald2db9ad02013-10-29 19:26:43 +000076};
77
Akronb27f6942015-12-09 22:34:26 +010078
79sub milestone {
80 if (defined $_[1]) {
81 $_[0]->[8] = 1;
82 };
83 $_[0]->[8] ? 1 : 0;
84};
85
86
87#sub tui {
88# if (defined $_[1]) {
89# $_[0]->[9] = $_[1];
90# };
91# $_[0]->[9];
92#};
93
94sub pti {
95 if (defined $_[1]) {
96 $_[0]->[10] = $_[1];
97 };
98 $_[0]->[10];
99};
100
101
Nils Diewald7b847222014-04-23 11:14:00 +0000102sub to_string {
103 my $v = shift;
104 {
105 no warnings;
106 return '[(' . $v->[0] . ':' . $v->[1] . '|' .
107 $v->[2] . ':' . $v->[3] . ')' .
108 $v->[4] . '-' .$v->[5] . ']';
109 };
110};
111
Nils Diewald2db9ad02013-10-29 19:26:43 +00001121;