-
Notifications
You must be signed in to change notification settings - Fork 35
/
lsyj.rnc
106 lines (93 loc) · 2.05 KB
/
lsyj.rnc
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
# 六書音均表Schema
# $Id: lsyj.rnc,v 1.1 2009/05/05 01:50:52 kawabata Exp $
# book structure
start = element book {
attribute title {text},
preface+,
catalogs,
preface+,
table+
}
preface = element preface {
element preface_title {text_note}?,
content
}
catalogs = element catalogs {
element catalogtitle {text},
element author {text_note},
element catalog {
attribute href {text},
text
}+,
element word_num {text}
}
table = element table {
attribute id {xsd:ID},
element tabletitle {text},
element prevue {text_note}?,
(seventeen_parts | tone_parts | sorts | parts),
(midtitle | content)*,
element word_num {text},
element endtable {text_note}
}
seventeen_parts = element seventeen_parts {
element seventeen_part {
attribute id {xsd:ID},
element partname {text},
element fourtune {
attribute tune {text},
element rhythmic_entry {
attribute href {text},
text
}+
}+
}+
}
tone_parts = element tone_parts {
element tone_part {
element partname {
attribute href {text},
text_note
},
element partial_tone {
attribute id {xsd:ID}?,
text_note
}+,
element explanation {text}?
}+
}
sorts = element sorts {
element sort {
attribute id {xsd:ID}?,
element sortname {text},
element part_entry {text_note}+
}+
}
parts = element parts {
element part {
attribute id {xsd:ID}?,
element partname {
attribute href {text},
text_note
},
element verses {
(verse | sectsign)+, letter
}+,
element rhyme {
element rhymetitle {text_note},
(word | sectsign)+
}*
}+
}
verse = element verse {text2, note}
word = element word {text_note}
sectsign = element sectsign {text_note}
letter = element letter {text}
# text structure
content = element content {text_note}
midtitle = element midtitle {text}
text_note = mixed { note* }
note = element note { text2 }
text2 = mixed {(origin_tune | synactic_tune)*}
origin_tune = element origin_tune {text}
synactic_tune = element synactic_tune {text}