2010-11-18 19 views
8

W3C DOM aracılığıyla DocType düğümleri oluşturmanın bir yolu olup olmadığını merak ediyorum? Spesifik olarak, onların salt okunur olduklarını ve düzenlenemeyeceğini açıkça belirtir, ancak bunlar oluşturulabilir mi?W3C DOM, Doküman/DocType düğümleri oluşturmak için kullanılabilir mi?

http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927

Belge arayüzü herhangi bunun için bir yöntem yaratmak zorunda görünmüyor:

http://www.w3.org/TR/DOM-Level-3-Core/core.html#i-Document

Belki daha geniş soru şudur: Can tamamen Yeni HTML Belgesi, DOM aracılığıyla programlı olarak oluşturulmalı mı? Ben yaklaşık document.createDocumentFragment() biliyorum ama vb belirli doctype ile bir kök HTML dokümanının eşdeğer anlamına


Güncelleme:, son Gecko ve WebKit benziyor uygulamak DOMImplementation.createDocument ve DOMImplementation.createDocumentType ancak IE8 veya öncesinde (cenneti' IE9'u işaretlediniz). Yani maalesef hala orada sıkışmış durumdayım.

Ayrıca, bu yeni Belge örneğiyle elimden gelenin en iyisini yaptığımdan emin değilim. Mevcut DOM yöntemlerinin tümü, genel belge nesnesini kapatır, dolayısıyla yeni bir takasla değiştirmenin bir yolu yoktur.

cevap

1

Bir DOMImplementation nesnesine ihtiyacınız var. Bootstrapping bölümüne bakın.

+0

Bu sorunun nasıl yanıt verdiğini göremiyorum. "DOMImplementation" nesnesi, desteklenen DOM modüllerini sorgulamanıza izin veriyor. Bu düğümlerin yeni örneklerini oluşturmak için bunu nasıl kullanabileceğiyle ilgili daha spesifik olabilir misiniz? – mckamey

+0

DOMImplementation (http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490), createDocument ve createDocumentType yöntemlerini içerir. – Alohci

+0

Ah tamam, bu yüzden document.implementation' den bu nesnelerden birini elde edebilirsiniz. Geçerli belgeyi bu şekilde oluşturulan biriyle değiştirebilir misiniz? – mckamey

İlgili konular