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的模式
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> <? 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文档中寻找或获取数据的语言