Jestem ciekawy, czy istnieje sposób na tworzenie węzłów DocType przez W3C DOM? Specyfikacja wyraźnie stwierdza, że są one tylko do odczytu i nie można ich edytować, ale czy można je utworzyć?Czy W3C DOM może być użyty do utworzenia węzłów Document/DocType?
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927
Interfejs dokumentu nie wydaje się mieć dowolny sposób stworzyć dla niego:
Być może szersze pytanie brzmi: Czy zupełnie nowy dokument HTML będzie budowany programowo przez DOM? Wiem o document.createDocumentFragment()
ale mi chodzi równowartość korzeń dokumentu HTML ze szczególnym doctype itd
Aktualizacja: wygląda niedawnej Gecko i WebKit wdrożyć DOMImplementation.createDocument
i DOMImplementation.createDocumentType
ale nie IE8 lub wcześniej (Haven” t sprawdzone IE9). Więc niestety wciąż tam utknąłem.
Nie jestem też pewien, co mogę zrobić z tą nową instancją Dokumentu, gdy już ją otrzymam. Wszystkie obecne metody DOM są zawieszone na globalnym obiekcie dokumentu, więc nie ma sposobu na zamianę go na nowy.
Nie widzę, jak to odpowiada na moje pytanie. Pojawia się obiekt 'DOMImplementation' umożliwiający zapytanie do obsługiwanych modułów DOM. Czy możesz dokładniej określić, w jaki sposób można użyć tego do tworzenia nowych instancji tych węzłów? – mckamey
DOMImplementation (http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490) ma metody createDocument i createDocumentType. – Alohci
Ah w porządku, więc wygląda na to, że możesz dostać jeden z tych obiektów z 'document.implementation'. Czy możesz zastąpić bieżący dokument tym stworzonym w ten sposób? – mckamey