CDATASection类型

  • CDATASection类型表示XML中特有的CDATA区块

  • CDATASection类型继承Text类型,因此拥有包括splitText ()在内的所有字符串操作方法。

  • CDATASection类型的节点具有以下特征:

    • nodeType等于4;
    • nodeName值为”#cdata-section”;
    • nodeValue值为CDATA区块的内容;
    • parentNode值为Document或Element对象;
    • 不支持子节点。
  • CDATA区块只在XML文档中有效,因此某些浏览器比较陈旧的版本会错误地将CDATA区块解析为Comment或Element。

  • 在真正的XML文档中,可以使用document.createCDataSection()并传入节点内容来创建:CDATA区块。

DocumentType类型

  • DocumentType类型的节点包含文档的文档类型(doctype)信息,具有以下特征:
    • nodeType等于10;
    • nodeName 值为文档类型的名称;
    • nodeValue值为null;
    • parentNode值为Document对象;
    • 不支持子节点。
  • DocumentType对象在DOM Level 1中不支持动态创建,只能在解析文档代码时创建。
  • 对于支持这个类型的浏览器,DocumentType 对象保存在document.doctype属性中。
  • DOM Level 1规定了DocumentType对象的3个属性: name、entities 和notations
    • name:文档类型的名称;
    • entities:这个文档类型描述的实体的NamedNodeMap;* notations:这个文档类型描述的表示法的NamedNodeMap。
  • 因为浏览器中的文档通常是HTML或XHTML文档类型,所以entities和notations列表为空。( 这个对象只包含行内声明的文档类型。)无论如何,只有name属性是有用的
  • 这个属性包含文档类型的名称,即紧跟在<!DOCTYPE后面的那串文本。
1
2
<!DOCTYPE HTML PUBLIC "-// W3C// DTD HTML 4.01// EN" 
"http:// www.w3.org/TR/html4/strict.dtd">
1
2
//对于这个文档类型,name 属性的值是"html":
alert(document.doctype.name); // "html"