XML

XML是什么

XML(EXtensible Markup Language)即可扩展标记语言
可扩展:标签都是自定义的

功能

  • 配置文件
  • 在网络中传输数据

和HTML的区别

  • 功能上:
    XML 和 HTML 为不同的目的而设计,两者互补:
    XML 被设计为传输和存储数据,其焦点是数据的内容。
    HTML 被设计用来显示数据,其焦点是数据的外观。

  • 语法上:
    XML 区分大小写,标签没有被预定义,需要自行定义标签
    HTML 不区分大小写,有标准的HTML标签(也可自定义)
    HTML 会把多个连续的空格字符裁减(合并)为一个,在 XML 中,文档中的空格不会被删减。

XML文档的撰写

  • 结构上
    树状结构
  • 语法上
    • 必有且只有一个根元素
    • 所有 XML 元素都须有关闭标签,且不能交叉重叠
    • 属性值须加引号
    • 特殊字符需要转义
&lt;<小于
&gt;>大于
&amp;&和号
&apos;'单引号
&quot;"引号
  • 内容上
    • 序言码
    • 处理指令
    • 根元素
    • 元素
    • 属性
    • CDATA节
    • 注释

XML文档的验证

XML文档的结构进行定义和验证的方式:

  • DTD
    • 内容上
      • 元素验证
      • 属性验证
    • 使用上
      • 内部引用
        直接在xml文档中定义DTD验证
      • 引用外部.dtd文档验证
        • 自己定义的.dtd
          <!DOCTYPE 根标签名 SYSTEM “dtd文件的位置”>
        • 标准的.dtd
          <!DOCTYPE 根标签名 PUBLIC “dtd文件名字” “dtd文件的位置URL”>
  • Schema
    比DTD更强大,通过引用外部.xsd文件进行验证。
    使用:
    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">
    

XML文档的显示

通过外部引用样式文件,实现更人性化显示:

  • 使用XSL编写.xsl文件
  • 使用CSS编写.css文件

XML的命名空间

  • 产生原因:
    XML是一种自定义的语言,不同人可能会使用同样的标签名,而这些标签名含义并不尽相同,这在理解和处理上都会造成混乱,所以引入命名空间来避免名称相同带来的问题。

  • 具体做法:
    利用xmlns属性,在XML文档内部,对标签的命名空间进行设置:

    • 使用标签加前缀的方式

    • 使用默认命名空间方式

示例解读

<!--本文档的默认命名空间:xmlns="URL",对应URL只是一个唯一性标识-->
<!--业界公认(即都知道)命名空间xsi:xmlns:xsi="URL",xsi是业界默认的XSD文件的命名空间,对应的URL必须是一个可访问网址,
用于读取XSD标准,在xsi:schemaLocation中用,指定其他非业界公认的命名空间对应的实际网址。
由于是业界公认,所以不需要再通过"键 值"映射来找到XSD的实际网址,本身对应就是XSD的实际网址-->
<!--本文档的一般命名空间:xmlns:abc="URL",对应URL只是一个唯一性标识-->
<!--xsi命名空间的schemaLocation属性:xsi:schemaLocation="键 值 键 值 ……",
键对应除xmlns:xsi外其他命名空间的URL,值对应命名空间对应的XSD文件的实际URL位置-->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" 
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
		http://www.springframework.org/schema/mvc 
		http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.2.xsd 
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

参考文献

https://blog.csdn.net/zt15732625878/article/details/54629596 —HTML和XML的区别
https://blog.csdn.net/lengxiao1993/article/details/77914155 详解 xml 文件头部的 xmlns:xsi
https://www.runoob.com/xml/xml-namespaces.html xml命名空间 - 菜鸟教程
https://my.oschina.net/itblog/blog/390001 关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation
https://www.oracle.com/technetwork/cn/articles/srivastava-namespaces-098626-zhs.html XML 模式:了解命名空间 - Oracle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值