新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 计算机科学论坛XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → XML问题解答 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3173 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML问题解答 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     anchen0617 帅哥哟,离线,有人找我吗?双子座1983-6-17
      
      
      威望:5
      等级:大二(研究C++)
      文章:281
      积分:3413
      门派:XML.ORG.CN
      注册:2004/10/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给anchen0617发送一个短消息 把anchen0617加入好友 查看anchen0617的个人资料 搜索anchen0617在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问anchen0617的主页 引用回复这个贴子 回复这个贴子 查看anchen0617的博客楼主
    发贴心情 XML问题解答

    1、问:我用记事本建立的XML文件,使用中文的元素标记名,在IE中可以正常显示,但是在XML Notepad中报告却出错,请问XML元素名能否使用中文字符?
    答:可以,XML元素名可以由字母、除英文外的别国文字、下划线、冒号、数字、连字符、句号,其中数字、连字符、句号不能为首字符,当然,如果你使用中文元素名,应该在句首指定 或 。至于XML Notepad不能识别中文元素名,应该说这是其软件自身的不足,目前对于各种XML解析工具或XML文本工具,均要求其支持UTF-8和UTF-16编码,这是最基本的,但并不是所有工具都支持非Unicode编码,这就好像并不是所有浏览器都支持JavaScript一样,尽管HTML标准本身支持脚本嵌入。需要说明的是,当我们把XML作为一种交换数据的词汇标准时,一般都是希望定义的元素标记具有典型性与广泛性,可以被互联网上的其它应用轻松识别,从这个角度说,我们鼓励大家在建立专用的XML词汇表时,尽量采用约定俗成的,专业化、标准化、国际化的英文命名。

    2、问:URI和URL有什么不同?
    答:URI是统一资源标识符(Uniform Resource Identifier)的缩写,URL是统一资源定位符(Uniform Resoure Locator)的缩写,另外还有URN也经常使用,它是统一资源名称(Uniform Resource Name)的缩写。URL是通过"通讯协议+网络地址"字符串来唯一标识信息位置及资源访问途径的一种方法;URN则主要用于唯一标识全球范围内由专门机构负责的稳定的信息资源,URN通常给出资源名称而不提供资源位置;URI是一种用字符串唯一标识信息资源的工业标准(RFC2396),它使用的范围及方式都较为广泛,在XML中用URI引用来标识元素的命名空间(Namespace),URI包括了URL和URN,是二者的超集。

    3、问:我想在VC、VB中使用SAX可以吗?
    答:可以,在微软最新发布的MSXML3以及MSXML4 Preview中,已经包含了对SAX2的支持,MSXML开发包是一个COM组件,其V3.0的文件名为MSXML3.dll,V4.0的文件名为MSXML4.dll,用户可以到XML技术网中下载它们的安装文件,其网址为http://www.chinaasp.com/xml/download/。以下是MSXML3中新增的支持SAX2的COM接口列表:
    IMXAttributes : IDispatch
    IMXReaderControl : IDispatch
    IMXWriter : IDispatch
    IVBSAXAttributes : IDispatch
    IVBSAXContentHandler : IDispatch
    IVBSAXDeclHandler : IDispatch
    IVBSAXDTDHandler : IDispatch
    IVBSAXEntityResolver : IDispatch
    IVBSAXErrorHandler : IDispatch
    IVBSAXLexicalHandler : IDispatch
    IVBSAXLocator : IDispatch
    IVBSAXXMLFilter : IDispatch
    IVBSAXXMLReader : IDispatch
    有关MSXML3中关于SAX2的详细描述请访问MSDN的在线帮助 http://msdn.microsoft.com/library/en-us/xmlsdk30/htm/sax2_developersguide_overview.asp .

    4、问:我想通过SAX访问一个动态的XML数据流可以吗?
    答:可以,SAX允许所访问的XML数据为字符流形式,在SAX中用InputSource类表示可能的数据源,以SAX for Java为例,其连接语句如下所示:
    InputSource source = new InputSource(xmlstring);
    SaxParser.parse(source);

    5、问:我想在浏览器中格式化显示XML,该如何实现?
    答:目前支持XML的浏览器只有IE,要在浏览器中格式化显示XML数据,需要指定样式表,可以使用CSS或XSLT来实现,以下是在XML文件中引用CSS和XSLT样式表的范句:

    <?xml:stylesheet href="example.css" type="text/css"?>
    <?xml:stylesheet href="example.xsl" type="text/xsl"?>

    6、问:我知道在微软新的ADO 2.5版中提供了对XML的支持,能具体解释一下吗?
    答:是的,在ADO 2.5中可将一个数据库记录集保持为XML文档格式。同样,它可以将一个XML文档当作一个记录集打开,这就提供了一种在数据库与XML间数据转换的方法,以VB为例,可以用如下语句将一个记录集保存到XML文件:

    Set connect = New ADODB.Connection
    connect.ConnectionString = "DSN=NorthWind;"
    connect.Open
    Set _recordset = connect.Execute("Select * FROM AGE")
    _recordset.save"MateRecords.xml", adPersistXML


    7、问:听说在SQL Server 2000中可以通过浏览器访问数据库并返回XML记录集,我已经装了SQL Server 2000,请问要怎样可以从浏览器访问数据库?
    答:为了通过浏览器访问SQL Server 2000数据库,你还需要安装IIS 5(如果直接使用Query Analyzer来获取记录集就不需要IIS),然后使用SQL Server 2000自带的SQL XML Support in IIS工具建立一个虚拟目录与实际的数据库对应,该虚拟目录是通过URL访问SQL Server数据库的入口,一个典型的HTTP访问语句如下所述:
    http: // localhost / Northwind ? sql = select +name+ from + employees + for + xml + auto
    其中,localhost表示本机,Northwind表示在SQL XML Support in IIS中建立的虚拟目录名,"?"后面跟SQL查询语句,for xml auto子句指定了将SELECT语句映射到XML中的具体方式。即将结果集作单个表模型化,所查询的字段可作为属性或子元素返回,并且XML结果集的线性层次关系应与数据库表在select排列中的顺序相一致。

    8、问:请问WAP是XML的一种特定格式吗?
    答:不是,WAP是无线应用协议(Wireless Application Protocol)的缩写,WAP中用到了XML技术,但WAP本身不是XML的一种实现方式。WAP是由一种用于将手机、PDA等掌上设备连接到互联网的技术标准,它由一系列的协议规范组成,包括传输代理、网络安全、数据压缩、事务处理、信息显示等方面的约定。WAP技术由WAP Forum制定并发布,该论坛的会员包括爱立信、摩托罗拉、诺基亚、Phone.com、阿尔卡特、微软、IBM、Oracle、松下、西门子、三星、朗讯等IT业界的重量级公司,在WAP规范中采用了目前互联网的多种技术,如IP、UDP、HTTP、XML等。与通常的万维网采用HTML语言显示信息不同,在WAP中采用了WML作为客户端交互显示的语言,WML是无线标记语言(Wireless Markup Language)的缩写,WML标记语言完全符合XML规范,我们可以将它视作为无线应用专门定制的一个XHTML子集,之所以要制定WML而不直接使用HTML或XHTML,主要原因在于无线应用具有带宽窄,客户端屏幕较小、分辨率低,不需要很复杂的显示功能的特点,而经过裁剪优化过的WML更符合其需求。

    9、问:请问目前中国有自己的XML组织吗?
    答:有,其中中国XML联盟应该是国内最早的XML研究组织,其网站为http://www.xml.org.cn,成员以上海交大电子工程系的学生为主,而由中国科学院电子商务研究中心成立的cnXML联盟则是我国XML规范制定的官方机构,其网站为http://www.cnxml.org.cn,现在国内的企业可以在cnXML上登记和发布自己的XML词汇表。另外cnXML联盟正在研究制定cnXML规范,这是一个符合中国特色的电子商务语言规范,目前cnXML草案的最新版本是v0.83。

    10、问:WIDL也可以实现分布式系统的组件调用,它与XMLRPC、SOAP有什么不同?
    答:WIDL是Web接口定义语言(Web Interface Definition Language)的缩写,是用XML表示IDL的一种规范,WIDL由WebMethods公司研究制定并已提交W3C。我们知道IDL(包括OMG IDL和MS IDL)是一种用于编写接口规范的语言,而WIDL的目的就是定义一种用于Web的接口规范,使不同应用可以通过Web站点实现交互和相互调用。在WIDL3.0中,WIDL由IDL组件(定义接口信息)与文档映射组件组成(定义应用接口与XML调用消息之间的映射)组成,与XML-RPC、SOAP不同的是,WIDL指定的是应用程序所需交换的信息,而不管消息调用的网络通信实现。

    11、问:请问cXML与cnXML有什么关系?
    答:虽然只有一字之差,但二者没有直接关系,cXML即CommerceXML,它是由Ariba公司制定的一种基于XML规范,面向B2B模式电子商务交易的行业标准。它在众多的电子商务交易中抽象出一种以订单为中心、并紧密围绕供货方和采购方的交易模型,另外还定义了一种信息交换的机制,进而完成订单的采购、处理与交运等一系列过程。而cnXML则是由中科院cnXML联盟制定的中国电子商务语言规范,其商务流程定义参照国际标准的OBI购买模型。巧合的是,cXML与cnXML都是有关电子商务交易语言的规范。

    12、问:我想在工作流中使用XML来传递数据,我们的开发工具采用IBM的WebSphere,请问我应该用DTD还是Schema来制定数据规范?
    答:DTD是传统的XML约束规则,与XML Schema相比其局限性是显见的。如DTD本身采用与XML完全不同的语法;DTD对数据类型的支持极弱;DTD不支持命名空间等等。而W3C已于2001/5/2日发布了XML Schema的1.0标准,因此在今后实际开发XML中显然是要优先考虑使用Schema。然而由于XML Schema的正式版本刚刚发布,因此能真正支持它的工具几乎没有(目前绝大多数支持Schema校验的工具遵循的是MS Schema版本,这与XML Schema V1.0是有区别的),而DTD由于发布时间早,有许多XML工具都支持它,因此对于特定的应用而言,能否使用XML Schema还要看环境的限制。总的来说,XML Schema是今后发展的方向,但DTD目前还是主流,另外由于DTD具有庞大的应用群,虽然XML Schema已成为工业标准,但DTD也不会就此被完全淘汰,所以现在选择DTD的,也不需有什么后顾之忧。还有第三种选择是使用MS Schema,在IE5、MSXML、BizTalk Server 2000中提供对这种规范的支持,正如我们刚才所说的,MS Schema不是正统的Schema,尽管目前有支持它的工具,仍应谨慎使用,今后Schema校验工具的发展肯定是要往W3C的XML Schema上靠的(包括IE)。就我个人意见,对于相对封闭的企业内部系统而言,由于系统本身具有较高的! 稳定性与独立性,数据的出口与入口都是已知的,可以考虑使用MS Schema;但如果受约束的XML数据具有很强的开放性,如面向互联网应用,要考虑到对XML数据的约束规则今后可以被外部应用所兼容,就应该尽量避免使用MS Schema。

    13、问:我的课题题目是有关 xml在edi 中的应用。由于是刚刚接触到 xml 这方面的内容,不知道应该从哪里开始,能介绍一些有关的知识吗?
    答:EDI其实是一种传统的电子数据交换标准,用于在不同的大型系统之间的数据交换,它有一套非常严谨的规则,包括报文规则,安全规则,传输规则等,EDI的成本很高,目前在国内海关、银行用的较多,XML的崛起对EDI冲击很大,因为XML是完全免费的,而且容易实现,当然它还很不成熟,尤其是关于安全与数据的可靠传输方面,它不像EDI是使用增值网的。XML要完全取代EDI是不太现实的,尽管EDI的商业规则已落伍,然而至少在20年内,我想它还会有很大的生命力。因此最有可能的就是对现有的EDI实现进行改进,包括使用Web、XML等手段。目前在华盛顿地区的XML/EDI小组正在努力做这方面的事,他们在研究一套适用于EDI的XML语法规则,可以通过 http://www.xmledi.com 了解他们的最新成果,也可以访问 http://www.cenorm.be/isss/workshop/ec/xmledi/isss-xml.html,这是ISSS下的一个ProjectGroup,也是研究这方面技术的。

    14、问:XML-Data与Schema有什么区别?
    答:在XML中XML-Data与Schema的区别是细微的。通常我们将对数据的某种约束规则统一称之为Schema即模式,这种称法在数据库中广泛使用并被XML所沿袭。从这一角度而言,DTD、XML-Data都可算是用于XML的某种Schema,凡是符合Schema约束的XML文档我们便称之为有效的XML,为了区别起见,我们可以将XML-Data称之为XML-Data Schema。XML-Data Schema最早由微软提出,并于1998年1月被W3C接受成为“建议”(Note),随后,在1999年W3C在XML-Data的基础上发布了“XML Schema工作草案”,这也就是我们通常所说的XML Schema,XML Schema于2001.5.2日正式发布为W3C标准。作为XML-Data的创建者,微软公司在XML Schema V1.0尚未正式出炉前就已经在他的MSXML解析器、IE浏览器、Biztalk Server 2000中提供了对XML-Data的广泛支持(事实上它们支持的是XML-Data的一个子集),鉴于它与XML Schema的血缘关系,我们通常也称其为Schema,即MS Schema。基于XML-Data及其扩展的Schema有一共同特点,即Schema自身也都是标准的XML文档,这与传统的DTD规范是截然不同的,这也是我们通常将XML约束简单划分为DTD与Schema的主要依据。需要指出的是,在IE、MSXML等工具中所支持的MS Schema与目前W3C正式发! 布的XML Schema并不完全兼容(也就是说,在Biztalk Server 2000中建立的xsd文件未必会符合标准的XML Schema规范)。

    15、问:请问如何在XML中实现对二进制数据(如图象、声音文件)的封装?
    答:通常有两种方法可以实现,第一种采用(外部的)未解析通用实体,如

    <!NOTATION bmp SYSTEM "bmp">
    <!ENTITY image1 SYSTEM "example.tif" NDATA bmp>


    第二种是将二进制数据文件进行Base64编码并直接嵌入XML元素中(也可以是其它的编码方式,但是要注意被编码的数据中不应包含符号">")。


    16、问:请问使用SOAP的安全性怎样?
    答:SOAP本身不提供安全特性,由于SOAP采用HTTP作为实际的数据传输协议,因此其安全性也沿袭了HTTP。通常我们可以使用标准的网络安全协议来实现基于SOAP的数据传输安全,如SSL、S-HTTP、PCT、TLSP等。在某些情况下也可采用数据加密的方式,即在应用层先对输入参数和返回结果集进行加密,然后再使用SOAP传递已加密的XML数据。

    17、问:在SOAP中一般请求/响应的内容与格式如何去定义?还有如何实现客户端从服务器上获取响应的数据。也就是说用户从客户端想服务器端发送请求信息,结果用户是如何得到相应信息的?
    答:SOAP是使用HTTP协议的,其响应报头为"HTTP/1.1 200 OK",内容类型为" text/xml",你可以直接监听80端口,如果你是在VS环境中使用Microsoft SOAP toolkit的,可以到http://msdn.microsoft.com/xml/general/toolkit_intro.asp 中下载工具包,只需通过API传入调用方法和参数值,其底层的调用是屏蔽的。有关SOAP中一般请求/响应的内容与格式定义的详细信息可参看 《XML 在传统制造业供应链中的应用分析(四):选择XML信息流传递的协议 第一部分》一文,也可访问 http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ 查看有关SOAP的最新提案。

    18、问:DOM2与DOM1相比有什么不同?
    答:DOM Level 2较DOM Level 1增加如下功能接口:

    视图(View):提供视图与文档的联系
    样式表(Style Sheet):提供访问和修改样式表的方法
    层叠样式表(CSS2):提供CSS2兼容的方法
    事件(Events):提供各种事件的接口
    文档遍历(Document traversal):提供遍历文档层次的接口
    文档范围(Document range):提供分割文档范围的接口

    19、问:请问在HTML页面中该怎么使用DSO?
    答:XML DSO是数据源对象(Data Source Object)的缩写,它是微软为了在HTML页面中绑定使用XML数据所采用的一种专利技术,DSO在Web页中以数据岛的形式实现,即采用一个新的"XML"标记,"XML"标记中包含一个id属性用于标识对XML DSO的引用。客户端的IE浏览器可以识别XML DSO,并直接在客户端操作DSO数据源。一个典型的XML DSO数据源声明如下:

    <xml id="exampledso">
    <!--Here is xml data body-->
    <orderform>
    <productname>glove</productname>
    <amount>5000</amount>
    <unit>pair</unit>
    <deadline>2001.8.20</deadline>
    </orderform>
    </xml>



    也可以使用脚本语言定义DSO数据源,如: <xml id="exampledso"></xml>
    <script language="JavaScript">
    exampledso.async=false;
    xmldso.load("example.xml");
    </script>



    成功声明了XML DSO后,就可以在HTML文档的其它地方通过"id"标识号(本例中为"exampledso")来实现对DSO数据源的访问。如通过"datasrc"属性实现在HTML元素中对XML DSO的绑定: <table datasrc="exampledso" border=1 width=90%>
    <tr>
    <td<span datafld="productname"></span></td>
    <td<span datafld="amount"></span></td>
    <td<span datafld="unit"></span></td>
    <td<span datafld="deadline"></span></td>
    </tr>
    </table>



    或使用脚本语言来对"exampledso"数据源对象进行操作,如可通过下面的脚本从XML DSO数据源中得到产品的定购数量: Sub getamount() amount.value = exampledso.recordset.Fields("amount") End Sub
    20、问:请问,我要做一个站点,让互联网用户可以了解查询我们公司的商品,我可以使用XML作为后台的Web数据库吗?
    答:XML的确与数据库有相似之处,比如说它们都具有数据存储、数据有效性验证、数据查询、数据访问编程接口等特征,然而还有许多实际数据库所具备的功能是XML所不具备的,如:索引、安全机制、事务机制、数据完整性、多用户访问,触发器、多文档查询等等。在实际应用中,对于一些数据量小、访问用户少、性能要求不高的门户站点而言,将XML文档直接作为数据库使用是可能的,然而对于商业应用而言,后台还是应选择专门的数据库,如果访问数量较大的话,还可以考虑在数据库与应用服务器之间采用XML作为信息缓存,其前提是数据库中对应数据的更新应是定期的,这样才能保证XML文件缓存中的数据在其生存期内与数据库中对应数据相一致。

    21、问:BizTalk Server 2000有哪些具体的功能,我可以用BizTalk Server 2000干什么?
    答:BizTalk Server 2000是微软公司为商业用户在计算机网络应用中的信息交换所开发的企业级软件。BizTalk Server 2000提供了一系列工具以实现在商业网络环境中对分散的文档数据共享,并可编辑约束那些文档的规范。BizTalk Server 2000支持多种文档格式,并使用基于XML-Data的XML作为它自己的文档格式以及不同应用间信息传递的中间格式。在BizTalk Server 2000中包含了以下工具:

    BizTalk Editor:可以导入、建立、编辑DTD、Schema和XML文档;
    BizTalk Mapper:允许用户将符合规范A的文档结构映射到符合规范B的文档结构;
    BizTalk Management Desk:建立、维护网络环境中不同应用之间的输入输出关系;
    BizTalk ServerAdministrator Console:BizTalk管理员控制台用于系统工程师管理、配置BizTalk服务器,包括BizTalk服务器组属性的设置,直接对文档队列进行操作管理等。

    22、问:SAX是W3C的正式标准吗?哪里可以获得SAX的资源?
    答:SAX不是W3C的正式标准,事实上它与W3C没有任何瓜葛,SAX是Internet上一群XML解析器技术的热衷者共同研究的成果,David Megginson是SAX研究开发工作的核心人物。作为一种基于事件的XML编程接口,SAX已被各种XML团体广泛认可,有关SAX的资料和下载可以访问http://www.megginson.com/SAX获得。

    23、问:使用浏览器浏览XML的速度比HTML快吗?
    答:通常不会,XML与HTML的区别并不在于对浏览速度的改善,而在于XML是面向数据内容的,HTML是面向格式化显示的,计算机应用可以自动地理解XML文档并实现对其各种操作(包括在浏览器中的格式化显示),XML的出现为万维网信息浏览模式提供了更丰富的空间。但只有在特殊情况下,人们可以在浏览XML文档时获得速度上的好处,比如某人要查看新浪商城中的某件商品的详细信息,共有两页,第一页是关于商品的价格和功能介绍,第二页是关于生产厂家的背景介绍,若采用HTML表示,需要建立两个HTML文件,而采用XML,只需建立一个XML文件(需结合XSLT使用),由于XML文件在浏览第一页时已经获得,因此在浏览第二页时无需与Web服务器交换,当然,由于将两个文件的信息合一,因此在第一次浏览XML文档时速度会较慢。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    xml这门语言太好了,我们共同努力吧!!!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/6 19:38:00
     
     szkpao 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:9
      积分:95
      门派:XML.ORG.CN
      注册:2005/5/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给szkpao发送一个短消息 把szkpao加入好友 查看szkpao的个人资料 搜索szkpao在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看szkpao的博客2
    发贴心情 
    ding
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/4 9:43:00
     
     xhxasdf 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:20
      积分:133
      门派:XML.ORG.CN
      注册:2005/1/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xhxasdf发送一个短消息 把xhxasdf加入好友 查看xhxasdf的个人资料 搜索xhxasdf在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xhxasdf的博客3
    发贴心情 
    up
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/4 11:30:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/7/25 18:42:58

    本主题贴数3,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    382.813ms