diff --git a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
index fae0f39239f54b8b14c634c327de97b1ad0e6d35..102913981d9da9955bac2a32b0ac1fb5151d8d84 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
+++ b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
@@ -1,7 +1,7 @@
 #pike __REAL_VERSION__
 
 /*
- * $Id: Tree.pmod,v 1.51 2004/05/14 18:37:31 grubba Exp $
+ * $Id: Tree.pmod,v 1.52 2004/06/23 15:13:40 jonasw Exp $
  *
  */
 
@@ -734,6 +734,14 @@ static class VirtualNode {
     return (mTagName);
   }
 
+  //! Change the tag name destructively. Can only be used on element and
+  //! processing-instruction nodes.
+  void set_tag_name(string name)
+  {
+    if (mNodeType & (XML_ELEMENT | XML_PI))
+      mTagName = name;
+  }
+
   //! Return fully qualified name of the element node.
   string get_full_name()
   {