public Element toXml(Document doc, Stack stack) { Element syllabus = doc.createElement("syllabus"); if (stack.isEmpty()) { doc.appendChild(syllabus); } else { ((Element) stack.peek()).appendChild(syllabus); } stack.push(syllabus); syllabus.setAttribute("id", m_id); syllabus.setAttribute("subject", m_data.getTitle()); syllabus.setAttribute("body", m_data.getAsset()); m_properties.toXml(doc, stack); stack.pop(); return syllabus; }
/** @inheritDoc */ public Element toXml(Document doc, Stack stack) { Element digest = doc.createElement("digest"); if (stack.isEmpty()) { doc.appendChild(digest); } else { ((Element) stack.peek()).appendChild(digest); } stack.push(digest); digest.setAttribute("id", getId()); // properties m_properties.toXml(doc, stack); // for each message range for (Iterator it = m_ranges.entrySet().iterator(); it.hasNext(); ) { Map.Entry entry = (Map.Entry) it.next(); Element messages = doc.createElement("messages"); digest.appendChild(messages); messages.setAttribute("period", (String) entry.getKey()); // for each message for (Iterator iMsgs = ((List) entry.getValue()).iterator(); iMsgs.hasNext(); ) { DigestMessage msg = (DigestMessage) iMsgs.next(); Element message = doc.createElement("message"); messages.appendChild(message); Xml.encodeAttribute(message, "subject", msg.getSubject()); Xml.encodeAttribute(message, "body", msg.getBody()); } } stack.pop(); return digest; }