声明
目前XML
有1.0
和1.1
两个版本,但是1.1
不向下兼容,常用的是1.0
版本
只能有一个根标签元素
1 2
| <?xml version="1.0" encoding="utf-8"?> <person></person>
|
CDATA区
语法<![CDATA[内容]]>
,解决频繁转义字符的问题,当成文本内容
1 2 3 4
| <?xml version="1.0" encoding="utf-8"?> <person> <code><![CDATA[(1<2)&&(2<3)?true:false;]]></code> </person>
|
PI指令设置XML样式
语法<?xml-stylesheet type="text/css" href="test.css"?>
将css
样式应用于XML
文档
xml约束
限制xml中出现的标签名
dtd约束
dtd引入方式
1 2 3 4
| <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE 根元素名 SYSTEM "dtd路径"> <!DOCTYPE 根元素名 [约束内容]> <!DOCTYPE 根元素名 PUBLIC "dtd名称" "dtd的url路径">
|
dtd语法
先创建一个DTD
文件personDTD.dtd
,
- 元素的语法格式为
<!ELEMENT 元素名 ([子元素名|#PCDATA|EMPTY|ANY])(+|*|?)>
- 属性的语法格式为
<!ATTLIST 元素名 属性名 属性类型 约束>
- 实体的语法格式为
<!ENTITY 实体名 实体值>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<!ELEMENT person (name | age)>
<!ELEMENT isMan EMPTY> <!ELEMENT school ANY>
<!ATTLIST name nameAttr CDATA #REQUIRED <!--CDATA是字符串,#REQUIRED是必须出现--> pid ID #REQUIRED sex CDATA "男" > <!ATTLIST food like (苹果|香蕉|橘子) #IMPLIED> <!ATTLIST school CDATA #FIXED "学校">
<!ENTITY copyright "版权所有不得抄袭">
|
示例
1 2 3 4 5 6 7
| <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE person SYSTEM "personDTD.dtd"> <person> <name>张三</name> <age>20</age> </person>
|
schema约束
schema
是xml
格式的一个约束文件。
需要先在命名空间引入http://www.w3.org/2001/XMLSchema
,在targetNamespace
中定义schema
的引用地址名,用于在xml
文件中引入。
和xml
文件类似,每个子元素都在父元素之中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?xml version="1.0" encoding="utf-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://mySchemaUrl" elementFormDefault="qualified"> <element name="store"> <complexType> <sequence>
<element name="book" maxOccurs="unbounded"> <complexType> <sequence> <element name="name" type="string" maxOccurs="unbounded"/> </sequence> <attribute name="id" type="int" use="required"/> </complexType> </element>
</sequence> </complexType> </element> </schema>
|
在xml
中引入时,先引入别名为xsi
的http://www.w3.org/2001/XMLSchema-instance
命名空间,
再引入自定义schema
的引用地址,及schema
文件名
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="utf-8"?> <store xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mySchemaUrl" xsi:schemaLocation="http://mySchemaUrl 1.xsd">
<book id="01"> <name>第一本书</name> </book> <book id="02"> <name>第二本书</name> <name>第三本书</name> </book> </store>
|