HTML Hyper Text Markup Language 超级文本标记(标签)语言
服务器给浏览器发送响应信息,浏览器懂这个规则 解析语言—-进行展示
XML Extensible Markup Language 可扩展标记(标签)语言
创建这个语言不是为了HTML扩展,更多的是关注数据的存储和传输
1.写法
创建一个文件,文件第一行写上头信息<?_xml version=”” encoding=””?>_
2.规则
规则一般分为结构良好的(有规则,标签对应
.tld Tag Library Definition 用来描述标签的
.dtd Document Type Difinition 文档类型描述
.xsd Xml Schema Definition 用来描述xml文档内容
.xml eXtensible Markup Language 用来存储数据的文档
3.基本xml文件写法
为了让xml文件中的内容遵循某些规则,自定义dtd。第一可以写在当前的xml文件中;第二可以写在一个外部的文件中引入,外部引入又有两种方法。**
<!DOCTYPE school SYSTEM "当前系统内部去找,写文件名">
<!DOCTYPE school PUBLIC "外部路径">
描述根标记
**<!DOCTYPE school [规则]>
描述根标记中的其他标记<标签>
**<!ELEMENT 元素名 类别|(元素里面的内容) >
类别 通常是EMPTY
元素内容 (其他标签,其他标签)
标签内部没有标签 是普通的文字 PCDATA
正常情况下 描述标签内部的子标签时候 **默认认为是一个
还需要在子标签基础上增加一个 对于个数的说明**
符号 | 代表个数 |
---|---|
* | 0-n |
? | 0-1 |
+ | 1-n |
, | 都有 |
| | a或b其中一个 |
<?xml version="1.0" encoding="UTF-8"?>
<!--根标记-->
<!DOCTYPE school[
<!ELEMENT school (class*)>
<!ELEMENT class (teacher,student*)>
<!ELEMENT teacher (sex1|sex2)>
<!ELEMENT student EMPTY>
<!ELEMENT sex1 (#PCDATA)>
<!ELEMENT sex2 (#PCDATA)>
]>
<school>
<!-- 任意个class,1个teacher,任意个student,但teacher和student都必须有,1个sex1或者1个sex2-->
<class>
<teacher>
<sex1>男</sex1>
</teacher>
<student></student>
<student></student>
</class>
<class>
<teacher>
<sex2>女</sex2>
</teacher>
<student></student>
</class>
</school>
每一个标记中还需要有属性
<!ATTLIST> Attribute List
**<!ATTLIST 标签名 属性名 什么类型 值>
通常类型的描述
CDATA Character DATA 原封不动 (通常用来描述属性名)
(t1|t2|t3) 来描述
通常值的描述
默认值 “xxx”
值的说明 (是否是必须 固定的。。)
#REQUIRED必须 #IMPLIED非必需 #FIXED value固定的**
<!--school标签中必须有id属性 写在根标记中-->
<!ATTLIST school
id CDATA #REQUIRED
>
如果想要描述实体
**<!ENTITY 实体名字 “实体的值”>
例如:<!ENTITY spring “this is spring”>