HTML学习(一)

 本文及后续文章我们开始学习HTML的相关知识。

1、DTD(Document Type Definition)

文档类型定义,用于定义合法的文档XML文档构建模块。

(1)内部DOCTYPE声明

<!DOCTYPE 根元素 [元素声明]>

例1 一个DTD的声明与使用

1 <!DOCTYPE note [
2 <!ELEMENT note (to, from, heading, body)>
3 <!ELEMENT to (#PCDATA)>
4 <!ELEMENT from (#PCDATA)>
5 <!ELEMENT heading (#PCDATA)>
6 <!ELEMENT body (#PCDATA)>
7 ]>

第1行定义此文档为note类型文档,其中note为根元素;

第2行定义note元素有4个元素:“to、from、heading、body”;

第3行定义to元素为#PCDATA类型;

第4行定义from元素为#PCDATA类型;

第5行定义heading元素为#PCDATA类型;

第6行定义body元素为#PCDATA类型。

于是,我们可利用上面声明的文档类型来编写XML文档或HTML文档(一般为其他文档了,见外部DOCTYPE声明)了。下面就是一个例子:

1 <note>
2 <to>Lord Lee</to>
3 <from>Shujuan Zhang</from>
4 <heading>my first DTD</heading>
5 <body>I love a boy</body>
6 </note>

(2)外部DOCTYPE声明

我们的DTD一般独立于文档文件,所以外部DOCTYPE声明更常用,当我们已经定义好一个DTD后,在需要使用该DTD的文档中使用下述语法:

<!DOCTYPE 根元素 SYSTEM "文件名">

同样使用例1中定义的note文档类型,
例2 外部DOCTYPE声明:

<?xml version = "1.0">
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Lord Lee</to>
<from>Shujuan Zhang</from>
<heading>my first DTD</heading>
<body>I love a boy</body>
</note>

其实不仅在XML页面中可以使用预定义的DTD,在HTML页面中也使用DTD来定义页面所遵从何种HTML版本,例如

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

我们解释一下第一行代码代表的含义,其余两行代码类似。第一行代码声明了文档的根元素为HTML,它在公共标识符被定义为“-//W3C//DTD XHTML 1.0 Strict//EN”的DTD中进行定义,浏览器将明白如何寻找匹配此公共标识符的DTD,如果找不到,浏览器将使用后面的URL作为寻找DTD的位置。HTML 4.01给定了三种文档类型:Strict、Transitional、FrameSet。(未完待续)

原文地址:https://www.cnblogs.com/lijihong/p/2437861.html