public void serializeBody(BeanT o, XMLSerializer w, Object outerPeer) throws SAXException, AccessorException, IOException, XMLStreamException { ValueT v = acc.get(o); if (v != null) { bareStartTag(w, tagName, v); for (Map.Entry e : (Set<Map.Entry>) v.entrySet()) { bareStartTag(w, entryTag, null); Object key = e.getKey(); if (key != null) { w.startElement(keyTag, key); w.childAsXsiType(key, fieldName, keyBeanInfo, false); w.endElement(); } Object value = e.getValue(); if (value != null) { w.startElement(valueTag, value); w.childAsXsiType(value, fieldName, valueBeanInfo, false); w.endElement(); } w.endElement(); } w.endElement(); } else if (nillable) { w.startElement(tagName, null); w.writeXsiNilTrue(); w.endElement(); } }
private void bareStartTag(XMLSerializer w, Name tagName, Object peer) throws IOException, XMLStreamException, SAXException { w.startElement(tagName, peer); w.endNamespaceDecls(peer); w.endAttributes(); }