diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMAttribute.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMAttribute.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMAttribute.java	2006-06-25 21:44:17.910118994 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMAttribute.java	2006-06-25 21:34:34.207577206 +0200
@@ -179,7 +179,7 @@
     public org.w3c.dom.Element getOwnerElement() {
         return DOMNodeHelper.asDOMElement(getParent());
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -217,3 +217,127 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @see org.w3c.dom.Attr#isId()
+     */
+    public boolean isId()
+    {
+        return false;
+//        return "id".equals(this.avAdaptee.getAttribute());
+    }
+
+    /**
+     * @todo DOM level 3 getSchemaTypeInfo() Not implemented. Returns null.
+     * @see org.w3c.dom.Attr#getSchemaTypeInfo()
+     */
+    public org.w3c.dom.TypeInfo getSchemaTypeInfo()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMCDATA.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMCDATA.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMCDATA.java	2006-06-25 21:44:17.911118787 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMCDATA.java	2006-06-25 21:34:34.203578032 +0200
@@ -225,7 +225,7 @@
     protected CDATA createCDATA(String text) {
         return new DOMCDATA(text);
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -263,3 +263,136 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 getWholeText() Not implemented. Returns null.
+     * @see org.w3c.dom.Text#getWholeText()
+     */
+    public String getWholeText()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 isElementContentWhitespace() Not implemented. Returns false.
+     * @see org.w3c.dom.Text#isElementContentWhitespace()
+     */
+    public boolean isElementContentWhitespace()
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 replaceWholeText() Not implemented. Returns the same node.
+     * @see org.w3c.dom.Text#isElementContentWhitespace()
+     */
+    public org.w3c.dom.Text replaceWholeText(String content) throws DOMException
+    {
+        return this;
+    }
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMComment.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMComment.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMComment.java	2006-06-25 21:44:17.911118787 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMComment.java	2006-06-25 21:34:34.112596808 +0200
@@ -187,7 +187,7 @@
             throws DOMException {
         DOMNodeHelper.replaceData(this, offset, count, arg);
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -225,3 +225,109 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMDocumentFactory.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMDocumentFactory.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMDocumentFactory.java	2006-06-25 21:44:17.911118787 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMDocumentFactory.java	2006-06-25 21:34:34.105598253 +0200
@@ -174,7 +174,7 @@
                     docType.getPublicId(), docType.getSystemId());
         }
     }
-}
+
 
 
 
