`

XML,XML Schema,DTD

 
阅读更多
一、摘录出处:http://blog.csdn.net/liujinwei2005/article/details/6297857

XML   Schema   和DTD   都是用来定义各种文件中XML标记的使用规范.
        XML   Schema   是标准的XML文件,而DTD则使用自己的特殊语法,因此,只需要知道XML的语法
规则就可以编写Schema了,不需要再学习其它语法规则.   可以使用相同的处理器来解读,
XML文件与XML   Schema文件.
        XML   Schema   利用命名空间将文件中特殊的节点与Schema说明相联系,一个XML文件可以有
多个对应的Schema   ,若是DTD的话,一个XML文件只能有一个相对应的DTD文件.
        XMLSchema   的内容模型是开放的,可以随意扩充,而DTD则无法解读扩充的内容.
        DTD只能把文件类型定义为一个字符串,而XML   Schema   却允许把文件类型定义为整数,浮
点数,字符串,布尔值或其他各各数据类型,而无须重新定义.

        XMLSchema   相对DTD的明显优势是XMLSchema   文件本身也是XML文件,而不是像DTD那样使用
特殊格式,因而方便了用户和设计者.   因为他们可以使用相同的工具来处理与开发XML   Schema  
和其他的XML数据,而不必用专门的开发或处理工具. Schema会取代DTD.   
补充:
DTD DTD不遵守XML语法 DTD不可扩展 DTD不支持命名空间的应用 DTD没有提供强大的数据类型支持,只能表示很简单的数据类型 Schema Schema完全基于XML语法 能用处理XML文档的工具处理 大大扩充了数据类型 支持原型,也就是元素的继承 支持属性组 开放性,可以多个Schema运用于一个XML文档

二、摘录出处:http://yesiwu.blog.163.com/blog/static/189678192200841741317894/

一个完整的XML Schema例子 

这里举一个具体的例子来说明XML Schema的编写和具体的实例文档,让读者有一个感性的认识,假设有一个闲人叫令狐冲,他想在网上开一个书店,他需要把图书在网上展示出来,这样,他就需要在网上列出图书的目录。他建立的XML Schema如下所示(我们命名为bookstore.xsd):

  <?xml version="1.0" encoding="GB2312"?> 
  <xsd:schema targetNamespace=http://www.example.com/IPO 
xmlns:ipo="http://www.example.com/IPO" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"> 

  <xsd:element name="ISBN" type="xsd:string"/> 
  <xsd:element name="网上书城"> 
  <xsd:complexType> 
  <xsd:sequence> 
  <xsd:element name="图书集合" type="图书集合类型"/> 
  </xsd:sequence> 
  </xsd:complexType> 
  </xsd:element> 
  <xsd:complexType name="书类型"> 
  <xsd:sequence> 
  <xsd:element ref="ISBN"/> 
  <xsd:element name="名称" type="xsd:string"/> 
  <xsd:element name="作者" type="xsd:string" maxOccurs="unbounded"/> 
  <xsd:element name="页数" type="short"/> 
  </xsd:sequence> 
  </xsd:complexType> 
  <xsd:complexType name="图书类别类型"> 
  <xsd:sequence> 
  <xsd:element name="名称" type="xsd:string"/> 
  <xsd:element name="描述" type="xsd:string"/> 
  <xsd:element name="书" type="书类型" maxOccurs="unbounded"/> 
  </xsd:sequence> 
  <xsd:attribute name="uid" use="required"> 
  <xsd:simpleType> 
  <xsd:restriction base="xsd:string"> 
  <xsd:enumeration value="ESSAY"/> 
  <xsd:enumeration value="TECH"/> 
  <xsd:enumeration value="OTHER"/> 
  </xsd:restriction> 
  </xsd:simpleType> 
  </xsd:attribute> 
  </xsd:complexType> 
  <xsd:complexType name="图书集合类型"> 
  <xsd:sequence> 
  <xsd:element name="图书类别" type="图书类别类型" maxOccurs="unbounded"/> 
  </xsd:sequence> 
  </xsd:complexType> 
  </xsd:schema> 


下面是一个具体的实例文档:
  <?xml version="1.0" encoding="GB2312"?> 
  <ipo:网上书城 xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xmlns:ipo="http://www.example.com/IPO" xsi:schemaLocation="http://www.example.com/HZH bookstore.xsd"> 
  <图书集合> 
  <图书类别 uid="TECH"> 
  <名称>科技类</名称> 
  <描述>关于科学技术方面的书籍</描述> 
  <书> 
  <ISBN>7-115-090029-7/TP.2000</ISBN> 
  <名称>"Visual Basic 6 XML专业书籍</名称> 
  <作者>James Britt</作者> 
  <作者>Teun Duynstee</作者> 
  <页数>565</页数> 
  </书> 
  <书> 
  <ISBN>7-111-07889-6</ISBN> 
  <名称>Building the Data Warehouse</名称> 
  <作者>W.H.Inmon</作者> 
  <页数>227</页数> 
  </书> 
  </图书类别> 
  <图书类别 uid="ESSAY"> 
  <名称>散文类</名称> 
  <描述>关于人文精神思想类方面的书籍</描述> 
  <书> 
  <ISBN>7-80127-424-5/G.192</ISBN> 
  <名称>火与冰</名称> 
  <作者>余杰</作者> 
  <页数>382</页数> 
  </书> 
  </图书类别> 
  </图书集合> 
  </ipo:网上书城> 

  现在,我们可以来总结一个XML Sechma的一些优点:

  1. 它具有丰富的数据类型,支持的数据类型包括字符串、字符型、整数、浮点数和数值型、布尔型、时间型、日期型、统一资源标识(URL)、全球唯一标识(UUID)、来自XML本身的类型(entity, entities, enumeration, id, idref, idrefs, nmotoken,nmotokens,notation等等),而且还支持由这些简单类型生成的更加复杂的类型,这个类似于C++中结构(struct)的概念,我们可以建立一个struct,它可以是对简单类型的一个扩展。

  2. 可以由用户自己定义数据类型

  3. 支持属性分组,属性的应用范围是多种多样的,有的是针对所有元素,有的则专门针对图形元素。

  4. 支持名字空间。允许把文档中特殊的节点与模式中的类型说明联系起来。联系XML节点和DTD的唯一方法是通过DOCTYPE说明,即每一个文档只能使用一个DTD,但是可以由多个XML模式来描述。
分享到:
评论

相关推荐

    XML、DTD、Schema

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> </xs:schema> ``` 在这个例子中,`xs:string`是XML Schema内置的数据类型,`maxOccurs="unbounded"`表示`author`元素可以出现任意多次...

    XML Schema 与 XML DTD的技术比较与分析

    XML Schema 和 XML DTD 是两种用于定义XML文档结构和数据约束的语言。XML DTD(文档类型定义)是较早出现的规范,而XML Schema则在2001年成为W3C的正式推荐标准,旨在提供更强大和灵活的XML文档验证功能。 首先,...

    DTD_Schema.rar.rar_dtd_xml_xml schema

    在处理XML文档时,为了确保数据的一致性和准确性,我们通常会使用DTD(Document Type Definition)或XML Schema来定义文档的结构。这两个工具都是XML的约束机制,用于规定XML文档的元素、属性以及它们之间的关系。 ...

    XML DTD,XmlSchema标准参考手册

    XML(eXtensible Markup Language)是一...同时,XML DTD和XML Schema的文档参考手册,如提供的"DTD.chm"和"XmlSchema标准参考手册.chm",是学习和查阅这两种技术的重要资源,能够帮助开发者深入理解其特性和使用方法。

    XML.rar_dtd xml_xml dtd_xml schema_xml 设计

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> </xs:schema> ``` 在这个XML Schema中,`year`元素被定义为全局日期时间类型`gYear`,确保输入的数据格式正确。 在实际应用中,`...

    XML文件XML Schema.docXML Schema.doc

    XML Schema是XML语言为基础的,它用于可替代DTD。它用于描述XML文档的结构。XML Schema语言也被称为XML Schema Definition(XSD)。XML Schema的作用是定义一份XML文档的合法组件群,就像DTD的作用一样。 XML ...

    xml约束[dtd,Schema].zip

    <bookstore xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="bookstore.xsd"> <!-- ... --> ``` 这里,`SYSTEM`关键字用于指定DTD文件的位置,`xsi:...

    DTD和Schema规范XML文档

    [实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握Schema中声明元素,属性,类型的方法

    XML Schema教程

    - **DTD 的基本了解**:尽管 XML Schema 是 DTD 的替代品,但了解 DTD 的基本原理有助于更好地理解 XML Schema 的优势和特点。 通过上述内容,我们可以看出 XML Schema 是一种强大而灵活的语言,用于定义和描述 XML...

    XML Schema简明教程-W3C.rar

    XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML ...

    DTD和Schema

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> </xs:schema> ``` 这个XML Schema定义了与之前DTD相同的基本结构,但使用了更丰富的语义,如指定`price`元素为`decimal`...

    XML Schema 的简介

    XML Schema 是一种基于 XML 的 DTD 替代者,它可以描述 XML 文档的结构。XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。为了学习 XML Schema,需要具备的基础知识包括 HTML、XHTML、XML 以及 XML ...

    XML Schema初窥

    模式文档通常以`.xsd`为扩展名,根元素是`<xs:schema>`,并需要声明`http://www.w3.org/2001/XMLSchema`名称空间。名称空间的使用使得XML Schema可以识别和处理具有相同名称但来自不同源的元素。 **引用模式文档** ...

    xml与DTD,xml与DTD

    - **有效的XML (Valid XML)**:除了满足格式良好的条件之外,还必须符合DTD或XML Schema的约束。这意味着XML文档不仅需要格式正确,还需要满足预定义的数据结构和语义规则。 #### 四、DTD(Document Type ...

    XML基础实例 Schema

    Schema是XML的一个重要组成部分,它为XML文档提供了一种形式化的结构定义,类似于HTML中的DTD(Document Type Definition)。Schema用于验证XML文档是否符合预定义的规则,确保数据的一致性和准确性。 Schema的引入...

    Schema教程 xml

    XML Schema是一种基于XML的文档类型定义(DTD)替代方案,它提供了更为强大且灵活的方式来描述XML文档的结构和数据类型。XML Schema定义(XSD)使用XML语法,使得XML文档的验证和处理更加方便。在这个教程中,我们将...

    Java Web开发详解:XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用/孙鑫编著

    鑫编写的《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进...

    XmlSchema-1.4.7.jar

    XmlSchema-1.4.7.jar 是一个Java库,它实现了W3C的XML Schema标准,用于处理XML Schema文档。这个版本(1.4.7)可能是该库的一个稳定版本,提供给用户免费使用。XML Schema是XML的一种规范,定义了如何验证XML文档的...

    省会城市的XML文档及Schema大纲设计

    尽管本主题中提到了DTD,但根据提供的文件名,这里似乎更侧重于使用XML Schema,因为 `.xsd` 扩展名通常与XML Schema关联。 XML Schema 的优势在于其强大的数据类型系统,可以验证更复杂的结构和数据,提供更精确的...

Global site tag (gtag.js) - Google Analytics