package conan-database

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file conan_marc21.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
let tree = Conan.Tree.Unsafe.node
             [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                 ?line:(Some 13)
                 (let ty = Conan.Ty.search ~compact_whitespaces:false
                             ~optional_blank:false
                             ~lower_case_insensitive:false
                             ~upper_case_insensitive:false `Text ~trim:false
                             2L ~pattern:"45" in
                  Conan.Tree.Unsafe.rule
                    ~offset:(Conan.Offset.Absolute (Conan.Offset.Value 20L))
                    ty (Conan.Test.string (Conan.Comparison.equal_to "45"))
                    (`Space "")),
               Conan.Tree.Unsafe.node
                 [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                     ?line:(Some 14)
                     (let ty = Conan.Ty.search ~compact_whitespaces:false
                                 ~optional_blank:false
                                 ~lower_case_insensitive:false
                                 ~upper_case_insensitive:false `Text
                                 ~trim:false 2048L ~pattern:"\030" in
                      Conan.Tree.Unsafe.rule
                        ~offset:(Conan.Offset.Absolute
                                 (Conan.Offset.Value 0L))
                        ty
                        (Conan.Test.string (Conan.Comparison.equal_to "\030"))
                        (`Space "")),
                   Conan.Tree.Unsafe.node
                     [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                         ?line:(Some 29)
                         (let ty = Conan.Ty.regex
                                     ~case_insensitive:false ~start:false
                                     ~limit:8192L `Line in
                          Conan.Tree.Unsafe.rule
                            ~offset:(Conan.Offset.Absolute
                                     (Conan.Offset.Value 0L))
                            ty
                            (Conan.Test.regex
                               (Conan.Comparison.equal_to
                                  (Re.seq
                                     [Re.group (Re.seq
                                                  [Re.bos;
                                                   Re.repn
                                                     (Re.nest (Re.set "\000"))
                                                     21 (Some 21)]);
                                      Re.group (Re.repn
                                                  (Re.nest (Re.diff
                                                              (Re.compl
                                                                 [Re.set "0"])
                                                              (Re.set "\n")))
                                                  2 (Some 2))])))
                            (`Space "(non-conforming)")),
                       Conan.Tree.Unsafe.node
                         [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                             ?line:(Some 30)
                             (Conan.Tree.Unsafe.mime "application/marc"),
                           Conan.Tree.Unsafe.leaf)]);
                      (Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                         ?line:(Some 25)
                         (let ty = Conan.Ty.regex
                                     ~case_insensitive:false ~start:false
                                     ~limit:8192L `Line in
                          Conan.Tree.Unsafe.rule
                            ~offset:(Conan.Offset.Absolute
                                     (Conan.Offset.Value 0L))
                            ty
                            (Conan.Test.regex
                               (Conan.Comparison.equal_to
                                  (Re.seq
                                     [Re.group (Re.seq
                                                  [Re.bos;
                                                   Re.repn
                                                     (Re.nest (Re.set "0")) 5
                                                     (Some 5)]);
                                      Re.alt
                                        [Re.set "n"; Re.set "d"; Re.set "c"];
                                      Re.set "q"])))
                            (`Space "MARC21 Community")),
                       Conan.Tree.Unsafe.node
                         [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                             ?line:(Some 26)
                             (Conan.Tree.Unsafe.mime "application/marc"),
                           Conan.Tree.Unsafe.leaf)]);
                      (Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                         ?line:(Some 23)
                         (let ty = Conan.Ty.regex
                                     ~case_insensitive:false ~start:false
                                     ~limit:8192L `Line in
                          Conan.Tree.Unsafe.rule
                            ~offset:(Conan.Offset.Absolute
                                     (Conan.Offset.Value 0L))
                            ty
                            (Conan.Test.regex
                               (Conan.Comparison.equal_to
                                  (Re.seq
                                     [Re.group (Re.seq
                                                  [Re.bos;
                                                   Re.repn
                                                     (Re.nest (Re.set "0")) 5
                                                     (Some 5)]);
                                      Re.alt
                                        [Re.set "n"; Re.set "d"; Re.set "c";
                                         Re.set "a"];
                                      Re.set "w"])))
                            (`Space "MARC21 Classification")),
                       Conan.Tree.Unsafe.node
                         [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                             ?line:(Some 24)
                             (Conan.Tree.Unsafe.mime "application/marc"),
                           Conan.Tree.Unsafe.leaf)]);
                      (Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                         ?line:(Some 21)
                         (let ty = Conan.Ty.regex
                                     ~case_insensitive:false ~start:false
                                     ~limit:8192L `Line in
                          Conan.Tree.Unsafe.rule
                            ~offset:(Conan.Offset.Absolute
                                     (Conan.Offset.Value 0L))
                            ty
                            (Conan.Test.regex
                               (Conan.Comparison.equal_to
                                  (Re.seq
                                     [Re.group (Re.seq
                                                  [Re.bos;
                                                   Re.repn
                                                     (Re.nest (Re.set "0")) 5
                                                     (Some 5)]);
                                      Re.alt
                                        [Re.set "n"; Re.set "d"; Re.set "c"];
                                      Re.alt
                                        [Re.set "y"; Re.set "x"; Re.set "v";
                                         Re.set "u"]])))
                            (`Space "MARC21 Holdings")),
                       Conan.Tree.Unsafe.node
                         [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                             ?line:(Some 22)
                             (Conan.Tree.Unsafe.mime "application/marc"),
                           Conan.Tree.Unsafe.leaf)]);
                      (Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                         ?line:(Some 19)
                         (let ty = Conan.Ty.regex
                                     ~case_insensitive:false ~start:false
                                     ~limit:8192L `Line in
                          Conan.Tree.Unsafe.rule
                            ~offset:(Conan.Offset.Absolute
                                     (Conan.Offset.Value 0L))
                            ty
                            (Conan.Test.regex
                               (Conan.Comparison.equal_to
                                  (Re.seq
                                     [Re.group (Re.seq
                                                  [Re.bos;
                                                   Re.repn
                                                     (Re.nest (Re.set "0")) 5
                                                     (Some 5)]);
                                      Re.alt
                                        [Re.set "x"; Re.set "s"; Re.set "o";
                                         Re.set "n"; Re.set "d"; Re.set "c";
                                         Re.set "a"];
                                      Re.set "z"])))
                            (`Space "MARC21 Authority")),
                       Conan.Tree.Unsafe.node
                         [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                             ?line:(Some 20)
                             (Conan.Tree.Unsafe.mime "application/marc"),
                           Conan.Tree.Unsafe.leaf)]);
                      (Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                         ?line:(Some 17)
                         (let ty = Conan.Ty.regex
                                     ~case_insensitive:false ~start:false
                                     ~limit:8192L `Line in
                          Conan.Tree.Unsafe.rule
                            ~offset:(Conan.Offset.Absolute
                                     (Conan.Offset.Value 0L))
                            ty
                            (Conan.Test.regex
                               (Conan.Comparison.equal_to
                                  (Re.seq
                                     [Re.group (Re.seq
                                                  [Re.bos;
                                                   Re.repn
                                                     (Re.nest (Re.set "0")) 5
                                                     (Some 5)]);
                                      Re.alt
                                        [Re.set "p"; Re.set "n"; Re.set "d";
                                         Re.set "c"; Re.set "a"];
                                      Re.diff
                                        (Re.compl
                                           [Re.set "u"; Re.set "s";
                                            Re.set "q"; Re.set "n";
                                            Re.set "l"; Re.set "h";
                                            Re.set "b"])
                                        (Re.set "\n")])))
                            (`Space "MARC21 Bibliographic")),
                       Conan.Tree.Unsafe.node
                         [(Conan.Tree.Unsafe.elt ?filename:(Some "marc21")
                             ?line:(Some 18)
                             (Conan.Tree.Unsafe.mime "application/marc"),
                           Conan.Tree.Unsafe.leaf)])])])]
OCaml

Innovation. Community. Security.