cbeta 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cbeta/xml_document.rb +46 -6
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 982e4d10689bc1fa6f71d8c27e880cbfdcf248c5cbdb8994ad65bf6d2c5e5259
4
- data.tar.gz: 7c6cfa28c5f48f1f84bb4ad2921e45ac1db1f2039626999a1fd620bbe91c9564
3
+ metadata.gz: 5d32b2ace3526aa8492fcfb42bbbebf08edfa1a1df1d3ef5aecc8e409e7423a9
4
+ data.tar.gz: 67bb568adb4710f114216161e16a6c7c5e0a0c34af6b770a42fc1e26143a3b03
5
5
  SHA512:
6
- metadata.gz: b1ac00d3090b9a19df3e3d25d4cf1c2dc4f50a37e6de3cbbdf4b09a9cd6cb68b1fa7700e825cad8352628f7a9bab8ed34a916abbd4d8380a68d5783e6aef8513
7
- data.tar.gz: b1a6f2ebb218737938ae7bc35eb5bc648cc544c8ac964647054335bf15f218e17db7a337e8b529060eccd69094872df6725ebed18b0e7cb0681253f3eccdf23d
6
+ metadata.gz: 71ade7189b3f3bf90f9436e1d756c88f72164285972d7cab8cb81bb2ed27d2c13a048e2909cfb58f8250288e5d31bee888acedf6cf4ea225db5e7ea5605db575
7
+ data.tar.gz: f84625e849635021b7ba2c10b7b54725830bce6786eb40fe8b3696b8b732274ec89cbbb4fbedb9e494be88f221e7252c23d90fe83fe8e8b81edc8189bf9969f0
@@ -3,6 +3,8 @@ require 'nokogiri'
3
3
  class CBETA::XMLDocument
4
4
  PASS = %w(back graphic mulu rdg sic teiHeader)
5
5
 
6
+ attr_reader :doc
7
+
6
8
  def initialize(string_or_io)
7
9
  @doc = Nokogiri::XML(string_or_io)
8
10
  @doc.remove_namespaces!
@@ -44,9 +46,21 @@ class CBETA::XMLDocument
44
46
  ' '
45
47
  end
46
48
 
49
+ def e_caption(e)
50
+ traverse(e) + "\n"
51
+ end
52
+
47
53
  def e_cell(e)
48
54
  traverse(e) + "\n"
49
55
  end
56
+
57
+ def e_cit(e)
58
+ traverse(e)
59
+ end
60
+
61
+ def e_closer(e)
62
+ traverse(e) + "\n"
63
+ end
50
64
 
51
65
  def e_corr(e)
52
66
  traverse(e)
@@ -63,6 +77,10 @@ class CBETA::XMLDocument
63
77
  def e_div(e)
64
78
  traverse(e)
65
79
  end
80
+
81
+ def e_docAuthor(e)
82
+ traverse(e)
83
+ end
66
84
 
67
85
  def e_docNumber(e)
68
86
  traverse(e) + "\n"
@@ -73,6 +91,12 @@ class CBETA::XMLDocument
73
91
  end
74
92
 
75
93
  def e_figure(e)
94
+ r = traverse(e)
95
+ r << "\n" unless r.empty?
96
+ r
97
+ end
98
+
99
+ def e_figDesc(e)
76
100
  traverse(e) + "\n"
77
101
  end
78
102
 
@@ -88,14 +112,19 @@ class CBETA::XMLDocument
88
112
  cb_priority = %w(uni_char composition)
89
113
  end
90
114
 
91
- gid = e['ref'][1..-1]
92
- r = @gaiji.to_s(gid, cb_priority:)
93
- abort "Line:#{__LINE__} 缺字處理失敗:#{gid}" if r.nil?
94
- r
115
+ gid = e['ref'].delete_prefix('#')
116
+
117
+ unless @gaiji.key?(gid)
118
+ raise "在 CBETA 缺字庫中找不到此缺字碼: #{gid}"
119
+ end
120
+
121
+ @gaiji.to_s(gid, cb_priority:)
95
122
  end
96
123
 
97
124
  def e_head(e)
98
- traverse(e) + "\n"
125
+ r = traverse(e)
126
+ r << "\n" unless r.empty?
127
+ r
99
128
  end
100
129
 
101
130
  def e_hi(e)
@@ -178,6 +207,14 @@ class CBETA::XMLDocument
178
207
  ''
179
208
  end
180
209
 
210
+ def e_quote(e)
211
+ traverse(e)
212
+ end
213
+
214
+ def e_ref(e)
215
+ traverse(e)
216
+ end
217
+
181
218
  def e_reg(e)
182
219
  r = ''
183
220
  choice = e.at_xpath('ancestor::choice')
@@ -189,6 +226,10 @@ class CBETA::XMLDocument
189
226
  traverse(e) + "\n"
190
227
  end
191
228
 
229
+ def e_seg(e)
230
+ traverse(e)
231
+ end
232
+
192
233
  def e_sg(e)
193
234
  '(' + traverse(e) + ')'
194
235
  end
@@ -266,7 +307,6 @@ class CBETA::XMLDocument
266
307
  r
267
308
  end
268
309
 
269
-
270
310
  def handle_node(e)
271
311
  return '' if e.comment?
272
312
  return handle_text(e) if e.text?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cbeta
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ray Chou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-09 00:00:00.000000000 Z
11
+ date: 2024-03-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby gem for use Chinese Buddhist Text resources made by CBETA (http://www.cbeta.org).
14
14
  email: zhoubx@gmail.com