代码改变世界

ASP.NET 2.0 XML 系列(2): XML技术

2008-03-15 14:13  敏捷的水  阅读(486)  评论(0编辑  收藏  举报

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文档中寻找或获取数据的语言