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。(未完待续)