社区
XML/XSL
帖子详情
XML Shcema的问题?
youfly
2002-09-28 02:57:24
对于Schema只是知道可以用它来串行化对像,但不知道它具体的使用方法,比如在程序中我们应该如何使用Schema,希望大家多多指点。
...全文
26
6
打赏
收藏
XML Shcema的问题?
对于Schema只是知道可以用它来串行化对像,但不知道它具体的使用方法,比如在程序中我们应该如何使用Schema,希望大家多多指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
瞧俺老孙的
2002-10-15
打赏
举报
回复
事实上,Schema也是XML的一种应用,它是将DTD重新使用XML语言规范来定义。这从某种意义上讲,不正充分体现了我们前面所提到的XML自描述性的优点吗?可别小看了这个利用DTD把DTD改写成的Schema,它可具有许多“青出于蓝而胜于蓝”的优势。
一致性
学习DTD时,大家一定已经在抱怨DTD的书写结构和XML文件的结构仿佛有着天壤之别,后者清晰直观,前者复杂晦涩。Schema建立在XML之上,它的样子和一般的XML文件完全相同,使得XML达到了从内到外的完美统一。现在,读者不必再为了搞懂DTD而去重新学习,节省了宝贵的时间;另一方面,因为Schema本身也是一种XML,可以被现有的XML编辑制作工具所编辑、被XML语法分析器所解析、被XML应用系统所利用,既有投资得到了最大程度的保护。
扩展性
如果你只是一个文档编辑人员,平常只进行一些文档的操作或Web页面的设计,那么你可能对数据类型不太敏感。但是,如果你是一位程序员,每天都要和成堆的公式和程序打交道,那么如果有一天领导告诉你,改用一种没有定义数据类型的程序设计语言去开发一套应用系统,我想你很可能会跳起来:什么?没有定义数据类型!这么一来,什么整型、实型、布尔型、日期型统统混为一谈,所有的用户输入数据以及从数据库中取得的数据都要另外编写程序进行类型转换,还有错误检测……。天啊,还有比这更糟的吗?
的确,没有数据类型,无形之中大大增加了程序员的开发难度和工作量。虽然DTD中也定义了一些数据类型,但那都是针对属性类型而定义的,而且类型非常有限。何况现在电子商务应用日趋火爆,交易过程中不可避免地会出现大量的数据转换,整型、实型、布尔型、日期型的数据层出不穷,DTD显然招架不住。好在Schema对DTD进行了扩充,引入了数据类型,很好地解决了这一问题。
易用性
XML Schema取代DTD的另一个原因要归结于DOM和SAX(关于DOM和SAX的概念将在后面章节中详细论述)。如果你了解DOM和SAX,那你肯定知道,作为一种XML API,DOM和SAX只是对XML实例文档有效,对于DTD则无能为力,你不可能期望通过DOM或SAX来判定一个元素的属性类型或者某个元素的子元素允许出现的次数(当然,这都是XML分析器的本职工作)。但是,一旦有了Schema,这个问题便不复存在,因为此时对于XML文档结构的描述已变成为Schema--一种“形式良好的”XML文档,用DOM和SAX去访问当然不在话下啦。
规范性
同DTD一样,Schema也提供了一套完整的机制以约束XML文档中置标的使用,但相比之下,后者基于XML,更具有规范性。Schema利用元素的内容和属性来定义XML文档的整体结构,如哪些元素可以出现在文档中、元素间的关系是什么、每个元素有哪些内容和属性、以及元素出现的顺序和次数等等,一目了然。
互换性
正如每个人都可定义自己的DTD一样,读者也可根据需要设计适合自己应用的Schema,并且可以同其他人交换彼此的Schema。利用Schema,我们能够书写XML文档,验证文档的合法性。另外,通过映射机制,还可以将不同的Schema进行转换,以实现更高层次的数据交换。例如微软的BizTalk Server,对此就有很好的支持。
[1]<?xml version="1.0" encoding="GB2312" ?>
[2]<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
[3] <AttributeType name="公司"/>
[4] <ElementType name= "姓名"/>
[5] <ElementType name= "ID"/>
[6] <ElementType name= "公司"/>
[7] <ElementType name= "EMAIL"/>
[8] <ElementType name= "电话" dt:type="fixed.14.4"/>
[9] <ElementType name= "街道"/>
[10] <ElementType name= "城市"/>
[11] <ElementType name= "省份"/>
[12] <ElementType name= "地址" content="eltOnly">
[13] <element type= "街道" />
[14] <element type= "省份" />
[15] <element type= "城市" />
[16] </ElementType>
[17] <ElementType name= "联系人" content="eltOnly">
[18] <element type= "姓名" />
[19] <element type= "ID" />
[20] <element type= "公司" />
[21] <element type= "EMAIL" />
[22] <element type= "电话" />
[23] <element type= "地址" />
[24] </ElementType>
[25] <ElementType name= "联系人列表" content="eltOnly">
[26] <element type= "联系人" />
[27] <attribute type="公司"/>
[28] </ElementType>
[29]</Schema>
使用:
xmlns="x-schema:rosterschema.xml"
possible_Y
2002-10-01
打赏
举报
回复
取代DTD的位置,本身用xml格式写的,用户不用再去学另一种语言
元素约束定义更强(和DTD相比更强,但比关系型数据库差)
ciby
2002-10-01
打赏
举报
回复
schema 简单的说就是另一个版本的DTD
它是用来定义XML里的元素和属性的
jhtisboy
2002-09-28
打赏
举报
回复
xml schema是元素约束定义,是DTD的替代
本身用xml格式写的,所以可以用解析器方便读取
jhtisboy
2002-09-28
打赏
举报
回复
xml是元素约束定义,是DTD的替代
本身用xml格式写的,所以可以用解析器方便读取
Reve
2002-09-28
打赏
举报
回复
xml schema 用来规定xml中tags的取值范围、格式、包含那些元素的吧,就跟DTD的功能一样。不过它是以xml的方式来描述自己而已,而不是DTD的那种不是xml的well-formed的形式。
Schema 语法.xmind
很多JAVA框架,都会用
XML
文件作为配置文件,而
XML
文件往往对元素都有严格的定义,这...本文件是对
XML
Schema语法学习整理的思维导图,包括如果定义和使用schema文件,
shcema
语法中的简单类型、复杂类型的定义和使用等。
mycat-server 1.6 源码包 可直接运行
mycat-server 1.6 源码包 可直接运行 1、需要自己配置
shcema
.
xml
rule 等规则 2、启动mysql 3、网上查找入门搭建篇
xml
schema中的命名空间
名称空间是W3C推荐标准提供的一种统一命名
XML
文档中的元素和属性的机制。使用名称空间可以明确标识和组合
XML
文档中来自不同标记词汇表的元素和属性,避免了名称之间的冲突。 1.1声明名称空间 名称空间...
在NetBeans下根据
xml
schema创建java类
在NetBeans下将Java对象映射到
XML
文档",利用NetBeans模板代码将Person对象的数据序列化到一个
xml
文档中(后面称之为instant document)。本篇介绍如何使用NetBeans6.7.1从一个xsd文件(后面称之为
xml
schema)...
加载
XML
出错总结
我加载
XML
文件时出现这个
问题
,这是单步调试时出现的错误 0x00393436 处最可能的异常 : 0xC0000005: 读取位置 0x00000020 时发生访问冲突,调试出现这个错误!!! 上网找的结果都不是很直接能解决...
XML/XSL
8,906
社区成员
22,678
社区内容
发帖
与我相关
我的任务
XML/XSL
XML/XSL相关问题讨论专区
复制链接
扫一扫
分享
社区描述
XML/XSL相关问题讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章