XML
2020-07-16 本文已影响0人
那些傲慢的404
XML 全称是Extensible Markup Language,可扩展标记语言。
XML 声明
- XML声明说明XML文档的基本信息,包括版本号与字符集,写在XML第一行。
<?xml version="1.0" encoding="UTF-8"?>
XML实体引用
截屏2020-07-16 下午10.11.50.pngCDATA标签
- CDATA 指的是不应由XML解析器进行解析的文本数据
- 从 "<![CDATA["开始,到"]]>"结束
<lesson>
<content>
<![CDATA][
<body>
<a href="index.html">首页</a>
</body>
]
</content>
</lesson>
DTD
- DTD (Document Type Definition,文档类型定义)是一种简单易用的语义约束方式
- DTD文件的扩展名为.dtd
DTD节点定义
- 只允许出现1个employee 子节点
<!ELEMENT index(employee)>
- employee 节点必须包含以下两个节点
<!ELEMENT employee(name, age)>
-
PCDATA 代表文本元素
<!ELEMENT name(#PCDATA)>
DTD定义节点数量
- 至少出现一个子节点
- 出现0...N个子节点
- 最多出现一个子节点
<!ELEMENT index(employee+)>
<!ELEMENT index(employee*)>
<!ELEMENT index(employee?)>
XML中引用DTD文件
<!DOCTYPE index SYSTEM "index.dtd">
XML Schema
- XML Schema 提供了数据类型、格式限定、数据范围等特性
- XML Schema 是W3C标准
- 后缀名.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="hr">
<!-- complexType标签含义是复杂节点,包含子节点时必须使用这个标签 -->
<complexType>
<sequence>
<element name="employee" minOccurs="1" maxOccurs="9999">
<complexType>
<sequence>
<element name="name" type="string"></element>
<element name="age">
<simpleType>
<restriction base="integer">
<minInclusive value="18"></minInclusive>
<maxInclusive value="60"></maxInclusive>
</restriction>
</simpleType>
</element>
<element name="salary" type="integer"></element>
<element name="department">
<complexType>
<sequence>
<element name="dname" type="string"></element>
<element name="address" type="string"></element>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="no" type="string" use="required"></attribute>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
在XML中引入 XML Schema
<index xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="index.xsd">