@@ -1198,29 +1198,29 @@ private static String unescapeName(final String name) {
11981198 private static void addNodeValue (final Map <String , Object > map , final String name , final Object value ,
11991199 final BiFunction <Object , Set <String >, String > elementMapper , final Function <Object , Object > nodeMapper ,
12001200 final int [] uniqueIds , final Set <String > namespaces ) {
1201- if (map .containsKey (name )) {
1202- if (TEXT .equals (name )) {
1203- map .put (name + uniqueIds [0 ], nodeMapper .apply (getValue (value )));
1201+ final String elementName = unescapeName (elementMapper .apply (name , namespaces ));
1202+ if (map .containsKey (elementName )) {
1203+ if (TEXT .equals (elementName )) {
1204+ map .put (elementName + uniqueIds [0 ], nodeMapper .apply (getValue (value )));
12041205 uniqueIds [0 ] += 1 ;
1205- } else if (COMMENT .equals (name )) {
1206- map .put (name + uniqueIds [1 ], nodeMapper .apply (getValue (value )));
1206+ } else if (COMMENT .equals (elementName )) {
1207+ map .put (elementName + uniqueIds [1 ], nodeMapper .apply (getValue (value )));
12071208 uniqueIds [1 ] += 1 ;
1208- } else if (CDATA .equals (name )) {
1209- map .put (name + uniqueIds [2 ], nodeMapper .apply (getValue (value )));
1209+ } else if (CDATA .equals (elementName )) {
1210+ map .put (elementName + uniqueIds [2 ], nodeMapper .apply (getValue (value )));
12101211 uniqueIds [2 ] += 1 ;
12111212 } else {
1212- final Object object = map .get (name );
1213+ final Object object = map .get (elementName );
12131214 if (object instanceof List ) {
1214- addText (map , name , (List <Object >) object , value );
1215+ addText (map , elementName , (List <Object >) object , value );
12151216 } else {
12161217 final List <Object > objects = U .newArrayList ();
12171218 objects .add (object );
1218- addText (map , name , objects , value );
1219- map .put (name , objects );
1219+ addText (map , elementName , objects , value );
1220+ map .put (elementName , objects );
12201221 }
12211222 }
12221223 } else {
1223- final String elementName = unescapeName (elementMapper .apply (name , namespaces ));
12241224 if (elementName != null ) {
12251225 map .put (elementName , nodeMapper .apply (getValue (value )));
12261226 }
0 commit comments