⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml技术系列讲座(11)验证xlm数据合法性(上) - fanqiang_com.htm

📁 详细的讲述了XML相关知识
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0064)http://fanqiang.chinaunix.net/program/html/2002-02-12/2331.shtml -->
<HTML><HEAD><TITLE>XML技术系列讲座(11)验证XLM数据合法性(上) - fanqiang.com</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
	FONT: 12pt 宋体
}
TH {
	FONT: 12pt 宋体
}
INPUT {
	FONT: 12pt 宋体
}
SELECT {
	FONT: 12pt 宋体
}
TEXTAREA {
	FONT: 12pt 宋体
}
SELECT {
	FONT: 12pt 宋体
}
checkbox {
	FONT: 12pt 宋体
}
A:link {
	COLOR: #e6a306; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #e6a306; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #ffff00; TEXT-DECORATION: underline
}
BODY {
	FONT-SIZE: 12pt; FONT-FAMILY: "宋体", "serif"
}
TD {
	FONT-SIZE: 12pt; FONT-FAMILY: "宋体", "serif"
}
P {
	FONT-SIZE: 9pt; LINE-HEIGHT: 150%
}
</STYLE>

<META content="MSHTML 6.00.2800.1505" name=GENERATOR></HEAD>
<BODY text=#ffffff bgColor=#000000 leftMargin=0 
background="XML技术系列讲座(11)验证XLM数据合法性(上) - fanqiang_com.files/bline.gif" 
topMargin=5 onload=setTailPosition() marginwidth="0" marginheight="5">
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
  <TBODY>
  <TR>
    <TD height=45>
      <P align=center><IMG alt="[ 永远的UNIX::UNIX技术资料的宝库 ]" 
      src="XML技术系列讲座(11)验证XLM数据合法性(上) - fanqiang_com.files/title.gif"> 
</P></TD></TR>
  <TR>
  <TR>
    <TD vAlign=bottom align=left height=40><SMALL><A 
      href="http://fanqiang.chinaunix.net/">首页</A> &gt; 编程技术 &gt; <A 
      href="http://fanqiang.chinaunix.net/program/html/index.shtml">HTML/JS/XML</A> 
      &gt; 正文</SMALL></TD></TR>
  <TR>
    <TD width="100%" bgColor=#d09f0d colSpan=5 height=2><IMG height=1 
      src="XML技术系列讲座(11)验证XLM数据合法性(上) - fanqiang_com.files/c.gif" 
  width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=middle><BR>
      <TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0>
        <TBODY>
        <TR>
          <TH class=f24>
            <H1>XML技术系列讲座(11)验证XLM数据合法性(上)</H1></TH></TR>
        <TR>
          <TD align=middle height=20><FONT 
            color=#999999><SMALL>本文出自:http://www.computerworld.com.cn 作者: 北京邮电大学 
            张剑 (2002-02-12 06:15:00)</SMALL></FONT></TD></TR>
        <TR>
          <TD><BR>
            <SCRIPT type=text/javascript><!--
google_ad_client = "pub-0052768304011480";
google_alternate_color = "000000";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_channel ="5959447789";
google_color_border = "000000";
google_color_bg = "666666";
google_color_link = "FFFFFF";
google_color_url = "FF9900";
google_color_text = "CCCCCC";
//--></SCRIPT>

            <SCRIPT 
            src="XML技术系列讲座(11)验证XLM数据合法性(上) - fanqiang_com.files/show_ads.js" 
            type=text/javascript>
</SCRIPT>
          </TD></TR>
        <TR>
          <TD height=15></TD></TR>
        <TR>
          <TD class=l17><FONT class=f14 id=zoom><FONT color=#cccccc><!-- 正文begin --><!--HTML_BEGIN-->
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><B>1、XML的合法性验证</B></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>应用XML技术的一个主要目标是为了方便信息交换。很显然,只有XML文档的格式或是结构得到交互各方的一致认可,这个目标才有可能实现。XML 
                  Schema(大纲)和DTD就是描述信息结构的模型,可以用来对XML文档内容的合法性进行验证。 
            </TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>Schema和DTD规定了在文档中能够使用的元素和属性,以及这些对象与文本内容的可能组合形式。作为对文档验证的标准,Schema和DTD不仅应该能被人们理解,对应用程序来说也应当是易于理解的。对文档合法性的验证包括两个方面:一方面是语法结构的验证,即元素类型、元素嵌套格式、属性类型、属性值数据类型、属性值是否可选等相关文档对象单元本身及其结构的合法性;另一方面是语义的验证,只有真正理解了XML文档的含义才能算是实现了信息交互,否则仅是结构上正确但意义模糊的信息,对于接收方来说一样是无用的,有时甚至会产生误解,起到相反的作用。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>对XML文档的验证有如下几个步骤:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>1.定义一份XML Schema或DTD: 
                  Schema或DTD为同一类型的所有文档定义了结构标准,比如有关书籍信息的文档可共享一份标准。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>2.应用Schema或DTD:一般由文档的作者指定Schema,这样接收方可以很快地根据说明对文档进行验证。但在C/S(客户机/服务器)环境中,由于服务器无法判断XML在客户端是否已经验证过,所以为了能够确保验证过程,也为了避免可能的重复验证,对文档应用Schema或DTD的操作由服务器完成。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>3.运行解析器进行验证:解析器在装载文档的同时扫描结构,遇到任何错误都会终止装载过程,并做出适当的响应。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><B>2、Schema和DTD的区别</B></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>虽然,XML 
                  Schema和DTD都是用于文档验证,但二者还是有一定的区别,其中前者更为精确和灵活:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● XML 
                  Schema是一种内容“开放”的模型,可扩展、功能强,而DTD是内容“封闭”的模型,可扩展性差;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● XML 
                  Schema支持丰富的数据类型,完全能够满足网络应用特别是电子商务的需求,而DTD不支持元素的数据类型,对于属性的类型定义也很有限;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● XML Schema支持名称空间机制,DTD不支持;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● XML 
                  Schema可以针对不同情况分别对整个XML文档或者是文档局部进行验证,而DTD缺乏这种灵活性;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● XML 
                  Schema的语法完全遵循XML规范,可以和DOM技术结合使用,功能强大,而DTD语法自成一体,比较难以学习。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
            class=a14>所以,Schema很有可能取代DTD成为验证XML文档合法性的新标准。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><B>3、Schema的基本元素</B></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>Schema共有8种元素:&lt;Schema&gt;、&lt;ElementType&gt;、&lt;element&gt;、&lt;group&gt;、&lt;AttributeType&gt;、&lt;attribute&gt;、&lt;datatype&gt;和&lt;description&gt;。这些元素对XML中允许的语法和结构进行了定义。注意:必须在使用Schema前对这些元素进行定义。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>1.&lt;Schema&gt;元素</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>Schema文件与其他的XML文档结构非常相似,根元素为&lt;Schema&gt;,表明文档类型:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;?xml version=“1.0”?&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;Schema name=“mySchema”</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
              class=a14>xmlns=“urn:schemas-microsoft-com:xml-data”</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                class=a14>xmlns:dt=“urn:schemas-microsoft-com:datatypes”&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;/Schema&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>其中属性name指定Schema名称,xmlns指定所属名称空间。第一个xmlns指定全文的缺省名称空间,第二个定义了文档中可使用的数据类型的名称空间。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>在XML中引用Schema的方法是在XML文档的根元素中使用名称空间指明Schema文件的URL地址,在URL前要加上“x-schema”前缀:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;?xml version=“1.0”?&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;myElement 
                  xmlns=“x-schema:http://mysite.com/myschema.xml”&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -