* createDocumentType (DOM 2+ DOMImplementation 界面) [1] DOM 2 以上の method [CODE[([CODE[[[DocumentType]]]]) := [VAR(DOMi)[[[DOMImplementation]]]].[CODE(DOMm)[createDocumentType]] ([VAR(DOMp)[([CODE(DOM)[[[DOMString]]]]) qualifiedName]], [VAR(DOMp)[([CODE(DOM)[DOMString]]) publicId]], [VAR(DOMp)[([CODE(DOM)[DOMString]]) systemId]])]] を使うと、[[文書型節]]を作成することができます。 [2] 結果 : ,返値 ,[CODE(DOM)[DocumentType]] ,生成された文書型節 ,例外 [CODE(DOM)[[[DOMException]]]] ,[CODE(DOMconst)[[[INVALID_CHARACTER_ERR]]]] ,修飾名に不正な文字が含まれる ,例外 ,[CODE(DOM)[DOMException]] ,[CODE(DOMconst)[[[NAMESPACE_ERR]]]] ,修飾名が不正 得られる文書型節は空の状態で、 [CODE(DOMa)[[[ownerDocument]]]] も [CODE(DOM)[[[null]]]] です。 [3] HTML のみの実装はこの method を実装しなくても構いません。 - [DOM2] ''Document Object Model Core'' [4] [CITE@en[DOM Core: DOMImplementation.createDocumentType(qualifiedName) requires namespace support]] ([[Philippe Le Hegaret]] 著, [CODE[2007-03-21 06:19:42 +09:00]] 版) ([[名無しさん]] [WEAK[2007-03-21 04:23:06 +00:00]]) [5] [[DOM水準2]], [[DOM水準3]]によれば、 [[XML 1.0]] の[[名前]]でなければ [CODE(DOMc)@en[[[INVALID_CHARACTER_ERR]]]] です。 ([[名無しさん]]) [6] [[公開識別子]]や[[システム識別子]]を指定しないで [CODE(DOMi)@en[[[DocumentType]]]] [[節点]]を作ることができるのかどうかは不明です。 [CODE(DOMp)@en[[[publicId]]]] や [CODE(DOMp)@en[[[systemId]]]] に [CODE(IDL)@en[[[null]]]] を指定できるとは明記されていません。 また、 [[XML]] として正しい[[公開識別子]]や[[システム識別子]]かどうかの検査が行われるという記述はありません。 ([[名無しさん]]) [7] >>5 訂正: [[DOM水準3]]では。 ([[名無しさん]]) [8] [[修飾名]]が正しいかどうかの[[XML]]の[[版]]については [CODE(DOMm)@en[[[createAttributeNS]]]] を参照。 ([[名無しさん]]) [9] 実装が [CODE(DOM)@en[[[XML]]]] [[機能]]に対応しておらず、 [Q@en[Document]] を介して晒されるのが [[XML名前空間]]に対応していない[[マーク付け言語]]なら [CODE(DOMc)@en[[[NAMESPACE_ERR]]]] とありますが、 どの [Q@en[Document]] なのか不明です。 ([[名無しさん]]) [[#comment]] * memo