语义网简介(二)—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>
定义元素出现的次序
- sequence: 按照定义顺序出现
- all: 必须都出现,次序不重要
- choice: 选择其中一个出现
定义元素出现的次数
- minOccurs: 最少出现次数
- 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>
- 语义网简介(二)—XML与XML Schema
- 语义网简介(三)—RDF与RDF Schema
- XML Schema学习(二)
- XML总结(二)Schema
- XML Schema 简介
- XML Schema 简介
- XML Schema 1.1简介
- XML Schema 1.1 简介
- XML Schema 简介
- XML Schema简介
- XML Schema 简介
- XML Schema简介
- XML Schema简介
- XML Schema简介
- 理解XML Schema: XML Schema初步 (二)
- XML::XML SCHEMA学习二
- xml语义约束:DTD和Schema
- XML学习之Xml Schema:二、Xml Schema与命名空间
- 微信小程序周报(第十二期)-极乐小程序商店出品
- 26.odoo入门——工作杂记之many2one
- 直接启动tomcat时为tomcat指定JDK 而不是读取环境变量中的配置
- 必须掌握的八种排序(1-2)--插入排序,希尔排序
- C++项目中的extern "C" {}
- 语义网简介(二)—XML与XML Schema
- 怎样才算是做好了站内SEO?老专家这么说
- 使用Python批量重命名文件夹中的文件
- wpf中无边框窗体的问题
- ZOJ 3607 Lazier Salesgirl(贪心)
- Qt QTcpSocket 对连接服务器中断的不同情况进行判定
- lightOJ 1220 Mysterious Bacteria
- glibc源码分析之getpriority,setpriority,nice
- 我的java笔记(丢人中→.→)