1. DTD
XML最强大之处是允许自定义标签,但是对任何既有的应用程序来说,任何类型的标签以任意顺序出现并没有实际意义,所以必须对次序和标签的嵌套加以约束。
DTD就是干这件事的,但是DTD缺少强类型检验,而且,DTD创建使用了一种奇怪的,表面陈旧的语法,而且功能较少,这种方法已经不是主流。
2. XDR
XML数据简化(XML Data Reduce)模式是微软在1999年W3C早期投入的XSD基础上开发的自己的版本。
3. XSD
(XML Schema Definition)是定义XML的新标准
特点:
- 比XML的表现力更强
- 用XML表达
- 自描述
- 可用于部署了XML的多种应用程序
- 在Internet上易于使用
- 更利于协同工作
- 符合 W3C规范
下面是上篇文章xml的模式
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:mytitle="http://cnblogsfans.cnblogs.com/Asp.net_xml/article/author"
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://cnblogsfans.cnblogs.com/Asp.net_xml/article"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://cnblogsfans.cnblogs.com/Asp.net_xml/article/author" />
<xs:element name="articles">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="article">
<xs:complexType>
<xs:sequence>
<xs:element name="title">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="maintitle" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="author">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element ref="mytitle:title" />
<xs:element name="nickName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="publishdate" type="xs:string" />
<xs:element minOccurs="0" name="price" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
elementFormDefault是用来指定元素是否使用命名空间前缀来限定,默认值是“未限定”。
targetNamespace属性表示被定义的模式的命名空间。
4. XSLT
(Extensible Stylesheet Language Transformations)是用来将XML从一种格式转换为另外一种格式的语言。
常见使用方式有两种
a.将XML文档转换成HTML文档(也可以使用CSS)
b.将XML文档转换成其他的文档
5. XML DOM
用于访问XML文档的API.
6.XPath
W3C为在XML文档中定位数据而制定的导航查询语言。
7.SAX
(Simple API for XML)将文档作为数据分流部分而不是全部处理,占用内存较小。
8.XLink和XPointer
XLink可以让任何元素成为一个链接,而且是双向链接,允许用户在连接之后返回,甚至可以多项链接。
XPointer不是指向一个文档而是文档的一部分。
9.XQuery
是一种从XML文档中寻找或获取数据的语言