XML中的DOCTYPE属性

一、概述:

DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称。

如果是内部DTD(私有DTD),则再空一格出现[],在中括号中是文档类型定义的内容.

而对于外部DTD,则又分为私有DTD与公共DTD,

私有DTD使用SYSTEM表示,接着是外部DTD的URL.

公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL.

如下所示是公共DTD示例。

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

在上面的声明中,声明了文档的根元素是 configuration,它在公共标识符被定义为 “-//mybatis.org//DTD Config 3.0//EN” 的 DTD 中进行了定义。XML解析器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,XML解析器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。

二、外部DTD之公共DTD

公共DTD,DTD名称格式为"注册//组织//类型 标签//语言",

"注册"指示组织是否由国际标准化组织(ISO)注册,+表示是,-表示不是.

"组织"即组织名称,如:W3C;

"类型"一般是DTD,

"标签"是指定公开文本描述,即对所引用的公开文本的唯一描述性名称,后面可附带版本号。

最后"语言"是DTD语言的ISO 639语言标识符,如:EN表示英文,ZH表示中文,在下面的地址有完整的ISO 639语言标识。
ISSO 639语言标识

举例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"       
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd"> 

表明根元素为html标签,为公共DTD,非注册,w3c组织,类型为DTD,标签为transitional,语言为英语。

三、外部DTD之私有DTD

<!DOCTYPE root SYSTEM  "http://www.test.org/test.dtd" >

四、内部DTD

<!DOCTYPE rootElement [
declarations
]>

五、内部DTD和外部DTD可以混合使用

<!DOCTYPE rootElement SYSTEM "URIreference" [
declarations
]>

或者

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference" [
declarations
]>
发布了67 篇原创文章 · 获赞 23 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/sinat_32336967/article/details/104687302