欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> WEB开发 >> ASP.NET教程 >> .NET Framework >> 教程正文

  没有公告

教程: ASP.NET教程-.NET Framework-利用.NET schema对象模型提高灵活性 更多...
教程: ASP.NET教程-.NET Framework-利用.NET schema对象模型提高灵活性


XML schema是W3C的推荐选择,它提供了定义XML文件的结构,内容和语义的工具。与另外两个schema建模工具文件类型定义(DTD)和XDR (XML Data Reduced)相比,XML schema具有两个关键优势。第一,由于它是针对定义XML数据结构的W3C官方推荐,所以公司组织都将采用同样的定义。第二,它是最新的schema技术,因此它的建构就是要修正另外二者中存在的漏洞和缺陷,特别是在DTD之中的。

XDR并不是一个schema技术的备选方案,因为它只是微软公司的XML schema规范的一个早期草稿。在.NET之中,XDR主要是为了向下兼容性而被支持。SQL Server 2000的XML扩展和微软公司的COM parser (MSXML)仍然对其广泛地使用。

我们开始先来看看XML schema对象模型是如何让你使用.NET的类来操作schema部件的。然后,我们看一看处理schema信息的几种途径。

Schema背景
XML schema代表着XML类型系统并应在他们向其他应用软件和平台序列化他们的状态时被用来描述类和对象。.NET XML schema对象模型(SOM)可以帮助在.NET-specific类型系统和XML schema类型系统之间建构一个桥梁,并使计划性地创建和修改schema变得容易。Schema文件是一个带有.xsd扩展名的XML文件。

所有可以在XML schema文件中使用的数据类型都有一个.NET的副本。一旦一个XSD schema被编译为.NET表述(representation)对象模型,你就可以使用SOM类来访问他们了。Schema编译器将XSD装配到一个XmlSchema对象之中,这个对象通过属性和方式显示了schema的信息。

在一个给定的平台上,在XSD和一个合成二进制类之间的一个有效的序列化机制提供了巨大的潜力,它是实现完全的跨平台互操作性的一个关键步骤。在.NET中,XML序列化是通过XmlSerializer类并利用XML schema定义工具(Xsd.exe)的服务来实现的。这个工具是.NET Framework SDK中的二进制可执行文件,你将会在.NET Framework安装路径中的BIN子目录中找到它,这个路径通常是C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK。

Xsd.exe可以从一个XSD文件中产生一个C# 或是Visual Basic类并从一个XML源文件中推断出一个XML schema。这个工具还负责由Visual Studio .NET执行的XML中与schema相关的技术。

检查SOM

.NET Framework提供一个类的等级来编辑现有的schema或是从头开始创建一个新的schema。类在System.Xml.Schema名称空间中被定义,名称空间中的根类是XmlSchema。一旦应用软件保留一个类的实例,他们就可以加载一个现有的XSD文件并利用所包含的信息构成内部属性和集合,通过使用XmlSchema编程界面,你就可以加入或编辑元素,属性和其他schema部件。最后,类提供一个Write方式,使你可以对有效的流对象保存目前的内容。

创建一个XmlSchema类的实例有两个途径:你可以使用缺省的建构器,它将返回一个新的空的类的实例,或者你也可以使用静态的Read方式。

Read方式通过一个流,文本阅读器或是XML阅读器在可用的schema信息上运行,被返回的schema还没有被编译。Read方式接受一个second argument,它是一个验证事件处理器。你可以将这个argument设置为空,但是不能在被读取的schema之中找到并处理验证错误。表A中显示了如何使用.NET SOM来读取和编译一个schema。

一旦schema被编译,你就可以访问由post-schema有效性信息组所定义的schema的组成元素,要访问schema中的实际类型,你需要使用SchemaTypes集合。

在编译之前和之后的信息之间的不同点之一是,一个所含(不是事先被定义的)的合成类型只有在schema被编译之后才会被查出。例如,假设你使用<xs:include>标签来引入一个外部类型定义,要系统性地查找类型的存?br />

[1] [2] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    asp连接mysql数据库

    asp连接mysql数据库-2

    frontpage2000教程---制作主页
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网