XML文档的规范与约束

mac2022-06-30  38

## XML:  1. 概念:Extensible Markup Language 可扩展标记语言   * 可扩展:标签都是自定义的。 <user>  <student>   * 功能    * 存储数据     1. 配置文件     2. 在网络中传输   * xml与html的区别    1. xml标签都是自定义的,html标签是预定义。    2. xml的语法严格,html语法松散    3. xml是存储数据的,html是展示数据   * w3c:万维网联盟   2. 语法:    * 基本语法:    1. xml文档的后缀名 .xml    2. xml第一行必须定义为文档声明    3. xml文档中有且仅有一个根标签    4. 属性值必须使用引号(单双都可)引起来    5. 标签必须正确关闭    6. xml标签名称区分大小写 * 组成部分:     1. 文档声明     1. 格式:<?xml 属性列表 ?>     2. 属性列表:      * version:版本号,必须的属性      * encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1      * standalone:是否独立       * 取值:        * yes:不依赖其他文件        * no:依赖其他文件     2. 指令(了解):结合css的     * <?xml-stylesheet type="text/css" href="a.css" ?>     3. 标签:标签名称自定义的     * 规则:      * 名称可以包含字母、数字以及其他的字符      * 名称不能以数字或者标点符号开始      * 名称不能以字母 xml(或者 XML、Xml 等等)开始      * 名称不能包含空格     4. 属性:     id属性值唯一     5. 文本:     * CDATA区:在该区域中的数据会被原样展示      * 格式:  <![CDATA[ 数据 ]]>   一个XML小例子: 1 <?xml version="1.0" encoding="utf-8" standalone='no' ?> 2 <!--<?xml-stylesheet type="text/css" href="a.css" ?>--> 3 4 <users> 5 6 <user id='1'> 7 <name>张三</name> 8 <age>23</age> 9 <gender>male</gender> 10 <br/> 11 </user> 12 13 <user id='2'> 14 <name>lisi</name> 15 <age>24</age> 16 <gender>female</gender> 17 18 <code> 19 <!-- if(a < b && a > c){}--> 20 <![CDATA[ 21 if(a < b && a > c) {} 22 ]]]> 23 24 25 </code> 26 27 </user> 28 29 </users>

 

* 约束: 约束与XML文件的作用与关系:        概念:规定xml文档的书写规则    * 作为框架的使用者(程序员):     1. 能够在xml中引入约束文档     2. 能够简单的读懂约束文档         * 分类:     1. DTD:一种简单的约束技术     2. Schema:一种复杂的约束技术     * DTD:     * 引入dtd文档到xml文档中      * 内部dtd:将约束规则定义在xml文档中      * 外部dtd:将约束的规则定义在外部的dtd文件中       * 本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">       * 网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">        DTD的引入和使用举例:(了解)   dtd文件的创建:student.dtd 1 <!ELEMENT students (student+) > 2 <!ELEMENT student (name,age,sex)> 3 <!ELEMENT name (#PCDATA)> 4 <!ELEMENT age (#PCDATA)> 5 <!ELEMENT sex (#PCDATA)> 6 <!ATTLIST student number ID #REQUIRED>

  dtd文件在XML文件中的引入和使用:student.xml

1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE students SYSTEM "student.dtd"> 3 4 <!--<!DOCTYPE students [ 5 6 <!ELEMENT students (student+) > 7 <!ELEMENT student (name,age,sex)> 8 <!ELEMENT name (#PCDATA)> 9 <!ELEMENT age (#PCDATA)> 10 <!ELEMENT sex (#PCDATA)> 11 <!ATTLIST student number ID #REQUIRED> 12 13 14 ]>--> 15 <students> 16 17 <student number="s001"> 18 <name>zhangsan</name> 19 <age>abc</age> 20 <sex>hehe</sex> 21 </student> 22 23 <student number="s002"> 24 <name>lisi</name> 25 <age>24</age> 26 <sex>female</sex> 27 </student> 28 29 </students>

 

    * Schema:     * 引入:      1.填写xml文档的根元素      2.引入xsi前缀.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      3.引入xsd文件命名空间.  xsi:schemaLocation="http://www.itcast.cn/xml  student.xsd"      4.为每一个xsd约束声明一个前缀,作为标识  xmlns="http://www.itcast.cn/xml"     <students   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns="http://www.itcast.cn/xml"      xsi:schemaLocation="http://www.itcast.cn/xml  student.xsd">  

   Schema的引用和使用举例:(了解)

  xsd文件的创建:

student.xsd

 

1 <?xml version="1.0"?> 2 <xsd:schema xmlns="http://www.itcast.cn/xml" 3 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 4 targetNamespace="http://www.itcast.cn/xml" elementFormDefault="qualified"> 5 <xsd:element name="students" type="studentsType"/> 6 <xsd:complexType name="studentsType"> 7 <xsd:sequence> 8 <xsd:element name="student" type="studentType" minOccurs="0" maxOccurs="unbounded"/> 9 </xsd:sequence> 10 </xsd:complexType> 11 <xsd:complexType name="studentType"> 12 <xsd:sequence> 13 <xsd:element name="name" type="xsd:string"/> 14 <xsd:element name="age" type="ageType" /> 15 <xsd:element name="sex" type="sexType" /> 16 </xsd:sequence> 17 <xsd:attribute name="number" type="numberType" use="required"/> 18 </xsd:complexType> 19 <xsd:simpleType name="sexType"> 20 <xsd:restriction base="xsd:string"> 21 <xsd:enumeration value="male"/> 22 <xsd:enumeration value="female"/> 23 </xsd:restriction> 24 </xsd:simpleType> 25 <xsd:simpleType name="ageType"> 26 <xsd:restriction base="xsd:integer"> 27 <xsd:minInclusive value="0"/> 28 <xsd:maxInclusive value="256"/> 29 </xsd:restriction> 30 </xsd:simpleType> 31 <xsd:simpleType name="numberType"> 32 <xsd:restriction base="xsd:string"> 33 <xsd:pattern value="heima_\d{4}"/> 34 </xsd:restriction> 35 </xsd:simpleType> 36 </xsd:schema>

  xsd约束文件在XML文件中的引用和使用:

student.xml

1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!-- 3 1.填写xml文档的根元素 4 2.引入xsi前缀. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 3.引入xsd文件命名空间. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd" 6 4.为每一个xsd约束声明一个前缀,作为标识 xmlns="http://www.itcast.cn/xml" 7 8 9 --> 10 <students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 11 xmlns="http://www.itcast.cn/xml" 12 xsi:schemaLocation="http://www.itcast.cn/xml student.xsd" 13 > 14 <student number="heima_0001"> 15 <name>tom</name> 16 <age>18</age> 17 <sex>male</sex> 18 </student> 19 20 </students>

 

 

 

转载于:https://www.cnblogs.com/fangtingfei/p/11404031.html

相关资源:xml标准文件
最新回复(0)