DTD的代表一套规则,界定的结构和逻辑的XML文件。 文件存储这些规则称为DTD的文件(简称为dtds从这里) ,并已延长。 DTD的。
更好地理解概念dtds ,比较他们与建立数据库中的表。 当您创建一个表在一个数据库系统,您可以指定列,数据类型,为不同栏目,验证规则的数据列,等等。 同样,您可以指定规则中可以使用的XML文件,如标记和属性,通过使用DTD的。 dtds可被视为法治的图书XML文件。
它的没有必要为你创造一个DTD中为您的XML文件。 不过, DTD的,可以是很重要的用户谁需要了解的结构,您的XML文件,或谁需要创建一个XML文件一个类似您已经建立。 这些用户可以参考您的DTD的文件,以了解结构和逻辑,您的XML文件。当您创建一个DTD的文件, XML文件, XML文件,是检查对规则中指定的DTD文件。 如果XML文件,坚持所有DTD的规则,该文件被认为是有效的。 否则, XML文件未能产生预期的输出。
组成DTD的列举如下:
doctype声明 。 该< ! doctype >宣言包含的信息的位置的DTD 。
元素声明 。 一元是一个逻辑的一个组成部分的文件。 每一个元素是包含在XML文档中必须有一个相应的宣言在DTD中。 元素声明是用于验证的内容在文件中。
属性声明 。 属性代表的特色的一个要素。 一元素可以包含多个属性。 每个元素的属性是用来在一个XML文档,相应的属性声明必须在指定的DTD 。
内容模型。内容模型是用来描述内容的一个要素。
实体宣言 。 实体的别名与一组数据。 这些都是用在一份文件,以避免长期打字件,案文多次。
一般结构, DTD的是,如下所示:
< ! doctype DTD的名称[元素宣言(属性宣言] >
一元宣言指定一个单一的标记元素。 每一个标记使用的XML文件必须要加以界定与一元宣言,在相应的DTD 。
语法要申报的一个要素是:
< !元素元素名称(元素含量型) >
举例来说,考虑DTD的, restaurant.dtd ,这是用来定义详细了解餐厅。 详情包括以下内容:
餐厅。识别餐厅
名称。确定的名称,该餐厅
位置。确定的位置,餐厅
地址。确定了地址餐厅
电话。提供的电话号码餐厅
言论。用来提供意见,有关餐厅
声明为这些元素是:
< !元素餐厅> < !元素名称> < !元素的位置> < !元素地址> < !元电话> < !元素的言论>
声明属性界定套属性的一个要素。 每一个属性所使用的XML文件必须有一个宣言,在相应的DTD 。 所有要素不必属性。
举例来说,在restaurant.dtd ,属性可能会增加该餐厅的元素。
一属性类型与价值观作为大陆,中国,印度,墨西哥,和multicuisine可以被添加到该餐厅的元素使用以下声明:
< ! attlist餐厅类型(印度|大陆|中文版|墨西哥| multicuisine ) “大陆” #所需>
预设值为1属性是用引号括住。 #需要指出的属性是强制性的,并须于每一次的元素是用来在一份文件。
内容模型的一部分元素的宣言和是用来描述内容元素。 有三种不同类型的内容:
数据内容,这标志着基于文本的字符和是最基本的类型的内容。 数据内容可以指定无论是作为编号的CDATA或# pcdata 。 #的CDATA是用来指定该元素包含的数据是不被解析由分析器,而# pcdata是用来指定该元素包含的数据是解析由分析器。
元素的含量 。 这指定了儿童元素 ,载于元素。 在此外,元素含量的规定,其中有关儿童的要素,必须和秩序,这些元素必须出现在文件。
混合内容 。 混合的内容,标志着双方的数据和元素含量。
一元与数据是宣布所示:
< !元素元素名称(数据型) >
一元与儿童的因素是宣布所示:
< !元素元素名称(儿童元素的姓名) >
多个子元素可以分开与一个逗号。 在XML文档中,子元素必须出现在同一序列,因为他们已宣布在DTD中。 一个问号( ? )后,子元素表明,该元素是可选的。
在restaurant.dtd ,餐厅元素包含所有其他元素。 该restaurant.dtd ,后加入的内容模型的信息,内容如下:
< !元素餐厅(名称,位置,地址,电话,话? ) > < ! attlist餐厅类型(印度|大陆|中文版|墨西哥| multicuisine ) “大陆” #所需> < !元素名称( # pcdata ) > < !元素的位置空> < ! attlist位置类型(南|北|东|西) “南方” ) > < !元素地址( # pcdata ) > < !元电话( # pcdata ) >
关键字空洞的,可以被用来作为内容类型指定元素没有子元素。 元素的位置是单身标记,并不需要开始和结束标记。
实体是用在一个文件中,以避免长期打字件重复的文本。 这些文本可以被指派一个别名,它可以进一步用来在文件中。 当文件处理,别名是取代指定的文字。
| 实体名称 | 性格 |
|---|---|
< | < |
> | > |
& | & |
& quto | “ |
' | ' |
实体的两种类型:
一般的实体 。 一般的实体是宣布如下:
< !实体myaddress “ 112 vasant飞地新新德里-57 ” >
这是一个例子,一个内部的实体,如文字词组对应的是在实体宣言本身。 外部实体的地图,独特的名称,以一文字区块储存以外的文件。 一般实体参照与&前实体名称。
参数实体 。 参数实体所指定的% 。 这些实体类似一般的实体,但只能用于内部DTD的。
XML文件组成,字符数据和标记描述数据。 样本XML文件的基础上创造了restaurant.dtd是如下所示:
< ? XML版本= “ 1.0 ” ? > <restaurant type="continental"> <名称> sensoi < /名称> <location type="south" /> <address>西尾,威灵登环回区街,新德< /地址> <phone> 91-011-6854672 < /电话> < /餐厅>
XML文件有以下部分组成:
XML声明
要素
属性
实体
评论
1 XML声明是首次在声明一个XML文档。 它是用来识别该文件作为一个XML文件。 它也可用来指定处理的指示,如申请是否应过程中,只有XML文件或DTD中以及。 XML声明可能包括属性,如版本和编码。 举例来说,
< ? XML版本= “ 1.0 ”编码= “ -8 ” ? >
< ? 和? > ,标志着XML是一种处理指令。 处理指示是用来传递信息的应用处理XML文件。 这样的处理指示,可以放在任何地方在文件中。
属性版本指定版本的XML文件。 encoding属性是用来指定的字符编码所用的作者。 -8对应的8位ASCII字符。
分子的主要组成部分,一个标记语言,并定义是在DTD中。 每一个XML文件必须有一个根元素。 1根元素描述的功能文件。 在restaurant.dtd例如, <restaurant>是根元素。 根元素包含其他元素的XML文件。
分子是指定使用的标记。 标记是指定在角括号“ ( < > ) 。 一个标记可以配对标记开始标记( <element> )和结束标记( “ < /元素> ) 。 一个标记也可以成为单身标记 ,没有开始和结束标记,因此,不能包含任何元素或数据。 单身标记,标志着与空洞的关键字在DTD中。
之间的文本开始和结束标记定义为字符数据 。 字符数据可能没有任何法律Unicode字符,除了< 。
属性提供额外资料,有关的内容。 属性是嵌入式,在Stat的标记。 1属性构成的属性名称和属性值。 在前面的示例XML代码,餐厅元素包含一个属性类型指定菜该餐厅专门英寸
实体是用来指定一个别名为测试数据,这些数据需要输入多次。 实体必须被宣布之前,他们引用的XML文件。 一个例子,一个实体如下:
< !实体穷人“的餐厅已穷人的客户服务” >
这个实体可以作为参照标准普尔。 举例来说,
<remarks>标准普尔< /备注>
在XML文档中,所有实体被宣布为一个doctype声明。 该< ! doctype [ … … ] >宣言如下XML声明。 举例来说,
< ? XML版本= “ 1.0 ” ? > < ! doctype餐厅< “ !实体穷人”的餐厅已穷人的客户服务“ > ” >
语法指定的评论在一个XML文件是:
< ! -评“ - >
举例来说,
< ? XML版本= “ 1.0 ” ? > < ! -这是一个注释-> “ < restaurantt ype="continental"><名称> s ensoi< /名称> < locationt ype="south"/ >< address>西尾,威灵登环回区街,新德< /地址> <phone> 91-011-6854672 < /电话> < /餐厅>
XML是用来组织和显示数据的网络用户。 输出,这样一份文件是平原与不同的标记显示在一个树状结构和格式不。 格式的XML文件,您可以套用样式表 。 样式表套用样式到XML文件,并让他们看看的吸引力和用户友好。 样式表中包含的规则,申报如何将XML文件必须出现。 有很多样式表可以在市场上;两个,它们是:
电脑系统( 层叠样式表 ) 。这些帮助操纵的能见度,定位和浆纱的元素;颜色和背景,字体,文字,和生育间隔的一个要素。
的XSL ( 可扩展样式表语言 ) 。 XSL包含一个XML词汇指定格式的规则和语言来转换XML文件。
一个CSS是包括在XML文档中使用以下声明:
< ? XML的样式表类型= “文本/ CSS的” href = “ mycsssheet.css ” ? >
1 XSL是包含在XML文档中使用以下声明:
< ? XML的样式表类型= “文本/的XSL ” href = “ myxslsheet.xsl ” ? >