xml技术
XML(可扩展标记语言)
XML是一种非常灵活的语言,没有固定的标签,所有的标签都可以自定义。通常,XML被用于信息的传递,因此,XML经常被充当配置文件。
DTD简介
- 1 DTD,文档类型定义,用于约束xml的文档格式,保证xml是一个有效的xml。
- 2 DTD分为两种,内部DTD和外部DTD
内部DTD的使用
- 1 内部DTD的定义,语法如下:
<!DOCTYPE 根元素 [元素声明]}>
- 2 元素声明语法:
<!ELEMENT 元素名 (子元素[, 子元素...]>
- 3 数量词:
+:表示出现1次或多次
?:表示出现0次或1次
*:表示出现任意次 - 4 属性声明语法:
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
属性类型:CDATA,表示字符数据(character data)
默认值:- 1 #REQUIRED, 表示必须出现
- 2 #IMPLIED, 表示不是必须出现
- 5 有效的DTD文件示例
<?xml version="1.0" encoding="UTF-8"?>
<!--声明内部DTD-->
<!DOCTYPE scores [
<!ELEMNT scores (student+)>
<!ELEMNT student (name, course, score)>
<!ATTLIST student id CDATA #REQUIRED>
<!ELEMNT name (#PCDATA)>
<!ELEMNT course (#PCDATA)>
<!ELEMNT score (#PCDATA)>
]>
<scores>
<student id="1">
<name>李军</name>
<course>Python编程</course>
<score>90</score>
</student>
<student id="2">
<name>李佳</name>
<course>Sql编程</course>
<score>80 </score>
</student>
</scores>
外部DTD的使用
- 1 创建一个独立的DTD文件
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMNT scores (student+)>
<!ELEMNT student (name, course, score)>
<!ATTLIST student id CDATA #REQUIRED>
<!ELEMNT name (#PCDATA)>
<!ELEMNT course (#PCDATA)>
<!ELEMNT score (#PCDATA)>
- 2 在xml种引入外部DTD文件
<!--引入外部DTD文件-->
<!DOCTYPE scores SYSTEM "scores.dtd">
正是江南好风景