Ich bin neugierig, ob es eine Möglichkeit gibt, DocType-Knoten über W3C DOM zu erstellen? Die Spezifikation gibt explizit an, dass sie schreibgeschützt sind und nicht bearbeitet werden können, aber können sie erstellt werden?
Die Document-Schnittstelle scheint keine create-Methode dafür zu haben:
Vielleicht ist die umfassendere Frage: Kann ein komplett neues HTML-Dokument programmgesteuert über DOM erstellt werden? Ich weiß über document.createDocumentFragment()
, aber ich meine das Äquivalent eines root HTML-Dokuments mit bestimmten Doctype, etc.
Update: Es sieht aus wie kürzlich Gecko und WebKit implementieren DOMImplementation.createDocument
und DOMImplementation.createDocumentType
, aber nicht IE8 oder vorher (IE9 nicht überprüft). So bin ich leider immer noch dort stecken.
Ich bin auch ein wenig unsicher, was ich mit dieser neuen Document-Instanz anfangen kann, sobald ich sie habe. Alle aktuellen DOM-Methoden hängen vom globalen Dokumentobjekt ab, daher scheint es keine Möglichkeit zu geben, sie durch ein neues zu ersetzen.
Sie benötigen ein DOMImplementation-Objekt. Siehe Abschnitt Bootstrapping .