/** * Return the XmlElement that has been built. * * @return the XmlElement that has been built. */ public XmlElement giveItUp() { final FatMutableXmlElement e = (FatMutableXmlElement) this.kid_stack.removeLast(); assert this.kid_stack.isEmpty(); assert this.open_stack.isEmpty(); assert this.count_stack.isEmpty(); return e.toCompactXmlElement(); }
public void endElement(final String nameSpace, final String localName, final String fullName) throws SAXException { final int n_kids = this.kid_stack.size() - this.count_stack.pop(); final Object[] kids = new Object[n_kids]; for (int i = n_kids - 1; i >= 0; i -= 1) { kids[i] = this.kid_stack.removeLast(); } final FatMutableXmlElement e = (FatMutableXmlElement) this.open_stack.removeLast(); e.addChildren(Arrays.asList(kids)); this.kid_stack.addLast(e); }
public void startElement( final String nameSpace, final String localName, final String fullName, final Attributes attributes) throws SAXException { this.count_stack.push(this.kid_stack.size()); final FatMutableXmlElement e = FatMutableXmlElement.make(Symbol.make(fullName), attributes); e.putAttributes(XmlElement.attributesToMap(attributes)); this.open_stack.addLast(e); }