`
datuo
  • 浏览: 82925 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

DTD和XML Schema

阅读更多

什么是有效的XML文档?
  如果一个XML文档规定其文档类型和数据结构的DTD或者Schema,并且与之关联,并且校验正确.

使用DTD定义XML元素 <! ELEMENT 元素名称 元素内容声明>

表达式符号及其定义:
() 用来给元素分组  | 在列出的对象中选择一个 + 1-n次  * 0-n次 ? 0-1次 , 顺序出现

元素内容的类型:
EMPTY 空标记  ANY 任何元素内容  #PCDATA  任何字符数据  其它类型

使用DTD定义XML元素的属性 <! ATTLIST 元素名称 属性名 属性类型 默认值>

属性类型及其含义:
CDATA 只能包含字符数据  ID 唯一 ENTITY,ENTITIES 文档内声明的但还没有分析过的实体
NMTOKE,NMTOKENS 是CDATA的一个子集,字符必须是字母,数字,句点,存折号,下划线或冒号
NOTATION(enumerated)  NOTATION(beauty|beast)
Enumerated 枚举(1|2|3|4...)

Default 属性值的四种形式 #REQUIRED不能为空  #MPLIED可以为空  #FIXED value必须在指定列出的值中  Defaultvalue  默认的值

TDT与XML关联形式
1.内部DTD <!DOCTYPE NAME[......]
2.外部DTD <!DOCTYPE 根元素名 SYSTEM   "DTD_URL"
3.公菜DTD   <!DOCTYPE 根元素名 PUBLIC  "DTD名称" "DTD_URL"]

使用DTD定义XML实体  <!ENTITY write "jan egil">
  外部实体 <!ENTITY write SYSTEM "http....">

命名空间: xmlns:[前缀] = "[命名空间URL]"

DTD局限性:
1.DTD不遵守XML语法 2.DTD不可扩展 3.DTD不支持命名空间的应用 4.DTD没有提供强大的数据类型支持,只能表示很简单的数据类型

Schema

特点:1.完全基于XML语法 2.能有用处理XML的工具进行处理 3.大大扩充了数据类型 4.支持原型,即继承 5.支持属性组 6.可以有多个Schema运用于一个XML文档

预定义类型 String  Boolean  decimal  float  double  duration表示持续时间 dateTime代表特定时间 time date hexBinary十六进制 anyURL  NOTATION NOTATION类型

Schema元素主要分成简单类型和复杂类型 只能包含字符内容为简单类型,其它复杂类型

Schema文档都使用<schema>作为其根元素

Schema文档中出现的元素标记
schema element attribute simpleType complexType group attributeGroup simpleContent choice list union unique squence restriction

定义简单类型元素 <xsd:element name="元素名称" type="类型" / >
定义复杂类型元素 <xsd:element name="元素名称"> <xsd:complexType><xsd:sequence>有序
使用ref元素可以直接将其指向另一个模块,使文档更加具有可读性.
定义相同子元素的数量 masOccurs = "unbounded" 无边界 minOccurs
定义可选的子元素 <xsd:choice> a|b ?
自定义类型 <xsd:restriction base="xd:string"> <xsd:pattern value="正则表达式" / >
枚举类型 <xsd:restriction base="xd:string"> <xsd:enumeration value="" />

定义属性:
  <xsd:attribute name ="id" type = "xsd:string " / >
属性可有可无 use="required"  required 是必须值 optional 是可选值 prohibited 是无属性值
定义默认值  default="1"

 
分享到:
评论

相关推荐

    XML DTD,XmlSchema标准参考手册

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

    XML.rar_dtd xml_xml dtd_xml schema_xml 设计

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

    DTD_Schema.rar.rar_dtd_xml_xml schema

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

    DTD和Schema

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

    xml约束[dtd,Schema].zip

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

    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开发中各种技术的应用,循序渐进...

    DTD和Schema规范XML文档

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

    XML、DTD、Schema

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

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

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

    XML文件XML Schema.docXML Schema.doc

    该包提供了三个类来验证文档:SchemaFactory、Schema和Validator。 在实际应用中,XML Schema可以用于: 1. 验证XML文档的合法性 2. 确保数据的一致性和可靠性 3. 提高数据的可读性和可维护性 4. 实现数据的交换和...

    XML Schema简明教程-W3C.rar

    在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML Schema。 什么是 XML Schema? XML Schema 的作用是定义 XML 文档的合法构建...

    XML Schema教程

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

    XML Schema 的简介

    为了学习 XML Schema,需要具备的基础知识包括 HTML、XHTML、XML 以及 XML 命名空间和对 DTD 的基本了解。 XML Schema 的主要作用是定义 XML 文档的合法构建模块,类似 DTD。它可以: * 定义可出现在文档中的元素 ...

    XmlSchema-1.4.7.jar

    XmlSchema库则为Java开发者提供了处理这些XML Schema文档的API,使得在Java应用程序中解析、验证和生成符合XML Schema的XML文档变得容易。 在开发过程中,使用XmlSchema-1.4.7.jar可以帮助开发者实现以下功能: 1. ...

    xmlschema实验及答案.doc

    XML Schema提供了一个强大的工具,用于定义和验证XML文档的结构和内容。 实验五:XML Schema实验目的与要求 通过实验,使学生熟悉XML Schema语法结构,并加深对XML Schema应用的理解。要求学生能够改正XSD文件中的...

    XML DTD XSL XLD DOM

    "DTD练习.rar"和"SCHEMA练习.rar"可能包含了一些实践性的练习题,帮助你深入理解如何使用DTD和XML Schema来定义和验证XML文档。 总的来说,这些文件涵盖了XML的基础知识,如XML结构、DTD的使用、XSLT转换以及DOM...

    XMLSchema经典例题

    在“XMLSchema例子”文件中,你将看到这些概念如何实际应用于具体的XML Schema定义和XML文档实例。通过学习和理解这些例子,你将能够更好地掌握XML Schema的使用,从而更有效地设计和验证XML文档的结构。

    XML Schema初窥

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

    XML基础教程包括DTD和Schema

    总结来说,XML基础教程包括对XML的基本概念、语法规则、树形结构的理解,以及使用DTD和Schema进行数据验证的方法。掌握这些知识对于任何涉及数据处理和交换的IT专业人员都是至关重要的。通过学习XML,开发者能够创建...

    XML实验报告.docx

    实验报告涉及了XML的基本概念、语法以及使用XML的验证技术,包括DTD(Document Type Definition)和XML Schema。以下是详细的解释: XML(eXtensible Markup Language)是一种可扩展标记语言,其设计目的是为了传输...

Global site tag (gtag.js) - Google Analytics