@Override
  public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr) {
    String fullName = name;
    if (nsPrefix != null) {
      fullName = nsPrefix + ':' + name;
    }
    IXMLElement elt = prototype.createElement(fullName, nsURI, systemID, lineNr);
    if (stack.isEmpty()) {
      root = elt;
    }
    else {
      IXMLElement top = stack.peek();
      top.addChild(elt);
    }
    stack.push(elt);
  }
@Override
  public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr)