欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

XML基础

程序员文章站 2022-03-26 12:34:54
...

XML

XML基础
命名空间是为了DTD和Schema解决命名冲突,DTD和Schema是自定义结构,保证数据传输的正确性。

XML定义:

可扩展标记语言(可以自己定义)。设计宗旨是包含和传输数据。

主要应用:
  • 系统的配置文件。(现在大部分是XML)
  • Ajax中数据传输
  • Web Services中传输数据
  • 异构平台的数据交换与整合。不同平台的数据,可以用XML来进行整合。
XML特点:

可扩展,灵活,占内存小。为传输数据而设计。相比于HTML,HTML提供了已经定义好的标签,是提供了一个标准。而XML通过DTD和Schema,用户可以根据自己的需要来定义新的结构,新的标签。实现自己想要的功能。

举例:

VS中config文件,就采用这种通俗易懂的语言。借助它可扩展性的特点,我们可以自己写标签进行封装,来实现自己想要的效果。实现开闭原则,当需要修改的时候在config文件中进行,不需要修改院代码。

应用:

支持跨平台,常用于银行间相互数据传输。

DTD
DTD:(Document Type Definition)自定义结构。
为什么要出现DTD:

用户提前定义自己需要的结构,之后按着这个结构来写代码。可以实现正确进行数据交换。

元素:

元素:<!ELEMENT 元素名称(元素内容)>
空元素:<!ELEMENT 元素名称 EMPTY>
带有任何元素:<!ELEMENT 元素名称 ANY>
XML基础

属性:

语法:<!ATTLIST 元素名称 属性名称 属性类型 默认值>
举例:

      DTD:
		<!ATTLIST payment type CDATA "cash">
	  XML:
		<payment type="check"/>     可以赋予
		<payment />       默认值:cash

其他属性:
XML基础
举例:
liuwei

四种默认属性:
XML基础

#IMPLIED:
语法:<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
#FIXED:
语法:<!ATTLIST 元素名称 属性名称 属性类型 #FIXED "value">
举例:

  DTD:
 <!ATTLIST payment type CDATA #FIXED "cash">
 XML:
  <payment type="cash"/>
  <payment/>

实体:

内部声明实体:
<!ENTITY 实体名称 "实体的值">
举例:

	DTD<!ENTITY writer "Bill Gates">
		   <!ENTITY copyright "Copyright jobedu.com.cn">
	XML:
		  <author>&writer;&copyright;</author>
		 输出结果是:Bill Gates   Copyright jobedu.com.cn

外部实体声明:(其他地方所定义的)

<!ENTITY 实体名称 SYSTEM "URI/URL">

举例:

	DTD<!ENTITY writer SYSTEM "http://www.baidu.com">
	XML:
<author>&writer;</author>  

Schema
定义:

Schema描述XML文档的结构,和DTD相比它是XML文件,比DTD功能强大,是DTD的继任者。会在将来取代DTD。

优势:
  • 1.可针对未来需求进行扩展。
  • 2.更完善,功能更强大。
  • 3.基于XML编写。
  • 4.支持数据类型。
应用:

可保护数据通信。
像03-11-2019,可以理解未11月3日,也可以理解为3月11日。但是2019-03-11,定义XML数据类型"date"格式为YYYY-MM-DD;
可扩展的。

特点:

在其他Schema中重复使用自己的Schema.
在相同文件中可以应用多重的Schema。

相关标签: XML