@@ -107,6 +107,18 @@ def extract_xep_metadata(document):
107
107
for child in minidom_children (tags_elem ):
108
108
tags .append (minidom_get_text (child ))
109
109
110
+ supersedes = []
111
+ supersedes_el = minidom_find_child (header , "supersedes" )
112
+ if supersedes_el is not None :
113
+ for child in minidom_children (supersedes_el ):
114
+ supersedes .append (minidom_get_text (child ))
115
+
116
+ supersededby = []
117
+ supersededby_el = minidom_find_child (header , "supersededby" )
118
+ if supersededby_el is not None :
119
+ for child in minidom_children (supersededby_el ):
120
+ supersededby .append (minidom_get_text (child ))
121
+
110
122
return {
111
123
"last_revision" : {
112
124
"version" : last_revision_version ,
@@ -120,6 +132,8 @@ def extract_xep_metadata(document):
120
132
"abstract" : abstract ,
121
133
"shortname" : shortname ,
122
134
"tags" : tags ,
135
+ "supersedes" : supersedes ,
136
+ "supersededby" : supersededby ,
123
137
"title" : title ,
124
138
"approver" : approver ,
125
139
"last_call" : last_call ,
@@ -150,6 +164,18 @@ def make_metadata_element(number, metadata, accepted, *, protoname=None):
150
164
tags .append (text_element ("tag" , tag ))
151
165
result .append (tags )
152
166
167
+ if metadata ["supersedes" ]:
168
+ supersedes = etree .Element ("supersedes" )
169
+ for spec in metadata ["supersedes" ]:
170
+ supersedes .append (text_element ("spec" , spec ))
171
+ result .append (supersedes )
172
+
173
+ if metadata ["supersededby" ]:
174
+ supersededby = etree .Element ("supersededby" )
175
+ for spec in metadata ["supersededby" ]:
176
+ supersededby .append (text_element ("spec" , spec ))
177
+ result .append (supersededby )
178
+
153
179
if metadata ["last_revision" ]["version" ] is not None :
154
180
last_revision = metadata ["last_revision" ]
155
181
revision_el = etree .Element ("last-revision" )
0 commit comments