语义网简介(二)—XML与XML Schema

来源:互联网 发布:计算机专业学什么 知乎 编辑:程序博客网 时间:2024/06/05 16:27

XML第一印象

XML是extensible markup language的缩写,是一种使用配对的可嵌套的标签的标记语言。人们用XML将文档结构化,从而可以让机器解读。作为不同应用之间统一的数据交换格式,XML广泛的应用在数据传输上。

XML的组成

XML文档 = 序言 + 很多元素 +尾注(可选)

序言

序言 = XML声明(文档版本号,字符编码) + 外部结构化文档的引用(可选)

一个序言的例子
<? xml version="1.0" encoding = "UTF-16"?>

元素

元素 = 起始标签 + 元素内容 + 结尾标签

一个普通的例子

<lecturer> David Billington </lecturer>

一个空元素(不含元素内容的元素)可以缩写为

<lecturer/>

元素可以有属性,属性是标注在起始标签中的name-value对

一个有属性的标签

<order orderNo="123" date = "2002/7/7">
<item>item1</item>
<\order>

XML Schema

一共有两种语言可以定义一个XML文档的结构—DTD和XML Schema。定义XML文档结构的意思是,定义这个文档中需要有什么标签,文档中标签之间的数量关系等。有点相当于类的定义,在一个Schema上可以产生多种XML文件。

用XML Schema可以做以下几件事:

定义可出现在文档中的简单元素

element定义一个名字为lastname,类型为string的标签

<xs:element name="lastname" type="xs:string"/>

定义可出现在文档中的属性

attribute定义一个名字为lang,类型为string的属性,下面是一个含有这个属性的语句

<lastname lang="EN">Smith</lastname>

下面是对于这个属性的定义

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

定义在文档中出现的复合元素

以下是一个XML复合元素,也就是employee这个元素的内容是其他的元素。

<employee><firstname>John</firstname><lastname>Smith</lastname></employee>

对于复合元素用complexType定义,复合元素中元素的一些如下所示:

<xs:complexType name="employee">    <xs:sequence>      <xs:element name="firstname" type="xs:string"/>      <xs:element name="lastname" type="xs:string"/>    </xs:sequence></xs:complexType>

定义元素出现的次序

  1. sequence: 按照定义顺序出现
  2. all: 必须都出现,次序不重要
  3. choice: 选择其中一个出现

定义元素出现的次数

  1. minOccurs: 最少出现次数
  2. maxOccurs: 最大出现次数
<xs:element name="person">  <xs:complexType>    <xs:sequence>      <xs:element name="full_name" type="xs:string"/>      <xs:element name="child_name" type="xs:string" maxOccurs="10"/>    </xs:sequence>  </xs:complexType></xs:element>
原创粉丝点击