String ns = root.get_namespaceURI();
const String ns = Model::getNamespaceURI(Model::asNode(root));
  getRootElement() const  {    Clock perf;	    SmartPtr<Element> oldRootElement = rootElement;    bool rootDirty = rootElement && (rootElement->dirtyStructure() || rootElement->dirtyAttribute() || rootElement->dirtyAttributeP());    if (typename Model::Element root = getRootModelElement())      {	perf.Start();	String ns = root.get_namespaceURI();	if (ns == MATHML_NS_URI) rootElement = getMathMLElement(root);	else if (ns == BOXML_NS_URI) rootElement = getBoxMLElement(root);	perf.Stop();#if 0	std::cerr << "FOUND ROOT ELEMENT = " << static_cast<Element*>(res)		  << " DIRTY? " << res->dirtyLayout() << std::endl;#endif      }    else      rootElement = 0;    if (rootDirty || rootElement != oldRootElement)      Globals::logger(LOG_INFO, "build time: %dms", perf());    return rootElement;  }