@@ -59,8 +59,8 @@ impl RegisterInfo {
59
59
name,
60
60
alternate_group : tree. get_child_text_opt ( "alternateGroup" ) ?,
61
61
alternate_register : tree. get_child_text_opt ( "alternateRegister" ) ?,
62
- derived_from : tree. get_child_text_opt ( "derivedFrom" ) ?,
63
62
description : tree. get_child_text_opt ( "description" ) ?,
63
+ derived_from : tree. attributes . get ( "derivedFrom" ) . map ( |s| s. to_owned ( ) ) ,
64
64
address_offset : tree. get_child_u32 ( "addressOffset" ) ?,
65
65
size : parse:: optional :: < u32 > ( "size" , tree) ?,
66
66
access : parse:: optional :: < Access > ( "access" , tree) ?,
@@ -143,10 +143,8 @@ impl Encode for RegisterInfo {
143
143
144
144
match self . derived_from {
145
145
Some ( ref v) => {
146
- elem. children . push ( new_element (
147
- "derivedFrom" ,
148
- Some ( format ! ( "{}" , v) ) ,
149
- ) ) ;
146
+ elem. attributes
147
+ . insert ( String :: from ( "derivedFrom" ) , format ! ( "{}" , v) ) ;
150
148
}
151
149
None => ( ) ,
152
150
}
@@ -261,13 +259,12 @@ mod tests {
261
259
_extensible: ( ) ,
262
260
} ,
263
261
"
264
- <register>
262
+ <register derivedFrom= \" derived from \" >
265
263
<name>WRITECTRL</name>
266
264
<description>Write Control Register</description>
267
265
<addressOffset>0x8</addressOffset>
268
266
<alternateGroup>alternate group</alternateGroup>
269
267
<alternateRegister>alternate register</alternateRegister>
270
- <derivedFrom>derived from</derivedFrom>
271
268
<size>32</size>
272
269
<access>read-write</access>
273
270
<resetValue>0x00000000</resetValue>
0 commit comments