`
IT_ming_java
  • 浏览: 4377 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

XML技术Schema

    博客分类:
  • XML
 
阅读更多

XML Schema与DTD的关系

1,DTD使用EBNF语法,它不符合XML文档的标准且自成体系,Schema完全遵循XML规范,符合XML语法。Schema可以像其他XML文档一样被解析和处理。

2,DTD描述的是XML文件的结构,而非元素内容,DTD不能进行数据内容有效性检查。

3,DTD不支持元素的数据类型,对于属性的数据类型定义也很有限,而Schema支持丰富的数据类型,不仅包含许多内建的数据类型还可以自定义数据类型。

4,Schema是内容“开放”的模型,可扩展且功能强,而DTD是内容“封闭”的模型,可扩展性差;

5,Schema可针对不同情况分别对整个XML文档或文档局部进行验证,而DTD缺乏这种灵活性。

6,Schema支持命名空间,DTD不支持命名空间;

总的来说,Schema囊括了DTD文件所能实现的全部功能,同时他也是一个完全规范的XML文档。

 

 

首先谈谈命名空间,命名空间是XML解决元素多义性和名字冲突的方案,它是名称上相关的一组名称的汇集;在同一空间中每个名称都必须唯一。

命名空间是使用xmlns的属性来声明的。

xmlns一般放在根元素的开始标记处,声明命名空间的语法格式为: <标识名 xmlns:prefix="URL"> (xmlns:是命名空间属性名,是声明命名空间必须的属性;prefix:命名空间的前缀,它是用户自定义的,它的值不能为XML。在引用此命名空间中的名称时,需要在名称前加 “prefix”)

 

XML Schema的数据类型分为简单类型和复杂类型;

简单数据类型:不可以包含子元素,也不可以包含属性,只能是数字、字符串或文本数据;

复杂数据类型:可以包含元素、属性或数据内容;

 

简单数据类型的声明:<simpleType name="类型名" id=“ID值”>

<annotation|restriction|list|union>

</simpleType>

 

其中name属性是指新定义的简单数据类型的名称,该名称必须具有一个有效的XML名称;id属性是指该元素的ID值,此属性值必须为ID类型,此属性可选项;annotation子元素是用来定义批注;restriction子元素是用来对数据类型添加限制;list子元素是用来定义列表数据类型;union子元素用来定义联合数据类型。

 

 

 

复杂数据类型的声明:<complexType name|id|mixed>

<annotation|simpleContent|complexContent|group|all|choice|sequence|attribute|attributeGroup|anyAttribute>

</complexType>

name属性是指所定义的复杂数据类型的名称,该名称必须是有效的XML名称;id属性是指定元素的ID值,此属性值必须为ID类型,此属性为可选项;mixed属性用以指示是否允许在此复杂数据类型中使用字符数据,默认值为false。

 

复杂数据类型有四种内容模式:1,简单类型、纯元素类型、混合类型和空类型。

简单内容模型:是指只允许出现文本数据和属性,没有子元素的复杂数据类型,由simpleContent声明,与简单数据类型的区别就是他可以有属性。

声明语法格式:

<simpleContent id="ID的值">

<annotation|restriction|extension>

</simpleContent>

 

纯元素内容模型:纯元素内容模型的元素下只能出现子元素和属性,不包含文本数据,由complexContent声明。

声明语法格式:

<complexContent id|mixed>

<annotation|restriction|extension>

</complexContent>

 

混合内容模型:混合内容模型的元素下可以出现子元素、属性和文本数据,可以由complexContent声明需指定mixed属性为true。

空内容模型:空内容模型的元素下只能有属性,没有子元素,也没有文本数据,由complexContent声明,在声明是不出现子元素,并指明mixed的属性为false。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    XML与XMLSchema

    【XML与XMLSchema】 XML,全称可扩展标记语言(eXtensible Markup Language),是一种基于标准通用标记语言SGML的简化版本,由万维网联盟(W3C)于1996年开始制定,并在1998年2月10日发布了XML 1.0规范。它的设计...

    西工大服务计算实验2-1_XML Schema

    这涉及到对XML Schema的理解、XML文档的创建以及编程技术的应用。 首先,我们需要理解XML Schema的核心概念。XML Schema提供了一种方式来规定XML文档中元素、属性、数据类型以及它们之间的关系。它使用XML语法来...

    XML Schema 的简介

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

    XMLSchema.chm

    XML Schema,简称为XSD,是XML(可扩展标记语言)的一个重要组成部分,用于定义XML文档的结构和数据类型。这个“XMLSchema.chm”文件很可能..."XMLSchema.chm"文档应该包含详细的信息,帮助读者深入理解这一关键技术。

    XML XML Schema XSLT 2.0和XQuery开发详解源代码.rar

    这个压缩包“XML XML Schema XSLT 2.0和XQuery开发详解”包含了与这些技术相关的源代码示例。这些示例通常会涵盖以下方面: 1. **XML文档结构**:示例可能包括不同类型的XML文档,展示如何创建符合XML语法规则的...

    solrconfig.xml和schema.xml说明

    ### Solrconfig.xml 和 Schema.xml 说明 #### Solrconfig.xml 概述 Solrconfig.xml 是 Apache Solr 的核心配置文件之一,主要用于定义 Solr 实例如何处理文档的索引与查询请求。该文件中包含了多种配置项,用于...

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

    XML Schema 和 XML DTD 是两种用于定义XML...因此,随着技术的发展,XML Schema在XML模式描述领域的地位逐渐提升,而XML DTD可能在某些特定场合继续存在,但在整体趋势上,XML Schema正逐渐取代XML DTD成为主流标准。

    Schema教程 xml

    总结,XML Schema是XML文档结构描述的首选方式,其强大的数据类型支持、可扩展性和与其他XML技术的兼容性使其成为现代XML应用的标准。通过学习和使用XML Schema,开发者可以创建更规范、更易于维护的XML文档,提高...

    CityGML_XML_Schema_definition

    描述中提到"欧洲现在比较多的城市三维模型的schema,可以学习一下",这暗示了CityGML在欧洲城市规划和管理中的广泛应用,并且对于想要了解和掌握城市三维建模技术的人来说,CityGML XML Schema是一个值得学习的资源...

    java根据xml生成schema_xsd_生成javabean

    XSD(XML Schema Definition)是XML的一个规范,用于定义XML文档的结构和数据类型,为XML提供了一种形式化的约束。JavaBean是一种特殊的Java类,遵循特定的命名规则和设计模式,用于封装数据和业务逻辑,常在Java...

    C_code_display_XML_data_schema.rar_XML SCHEMA C#_xml schema_xml

    XML(可扩展标记语言)是一种用于存储和传输结构化数据的标准格式,被广泛应用于软件开发、数据交换和网络通信等领域。...在实际项目中,结合使用这些技术可以有效地管理和操作XML数据,确保数据的一致性和正确性。

    XML Schema技术

    XML Schema技术是XML(可扩展标记语言)标准的一部分,它为XML文档定义了一种结构化模式,用于规范XML文档的结构和数据类型。XML Schema替代了早期的DTD(文档类型定义),提供了更强大的功能和更复杂的验证机制。...

    XMLSchema 参考手册

    本参考手册详细阐述了XML Schema的语法、元素、属性以及类型系统,旨在帮助开发者理解和应用这一重要技术。 XML Schema的主要目标是替代XML DTD(Document Type Definition),因为DTD在表达复杂的数据模型和提供...

    Introduction to XML Schema

    XML Schema是一种基于XML的替代DTD(Document Type Definition)的技术,它用于定义XML文档的结构。XML Schema语言通常也被称作XML Schema Definition (XSD)。 #### 应具备的基础知识 在深入学习XML Schema之前,...

    XML的Schema详解

    XML(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储...在实际工作中,XML Schema不仅用于数据交换,还广泛应用于Web服务、配置文件、软件工程等领域,是现代信息技术中的重要工具。

    XML Schema用法

    XML Schema是一种用于定义XML文档结构和内容约束的标准化语言,它是W3C推荐的一种XML文档模式定义技术,旨在替代功能较为有限的DTD(Document Type Definition)。XML Schema提供了一种更强大、更灵活的方式来验证...

    XML DTD,XmlSchema标准参考手册

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

Global site tag (gtag.js) - Google Analytics