什么是有效的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(eXtensible Markup Language)是一...同时,XML DTD和XML Schema的文档参考手册,如提供的"DTD.chm"和"XmlSchema标准参考手册.chm",是学习和查阅这两种技术的重要资源,能够帮助开发者深入理解其特性和使用方法。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> </xs:schema> ``` 在这个XML Schema中,`year`元素被定义为全局日期时间类型`gYear`,确保输入的数据格式正确。 在实际应用中,`...
在处理XML文档时,为了确保数据的一致性和准确性,我们通常会使用DTD(Document Type Definition)或XML Schema来定义文档的结构。这两个工具都是XML的约束机制,用于规定XML文档的元素、属性以及它们之间的关系。 ...
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> </xs:schema> ``` 这个XML Schema定义了与之前DTD相同的基本结构,但使用了更丰富的语义,如指定`price`元素为`decimal`...
<bookstore xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="bookstore.xsd"> <!-- ... --> ``` 这里,`SYSTEM`关键字用于指定DTD文件的位置,`xsi:...
鑫编写的《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进...
[实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握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文档结构和数据约束的语言。XML DTD(文档类型定义)是较早出现的规范,而XML Schema则在2001年成为W3C的正式推荐标准,旨在提供更强大和灵活的XML文档验证功能。 首先,...
该包提供了三个类来验证文档:SchemaFactory、Schema和Validator。 在实际应用中,XML Schema可以用于: 1. 验证XML文档的合法性 2. 确保数据的一致性和可靠性 3. 提高数据的可读性和可维护性 4. 实现数据的交换和...
在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML Schema。 什么是 XML Schema? XML Schema 的作用是定义 XML 文档的合法构建...
- **DTD 的基本了解**:尽管 XML Schema 是 DTD 的替代品,但了解 DTD 的基本原理有助于更好地理解 XML Schema 的优势和特点。 通过上述内容,我们可以看出 XML Schema 是一种强大而灵活的语言,用于定义和描述 XML...
为了学习 XML Schema,需要具备的基础知识包括 HTML、XHTML、XML 以及 XML 命名空间和对 DTD 的基本了解。 XML Schema 的主要作用是定义 XML 文档的合法构建模块,类似 DTD。它可以: * 定义可出现在文档中的元素 ...
XmlSchema库则为Java开发者提供了处理这些XML Schema文档的API,使得在Java应用程序中解析、验证和生成符合XML Schema的XML文档变得容易。 在开发过程中,使用XmlSchema-1.4.7.jar可以帮助开发者实现以下功能: 1. ...
XML Schema提供了一个强大的工具,用于定义和验证XML文档的结构和内容。 实验五:XML Schema实验目的与要求 通过实验,使学生熟悉XML Schema语法结构,并加深对XML Schema应用的理解。要求学生能够改正XSD文件中的...
"DTD练习.rar"和"SCHEMA练习.rar"可能包含了一些实践性的练习题,帮助你深入理解如何使用DTD和XML Schema来定义和验证XML文档。 总的来说,这些文件涵盖了XML的基础知识,如XML结构、DTD的使用、XSLT转换以及DOM...
在“XMLSchema例子”文件中,你将看到这些概念如何实际应用于具体的XML Schema定义和XML文档实例。通过学习和理解这些例子,你将能够更好地掌握XML Schema的使用,从而更有效地设计和验证XML文档的结构。
模式文档通常以`.xsd`为扩展名,根元素是`<xs:schema>`,并需要声明`http://www.w3.org/2001/XMLSchema`名称空间。名称空间的使用使得XML Schema可以识别和处理具有相同名称但来自不同源的元素。 **引用模式文档** ...
总结来说,XML基础教程包括对XML的基本概念、语法规则、树形结构的理解,以及使用DTD和Schema进行数据验证的方法。掌握这些知识对于任何涉及数据处理和交换的IT专业人员都是至关重要的。通过学习XML,开发者能够创建...
实验报告涉及了XML的基本概念、语法以及使用XML的验证技术,包括DTD(Document Type Definition)和XML Schema。以下是详细的解释: XML(eXtensible Markup Language)是一种可扩展标记语言,其设计目的是为了传输...