PRInt32 namespaceURIToID(const nsAString& aNamespaceURI); void namespaceIDToURI(PRInt32 aNamespaceID, nsAString& aNamespaceURI);
DECL_DHASH_WRAPPER(txIDMap, txIDEntry, nsAString&)class Document : public NodeDefinition{  public:    Document();    Element* getDocumentElement();    //Factory functions for various node types    Node* createComment(const nsAString& aData);    Node* createDocumentFragment();    ProcessingInstruction* createProcessingInstruction(const nsAString& aTarget,                                                       const nsAString& aData);    Node* createTextNode(const nsAString& theData);    Element* createElement(const nsAString& tagName);    Attr* createAttribute(const nsAString& name);    // Introduced in DOM Level 2    Element* createElementNS(const nsAString& aNamespaceURI,                             const nsAString& aTagName);    Attr* createAttributeNS(const nsAString& aNamespaceURI,                            const nsAString& aName);    Element* getElementById(const nsAString& aID);    // Node manipulation functions    Node* appendChild(Node* newChild);    //Override to return documentBaseURI    nsresult getBaseURI(nsAString& aURI);    PRInt32 namespaceURIToID(const nsAString& aNamespaceURI);    void namespaceIDToURI(PRInt32 aNamespaceID, nsAString& aNamespaceURI);  private:    PRBool setElementID(const nsAString& aID, Element* aElement);    Element* documentElement;    // This class is friend to be able to set the documentBaseURI    // and IDs.    friend class txXMLParser;    txIDMap mIDMap;    nsString documentBaseURI;};