XML 知识点详记

XML基础

  1. XML 指可扩展标记语言(eXtensible Markup Language), XML 被设计用来传输和存储数据
  2. XML 标签没有被预定义。您需要自行定义标签。
  3. XML 文档必须包含根元素。该元素是所有其他元素的父元素。
  4. <?xml version="1.0" encoding="UTF-8"?> 是XML 声明行, 它不属于XML文档本身的一部分,是可选的部分,如果存在需要放在文档的第一行
  5. 所有的 XML 元素都必须有一个关闭标签
  6. XML 标签对大小写敏感
  7. XML 必须正确嵌套
  8. XML 属性值必须加引号, , 单引号和双引号均可
  9. 使用xml 的命名空间来避免相同元素的命名冲突. 所谓的命名空间就是xml 元素的前缀. 要使用前缀,命令空间必须被定义。
    命名空间是在元素的开始标签的 xmlns 属性中定义的。
    命名空间声明的语法如下。xmlns:前缀=“URI”。 当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。命名空间,可以在他们被使用的元素中或者在 XML 根元素中声明
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture">

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>
  1. 默认的命名空间,为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。它的语法如下:

xmlns=“namespaceURI”

<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

XML Schema

XML Schema 是基于 XML 的 DTD 替代者, 可描述 XML 文档的结构,也可作为 XSD(XML Schema Definition)来引用。

  • 定义可出现在文档中的元素
  • 定义可出现在文档中的属性
  • 定义哪个元素是子元素
  • 定义子元素的次序
  • 定义子元素的数目
  • 定义元素是否为空,或者是否可包含文本
  • 定义元素和属性的数据类型
  • 定义元素和属性的默认值以及固定值

元素

元素是每一个 XML Schema 的根元素。
元素可包含属性。一个 schema 声明往往看上去类似这样:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.runoob.com"
xmlns="http://www.runoob.com"
elementFormDefault="qualified">
...
...
</xs:schema>

以下代码片段:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
显示 schema 中用到的元素和数据类型来自命名空间 “http://www.w3.org/2001/XMLSchema”。
同时它还规定了来自命名空间 “http://www.w3.org/2001/XMLSchema” 的元素和数据类型应该使用前缀 xs:

targetNamespace 表示 被此 schema 定义的元素来自命名空间: “http://www.runoob.com”。
这个片断:
xmlns=“http://www.runoob.com”
指出默认的命名空间是 “http://www.runoob.com”。
这个片断:
elementFormDefault=“qualified”
指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。

在 XML 文档中引用 Schema
此 XML 文档含有对 XML Schema 的引用:

<?xml version="1.0"?>

<note xmlns="http://www.runoob.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.runoob.com note.xsd">

<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

下面的代码片断:
xmlns=“http://www.runoob.com”
规定了默认命名空间的声明。此声明会告知 schema 验证器,在此 XML 文档中使用的所有元素都被声明于 “http://www.runoob.com” 这个命名空间。
一旦您拥有了可用的 XML Schema 实例命名空间:
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
您就可以使用 schemaLocation 属性了。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置:
xsi:schemaLocation=“http://www.runoob.com note.xsd”

XSD简易元素

简易元素指那些只包含文本的元素。它不会包含任何其他的元素或属性。还可以定义默认值和固定值,如果是固定值

<xs:element name="lastname" type="xs:string"/>
<xs:element name="age" type="xs:integer" default=18/>
<xs:element name="color" type="xs:string" fixed="red"/>

最常用的类型是:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

XSD 属性

属性都是简易元素

使用xs:attribuate 标签, 其他与简易元素基本一致, 也可以定义默认值和固定值.
默认情况下,属性是可选的, 如果是必选的, 可以使用use 来声明

<xs:attribute name="lang" type="xs:string" use="required"/>

XSD 限定

为XML 元素或属性定义可接受的值
使用xs:restriction 定义限定
限定既可以声明在特定的元素中,也可以抽取出来, 单独声明为一种类型, 然后元素或者属性就可以引用

<xs:element name="car" 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值