@@ -213,4 +213,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
- */
\ No newline at end of file
+ */
+	public java.lang.Object getFeature(java.lang.String feature,java.lang.String version) {
+	  return null;
+	}
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMDocument.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMDocument.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMDocument.java	2006-06-25 21:44:17.911118787 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMDocument.java	2006-06-25 21:34:34.110597221 +0200
@@ -301,7 +301,7 @@
             return super.getDocumentFactory();
         }
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -339,3 +339,238 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 adoptNode() Not implemented.
+     * @see org.w3c.dom.Document#adoptNode(org.w3c.dom.Node)
+     */
+    public org.w3c.dom.Node adoptNode(org.w3c.dom.Node source) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getDocumentURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Document#getDocumentURI()
+     */
+    public String getDocumentURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getDomConfig() Not implemented. Returns null.
+     * @see org.w3c.dom.Document#getDomConfig()
+     */
+    public org.w3c.dom.DOMConfiguration getDomConfig()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getInputEncoding() Not implemented. Returns null.
+     * @see org.w3c.dom.Document#getInputEncoding()
+     */
+    public String getInputEncoding()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getStrictErrorChecking() Not implemented. Returns true.
+     * @see org.w3c.dom.Document#getStrictErrorChecking()
+     */
+    public boolean getStrictErrorChecking()
+    {
+        return true;
+    }
+
+    /**
+     * @todo DOM level 3 getXmlEncoding() Not implemented. Returns null.
+     * @see org.w3c.dom.Document#getXmlEncoding()
+     */
+    public String getXmlEncoding()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getXmlStandalone() Not implemented. Returns false.
+     * @see org.w3c.dom.Document#getXmlStandalone()
+     */
+    public boolean getXmlStandalone()
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 getXmlVersion() Not implemented. Always returns "1.0".
+     * @see org.w3c.dom.Document#getXmlVersion()
+     */
+    public String getXmlVersion()
+    {
+        // An attribute specifying, as part of the XML declaration, the version number of this document. If there is no
+        // declaration and if this document supports the "XML" feature, the value is "1.0"
+        return "1.0";
+    }
+
+    /**
+     * @todo DOM level 3 normalizeDocument() Not implemented. Do nothing.
+     * @see org.w3c.dom.Document#normalizeDocument()
+     */
+    public void normalizeDocument()
+    {
+        // do nothing
+    }
+
+    /**
+     * @todo DOM level 3 renameNode() Not implemented. Throws NOT_SUPPORTED_ERR.
+     * @see org.w3c.dom.Document#renameNode(org.w3c.dom.Node, java.lang.String, java.lang.String)
+     */
+    public org.w3c.dom.Node renameNode(org.w3c.dom.Node n, String namespaceURI, String qualifiedName)
+        throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 setDocumentURI() Not implemented. Do nothing.
+     * @see org.w3c.dom.Document#setDocumentURI(java.lang.String)
+     */
+    public void setDocumentURI(String documentURI)
+    {
+        // do nothing
+    }
+
+    /**
+     * @todo DOM level 3 setStrictErrorChecking() Not implemented. Do nothing.
+     * @see org.w3c.dom.Document#setStrictErrorChecking(boolean)
+     */
+    public void setStrictErrorChecking(boolean strictErrorChecking)
+    {
+        // do nothing
+    }
+
+    /**
+     * @todo DOM level 3 setXmlStandalone() Not implemented. Do nothing.
+     * @see org.w3c.dom.Document#setXmlStandalone(boolean)
+     */
+    public void setXmlStandalone(boolean xmlStandalone) throws DOMException
+    {
+        // do nothing
+    }
+
+    /**
+     * @todo DOM level 3 setXmlVersion() Not implemented. Do nothing.
+     * @see org.w3c.dom.Document#setXmlVersion(java.lang.String)
+     */
+    public void setXmlVersion(String xmlVersion) throws DOMException
+    {
+        // do nothing
+    }
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMDocumentType.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMDocumentType.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMDocumentType.java	2006-06-25 21:44:17.912118581 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMDocumentType.java	2006-06-25 21:34:34.160586904 +0200
@@ -177,7 +177,7 @@
     public String getInternalSubset() {
         return getElementName();
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -215,3 +215,109 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMElement.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMElement.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMElement.java	2006-06-25 21:44:18.005099394 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMElement.java	2006-06-25 21:34:34.154588142 +0200
@@ -389,7 +389,7 @@
 
         return getDocumentFactory().createQName(localName, prefix, namespace);
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -427,3 +427,154 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 2 getOwnerDocument() Not supported. Do nothing.
+     * @see org.w3c.dom.Element#normalize
+     */
+    public void normalize()
+    {
+        // do nothing
+    }
+
+    /**
+     * @todo DOM level 3 getSchemaTypeInfo() Not supported. Returns null.
+     * @see org.w3c.dom.Element#getSchemaTypeInfo()
+     */
+    public org.w3c.dom.TypeInfo getSchemaTypeInfo()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setIdAttribute() Not supported. Throws NOT_SUPPORTED_ERR.
+     * @see org.w3c.dom.Element#setIdAttribute(java.lang.String, boolean)
+     */
+    public void setIdAttribute(String name, boolean isId) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 setIdAttributeNode() Not supported. Throws NOT_SUPPORTED_ERR.
+     * @see org.w3c.dom.Element#setIdAttributeNode(org.w3c.dom.Attr, boolean)
+     */
+    public void setIdAttributeNode(org.w3c.dom.Attr idAttr, boolean isId) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 setIdAttributeNS() Not supported. Throws NOT_SUPPORTED_ERR.
+     * @see org.w3c.dom.Element#setIdAttributeNS(java.lang.String, java.lang.String, boolean)
+     */
+    public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMEntityReference.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMEntityReference.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMEntityReference.java	2006-06-25 21:44:18.005099394 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMEntityReference.java	2006-06-25 21:34:34.156587730 +0200
@@ -166,7 +166,7 @@
     public boolean hasAttributes() {
         return DOMNodeHelper.hasAttributes(this);
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -204,3 +204,109 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMNamespace.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMNamespace.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMNamespace.java	2006-06-25 21:44:18.005099394 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMNamespace.java	2006-06-25 21:34:34.108597634 +0200
@@ -140,7 +140,7 @@
     public boolean hasAttributes() {
         return DOMNodeHelper.hasAttributes(this);
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -178,3 +178,109 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMProcessingInstruction.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMProcessingInstruction.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMProcessingInstruction.java	2006-06-25 21:44:18.006099187 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMProcessingInstruction.java	2006-06-25 21:34:34.162586491 +0200
@@ -179,7 +179,7 @@
 
     // Implementation methods
     // -------------------------------------------------------------------------
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -217,3 +217,109 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
diff -urN dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMText.java dom4j-1.6.1/src/java/org/dom4j/dom/DOMText.java
--- dom4j-1.6.1.orig/src/java/org/dom4j/dom/DOMText.java	2006-06-25 21:44:18.006099187 +0200
+++ dom4j-1.6.1/src/java/org/dom4j/dom/DOMText.java	2006-06-25 21:34:34.205577619 +0200
@@ -224,7 +224,7 @@
     protected Text createText(String text) {
         return new DOMText(text);
     }
-}
+
 
 /*
  * Redistribution and use of this software and associated documentation
@@ -262,3 +262,136 @@
  * 
  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
  */
+
+    /**
+     * @todo DOM level 3 getWholeText() Not implemented. Returns null.
+     * @see org.w3c.dom.Text#getWholeText()
+     */
+    public String getWholeText()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 isElementContentWhitespace() Not implemented. Returns false.
+     * @see org.w3c.dom.Text#isElementContentWhitespace()
+     */
+    public boolean isElementContentWhitespace()
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 replaceWholeText() Not implemented. Returns the same node.
+     * @see org.w3c.dom.Text#isElementContentWhitespace()
+     */
+    public org.w3c.dom.Text replaceWholeText(String content) throws DOMException
+    {
+        return this;
+    }
+
+    /**
+     * @todo DOM level 3 compareDocumentPosition() Not implemented.
+     * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node)
+     */
+    public short compareDocumentPosition(org.w3c.dom.Node other) throws DOMException
+    {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "DOM method not supported");
+    }
+
+    /**
+     * @todo DOM level 3 getBaseURI() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getBaseURI()
+     */
+    public String getBaseURI()
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getFeature() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getFeature(java.lang.String, java.lang.String)
+     */
+    public Object getFeature(String feature, String version)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getTextContent() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getTextContent()
+     */
+    public String getTextContent() throws DOMException
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 getUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#getUserData(java.lang.String)
+     */
+    public Object getUserData(String key)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#isDefaultNamespace(java.lang.String)
+     */
+    public boolean isDefaultNamespace(String namespaceURI)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isEqualNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isEqualNode(org.w3c.dom.Node)
+     */
+    public boolean isEqualNode(org.w3c.dom.Node arg)
+    {
+        return false;
+    }
+
+    /**
+     * @todo DOM level 3 isSameNode() Not implemented. Returns false.
+     * @see org.w3c.dom.Node#isSameNode(org.w3c.dom.Node)
+     */
+    public boolean isSameNode(org.w3c.dom.Node other)
+    {
+        return false;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupNamespaceURI(java.lang.String)
+     */
+    public String lookupNamespaceURI(String prefix)
+    {
+        return null;
+    }
+
+    /**
+     * @see org.w3c.dom.Node#lookupPrefix(java.lang.String)
+     */
+    public String lookupPrefix(String namespaceURI)
+    {
+        return null;
+    }
+
+    /**
+     * @todo DOM level 3 setTextContent() Not implemented. Throws NO_MODIFICATION_ALLOWED_ERR
+     * @see org.w3c.dom.Node#setTextContent(java.lang.String)
+     */
+    public void setTextContent(String textContent) throws DOMException
+    {
+        throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Node is read only");
+    }
+
+    /**
+     * @todo DOM level 3 setUserData() Not implemented. Returns null.
+     * @see org.w3c.dom.Node#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+     */
+    public Object setUserData(String key, Object data, org.w3c.dom.UserDataHandler handler)
+    {
+        return null;
+    }
+}
